Category Archives: windows

Windows Phone 8 and Windows 8: nearly converged

Microsoft has shared details of the forthcoming Windows Phone 8 operating system, which is set to be available on devices before the end of 2012.

The improvements are fundamental, and it seems that Microsoft has finally created a mobile platform that has what it takes, technically, to compete in the modern smartphone market. Winning share from competitors is another thing of course; Nokia’s hoped-for third ecosystem is still tiny relative to Apple iOS or Google Android.

It starts with a change in the core operating system, from Windows CE to Windows 8. The two now share the same kernel, and APIs including Graphics, Audio, Media, File System, Networking, Input, Commerce, Base Types and Sensors. The .NET Framework is also the same. The browser will be Internet Explorer 10.

image

Silverlight was not mentioned, nor was XNA, though we were told that Windows Phone 7.x apps will run on Windows Phone 8.

The change does enable multi-core support at last. Screen resolution can now go up to 1280 x 768, ready for high-definition displays. There is also support for MicroSD storage, a feature which should have been in the first release.

What about Windows RT, the runtime for Metro-style apps in Windows 8? Here is the significant slide from yesterday’s presentation:

devchoices

This looks similar to Windows RT, which also supports three development models: XAML and .NET, native C/C++ code, and HTML5. It is not quite the same though. One thing I did not hear mentioned was contracts, the communication and file sharing system built into Windows 8, though we were promised “sharing under user control”. Nor did we hear about language “projections”, the layer that lets different languages in Windows 8 call the same Windows Runtime APIs. My guess at the moment is that Windows Phone 8 does not include the Windows Runtime, though it does have much in common with it. The further guess is that the full Windows Runtime will come in Windows Phone 9.

In other words, it seems that Windows Phone 8 will not run apps coded for Windows 8, though we were told that if you code to the XAML and .NET model for apps, and the native code model for games, few changes will be needed. XNA developers should consider a change of direction.

Support for C/C++ is a key feature and one that in my view should have been in the first Windows Phone release. One of the things it enables is official support for SQLite, the cross-platform database engine also found in Mac OS X and numerous other platforms. A good day for SQLite, which pleases me as I am a fan.

There will also be C/C++ gaming libraries coming to Windows Phone 8, including Havoc:

havoc

What else is new? Users will like the new Start screen, which unlike the whole of Windows Phone 8 is also coming to existing devices, which will get a half-way upgrade called Windows Phone 7.8 (7 and 8, geddit?). The innovation in the new Start screen is that any tile can be sized by the user to any of the supported sizes. The smallest size allows four tiles across, so you can make your Windows Phone look more like Android or iOS if you so choose.

newstart2

What else? Microsoft is not announcing “end-user features” yet, but did promise Nokia offline maps plus turn by turn directions; digital wallet which can be paired with a secure SIM for NFC (near field communications) payment, and deep support for Skype and VOIP so they “feel like any other call”. Apparently operators will love the way the wallet is implemented, because unlike Android it is hooked to the SIM, but I doubt they will be so keen on Skype.

There is an improved speech engine which duly failed to recognise speech input correctly in the first demo, though it worked after that.

Finally, Microsoft is now talking Enterprise for Windows Phone. There will be bitlocker encryption and enterprise app deployment without Windows store, as well as device management. Think full System Center 2012 integration.

Conclusion? There is disappointment that existing Windows Phone 7 devices are not fully upgradeable, but this is hardly surprising given the changed core. As a platform it is greatly improved, though I would like to see full WinRT included. Despite its poor start, you cannot dismiss this mobile OS as Microsoft continues to use its financial muscle to try and try again.

If it succeeds, will it be too late for Nokia? Maybe, though my hunch is that Microsoft will do what it takes to keep its key mobile partner alive.

Three reasons why Microsoft should make its own Windows RT (ARM) Tablet

Rumours are flying that Microsoft will announce an own-brand Windows RT tablet on Monday.

No comment on the truth of these, but it would be a smart move.

Here are three reasons.

First, the OEM foistware problem. This has got a little better in recent years, but not enough to compete with Apple and its clean machines. The problem is so bad that Microsoft set up its own retail stores to sell  cleaned-up Windows PCs:

Many new PCs come filled with lots of trialware and sample software that slows your computer down—removing all that is a pain, so we do it for you! Every PC the Microsoft Store sells is put on a software diet and performance is tuned to run the best it can.

Microsoft addressed this in Windows Phone by imposing conditions on the extent to which OEMs can customise the user interface or embed their own software. It cannot do this  though with Windows 8 on x86. Manufacturing its own model is one of the few ways Microsoft can get Windows PCs that work as designed into the hands of consumers.

Second, the design problem. Few Windows PCs (if any) are as well designed as Macs or iPads. Manufacturers are geared towards low prices and frequent model changes rather than intensive work on every detail of the design.

Third, Microsoft wants to make a splash with Windows RT, the ARM version, and there is evidence that it is having difficulty communicating its benefits or convincing its OEM partners to get fully behind it.

This third is the biggest issue, which might drive Microsoft to compete with its third-party partners, and requires some explanation. Many people I speak to cannot see the point of Windows RT. This version of Windows 8 will not run x86 applications, so you cannot install any of your old software. Further, there is no way to install desktop applications, so software vendors cannot port their existing applications. They must create new Metro-style apps instead. So why bother with Windows RT?

This reaction is understandable, but unfortunately for Microsoft Windows 8 on x86 has no chance of competing with Apple’s iPad.

Yesterday I attended an Asus event in London where the company was showing its new range of Android tablets and Windows ultrabooks. It was not showing its prototype Windows 8 machines, but I was able to discuss the likely Windows 8 products, All but one is x86, and they will have Wacom digitizers,  which means they will work with a stylus like an old-style Tablet PC, as well as with touch. That will push up the price.

Worse still, these x86 devices, like the Samsung Slate on which I run WIndows 8 Release Preview, will not be enjoyable to use with touch alone. Users will find themselves running applications designed for keyboard and mouse: you can get them to work, but it is frustrating. These devices are not Windows reimagined, they are the old Windows plus a few new tricks.

Too expensive, too hard to use: Windows 8 on x86 is not an iPad-beater.

Windows RT on the other hand is more promising. This does have a desktop, but it will only run Office, Windows Explorer, and whatever other desktop utilities Microsoft chooses to provide. Office aside, you will be forced to use touch-friendly Metro apps most of the time. Microsoft can tune Windows RT by removing legacy components that are no longer needed, because applications which rely on them cannot be installed. You also get the power efficiency of ARM, so a long battery life. Finally, if Microsoft has done it right Windows RT should be more secure, since the entire operating system is locked down.

Windows RT is critical to Microsoft and if it has to make its own hardware in order to market it properly, then it should do so.

Microsoft, Windows 8, and the Innovator’s Dilemma (or, why you hate Windows 8)

One thing is obvious from the immediate reaction to Windows 8 Release Preview. Most of those who try it do not like it. It is a contrast to the pre-release days of Windows 7, when there was near-consensus that, whatever you think of Windows overall, the new edition was better than its predecessors.

Why would a company with huge resources and the world’s most popular desktop operating system – 600 million Windows 7 licenses so far, according to OEM VP Steven Guggenheimer – create a new edition which its customers do not want?

Microsoft under Steve Ballmer is a somewhat dysfunctional company – too many meetings, says ex-softie Brandon Watson – but there is still a wealth of talent there. Specifically, Windows President Steven Sinofsky has proven his ability, first with Microsoft Office 2007 which beat off the challenge from OpenOffice.org, and next with Windows 7, which if it repeated the disappointment of Windows Vista would have damaged the company severely.

If it is not incompetence, then, what is it?

In this context, Clayton M. Christensen’s 1997 classic The Innovator’s Dilemma – When new technologies cause great firms to fail is a good read. Chapter one is here. Christensen studied the hard drive market, asking why sixteen of the seventeen companies which dominated the industry in 1976 had failed or been acquired by 1995, replaced by new entrants to the market. Christensen argues that these firms failed because they listened too much to their customers. He says that delivering what your customers want is mostly a good idea, but occasionally fatal:

This is one of the innovator’s dilemmas: Blindly following the maxim that good managers should keep close to their customers can sometimes be a fatal mistake.

Specifically, hard drive companies failed because new entrants had physically smaller hard drives that were more popular. The reason the established companies failed was because their customers had told them that physically smaller drives was not what they wanted:

Why were the leading drive makers unable to launch 8-inch drives until it was too late? Clearly, they were technologically capable of producing these drives. Their failure resulted from delay in making the strategic commitment to enter the emerging market in which the 8-inch drives initially could be sold. Interviews with marketing and engineering executives close to these companies suggest that the established 14-inch drive manufacturers were held captive by customers. Mainframe computer manufacturers did not need an 8-inch drive. In fact, they explicitly did not want it: they wanted drives with increased capacity at a lower cost per megabyte. The 14-inch drive manufacturers were listening and responding to their established customers. And their customers–in a way that was not apparent to either the disk drive manufacturers or their computer-making customers–were pulling them along a trajectory of 22 percent capacity growth in a 14-inch platform that would ultimately prove fatal.

Are there any parallels with what is happening in computer operating systems today? I think there are. It is not exact, given that tablet pioneer Apple cannot be described as a new entrant, though Google with Android is a closer match. Nevertheless, there is a new kind of operating system based on mobility, touch control, long battery life, secure store-delivered apps, and cloud connectivity, which is eating into the market share for Windows. Further, it seems to me that for Microsoft to do the kind of new Windows that its customers are asking for, which Christensen calls a “sustaining innovation”, like Windows 7 but faster, more reliable, more secure, and with new features that make it easier to use and more capable, would be a trajectory of death. Existing customers would praise it and be more likely to upgrade, but it would do nothing to stem the market share bleed to Apple iPad and the like. Nor would it advance Microsoft’s position in smartphones.

Should Microsoft have adapted its Windows Phone OS for tablets two years ago, or created Metro-style Windows as an independent OS while maintaining Windows desktop separately? YES say customers infuriated by the full-screen Start menu. Yet, the dismal sales for Windows Phone show how difficult it is to enter a market where competitors are firmly entrenched. Would not the same apply to Windows Metro? Reviewers might like it, developers might like it, but in the shops customers would still prefer the safety of iPad and Android and their vast range of available apps.

You begin to see the remorseless logic behind Windows 8, which binds new and old so tightly that you cannot escape either. Don’t like it? Stick with Windows 7.

Microsoft will not say this, but my guess is that customer dissatisfaction with Windows 8 is expected. It is the cost, a heavy cost, of the fight to be a part of the next generation of client computers. It is noticeable though that while the feedback from users is mostly hostile, Microsoft’s OEM partners are right behind it. They do not like seeing their business munched by Apple.

The above does not prove that Microsoft is doing the right thing. Displeasing your customers, remember, is mostly the wrong thing to do. Windows 8 may fail, and Microsoft, already a company with shrinking influence, may go into an unstoppable decline. Bill Gates was right about the tablet taking over from the laptop, history may say, but Microsoft was incapable of making the radical changes to Windows that would make it work until it was too late.

Give credit for this though: Windows 8 is a bold move, and unlike the Tablet PCs that Gates waved around ten years ago, it is an OS that is fit for purpose. Sinofsky’s goal is to unify the smartphone and the tablet, making a new mobile OS that users will enjoy while also maintaining the legacy desktop and slotting in to enterprise management infrastructure. I admire his tenacity in the face of intense protest, and I am beginning to understand that foresight rather than stupidity underlies his efforts.

Windows Vista designer pops up to explain and defend Windows 8

I wrote a first look for Windows 8 Release Preview for The Register which prompted, as you would expect, a barrage of comments from Reg users, most expressing distaste for Redmond’s latest. Buried on page three of the comments though is this one which is worth calling out, since it explains some of the thinking behind Aero Glass in Windows Vista and how that same thinking is expressed in the Metro design – though note that the user mdc (who is that?) says in a later comment that he has “moved into a different field entirely (photography)” so is not responsible for Metro or Windows 8.

image 

Anyway, mdc observes that Microsoft has been working for years on the idea of a “content-centric” user interface, one where the surrounding chrome disappears so that content is king. In this respect, Glass can be seen as a move towards the Metro immersive UI:

The initial premise for Glass (as it was called back then, the Aero UX sprung up around the Glass model) was not – as most people believe – to provide eye candy for the end user. Instead, it was an attempt to pull the window chrome away from the content and make it as unobtrusive as possible. The whole point of the glass effect itself was to allow the end user to make better use of their screen real-estate by allowing them to see content beneath the active window.

Glass was not radical though, and did not change the model of multiple overlapping windows. According to mdc though, something more revolutionary was considered for Vista:

Some of my other concepts promoted a VERY different approach to the user experience, much more in line with what is seen today in Windows 8. In fact, the premise for the shift in the desktop paradigm goes back as far as the early Blackcomb concepts first demoed by the MSN services division in 1999; it has ALWAYS been felt that the desktop itself is a rather clunky way of providing content to the end user, which is – after all – the purpose of computing devices, be they traditional desktops, laptops, phones, or even set-top boxes. Windowing systems were designed to allow users to work on multiple pieces of data in quick succession, and yet over the years usability studies have found that users rarely manipulate more than 2 documents simultaneously.

In the end the idea was rejected, partly because of the work involved, and partly because Microsoft’s Jim Allchin, among others, felt that the familiarity of the Windows user interface was an important selling point versus the competition.

Apparently we  are wrong to imagine that Windows 8 is based on the Windows Phone design:

While some have suggested that Windows 8’s interface is "touch-only" or "based on Windows Phone 7", that couldn’t be further from the truth. Windows Phone 7 was instead a pilot program – in a relatively low risk sector – for the designs originally suggested for Blackcomb, which have now found their way into Windows 8. At the time, touch interfaces hadn’t even been conceived of – remember, back then touch sensitive screens were Resistive nasties that required at best a stylus, or at worst jabbing at them hard with a finger or pen.

The fact is that Metro just happened to be easily accessible for touch devices, and that has been touted as one of its benefits; it is NOT, and never has been, the original aim of the design. The aim of the design is exactly the same as Aero was – to take the chrome away from the content, and allow the user to focus on what they’re doing rather than unnecessary clutter. A perfect example of this is internet Explorer on Metro; in its default state, all you see is a webpage; chrome CAN be pulled up if the user requires, but is otherwise absent. The majority of Metro applications are like this – in fact it’s part of the Metro UX specifications.

and he adds:

Personally, I see Metro as a good thing; it allows me to do my work without distraction, and I’m just disappointed that I wasn’t the one who did the design work for it this time around.

Windows 8 Metro is not just about touch then: it is a reshaping of the user interface to put content first.

Huge icons in Windows 8 Metro

This is the SkyDrive Metro-style app running on my 1280 x 1024 desktop, in its default view. Note that each icon is 185 x 211 px. The actual title of each document is in relatively small text though still readable.

image

On my slate I only get two rows per screen:

image

You can set it to Detail view which gives nine rows on the desktop display and six rows on the slate.

Touch-friendly, undoubtedly, but is this really best-practice design? What if you have lots of documents in a folder? I suppose it is just swipe-swipe-swipe, not helped by the fact that the SkyDrive app cannot be searched:

image

nor is there any way that I can see to sort the documents, say by last modified.

Of course you can do all these things in the touch-hostile desktop application.

Both the app and Windows 8 itself are pre-release so may improve, but I would like to see a smarter approach to browsing and selecting documents in Windows 8 Metro-style.

For more on Windows 8, see my review on The Register.

Windows 8 Release Preview now available, Adobe Flash included, finished version expected August 2012

Microsoft has made the Release Preview of Windows 8 available to download. So what’s new?

image

The press release:

  • Confirms that a “touch-friendly and power-optimized Adobe Flash Player” is integrated into Internet Explorer 10
  • Announces new Family Safety features
  • States that IE10 is “Do not track” by default
  • Announces new apps and improvements to existing ones

All of which will come as a disappointment to those hoping for any sort of change of direction following a mixed-to-negative reception for the Consumer Preview.

Windows chief Steven Sinofsky says:

If the feedback and telemetry on Windows 8 and Windows RT match our expectations, then we will enter the final phases of the RTM process in about 2 months.

My guess that feedback along the lines of “Bring back the Start menu” will not count as an obstacle.

Review: Digital Wars by Charles Arthur

Subtitled Apple, Google, Microsoft and the battle for the internet, this is an account by the Guardian’s Technology Editor of the progress of three tech titans between 1998 and the present day. In 1998, Google was just getting started, Apple was at the beginning of its recovery under the returning CEO Steve Jobs, and Microsoft dominated PCs and was busy crushing Netscape.

Here is how the market capitalization of the three changed between 1998 and 2011:

  End 1998 Mid 2011
Apple $5.4 billion $346.7 billion
Google $10 million $185.1 billion
Microsoft $344.6 billion $214.3 billion

This book tells the story behind that dramatic change in fortunes. It is a great read, written in a concise, clear and engaging style, and informed by the author’s close observation of the technology industry over that period.

That said, it is Apple that gets the best quality coverage here, not only because it is the biggest winner, but also because it is the company for which Arthur feels most affinity. When it comes to Microsoft the book focuses mainly on the company’s big failures in search, digital music and smartphones, but although these failures are well described, the question of why it has performed so badly is not fully articulated, though there is reference to the impact of antitrust legislation and an unflattering portrayal of CEO Steve Ballmer. The inner workings of Google are even less visible and if your main interest is the ascent of Google you should look elsewhere.

Leaving aside Google then, describing the success of Apple alongside Microsoft’s colossal blunders makes compelling reading. Arthur is perhaps a little unfair to Microsoft, because he skips over some of the company’s better moments, such as the success of Windows 7 and Windows Server, or even the Xbox 360, though he would argue I think that those successes are peripheral to his theme which is internet and mobile.

The heart of the book is in chapters four, on digital music, and five, on smartphones. The iPod, after all, was the forerunner of the Apple iPhone, and the iPhone was the forerunner of the iPad. Microsoft’s famous ecosystem of third-party hardware partners failed to compete with the Ipod, and by the time the company got it mostly right by abandoning its partners and creating the Zune, it was too late.

The smartphone story played out even worse for Microsoft, given that this was a market where it already had significant presence with Windows Mobile. Arthur describes the launch of the iPhone, and then recounts how Microsoft acquired a great mobile phone team with a company called Danger, and proceeded to destroy it. The Danger/Pink episode shows more than any other how broken is Microsoft’s management and mobile strategy. Danger was acquired in February 2008. There was then, Arthur describes, an internal battle between the Windows Mobile team and the Danger team, won by the Windows Mobile team under Andy Lees, and resulting in 18 months delay while the Danger operating system was rewritten to use Windows CE. By the time the first new “Project Pink” phone was delivered it was short on features and no longer wanted by Verizon, the partner operator. The “Kin” phone was on the market for only 48 days.

The Kin story was dysfunctional Microsoft at its worst, a huge waste of money and effort, and could have broken a smaller company. Microsoft shrugged it off, showing that its Windows and Office cash cows continue to insulate it against incompetence, probably too much for its own long-tem health.

Finally, the book leaves the reader wondering how the story continues. Arthur gets the significance of the iPad in business:

Cook would reel off statistics about the number of Fortune 500 companies ‘testing or deploying’ iPads, of banks and brokers that were trying it, and of serious apps being written for it. Apple was going, ever so quietly, after the business computing market – the one that had belonged for years to Microsoft.

Since he wrote those words that trend has increased, forming a large part of what is called Bring Your Own Device or The Consumerization of IT. Microsoft does have what it hopes is an answer, which is Windows 8, under a team led by the same Steven Sinofsky who made a success of Windows 7. The task is more challenging this time round though: Windows 7 was an improved version of Windows Vista, whereas Windows 8 is a radical new departure, at least in respect of its Metro user interface which is for the Tablet market. If Windows 8 fares as badly against the iPad as Plays for Sure fared against the iPod, then expect further decline in Microsoft’s market value.

 

Microsoft re-imagining client computer management for Windows 8

I am surprised this post by Microsoft Program Manger Jeffrey Sutherland has not attracted more attention. It describes enterprise app deployment to Windows on ARM devices, now officially called Windows RT devices. These devices run Windows 8 compiled for ARM, which means high efficiency but a greater degree of lockdown than with x86. In particular, desktop applications cannot be installed, though Microsoft Office is pre-installed, but without Outlook.

The interesting aspect is that what Sutherland describes is not just a way of managing Windows RT computers, but a new approach which fits with the trend towards BYOD – Bring Your Own Device – where employees use their own devices for work as well as at home.

Quick reminder: in the old model, Windows clients are managed by being joined to a domain, controlled by Active Directory. Once domain-joined, the machine is subject to group policy administered by the domain, a fine-grained system for configuring settings and deploying applications.

Windows RT devices cannot be joined to a domain. However, there is a new option in Control Panel to “connect to your company network”.

image

Note that the user must still be joined to the Active Directory domain. Since this is now joining the machine to the network and subjecting it to a degree of centralised control, Windows RT network joining is conceptually not far distant from domain joining, but it is a completely new approach.

The next step is to install a management agent which communicates with the Enterprise network.

Once network-joined and with the agent installed, the machine:

  • Is subject to a set of security policies covering password and logon rules (eg whether to allow picture logons)
  • Is audited for antivirus and antispyware status, drive encryption and auto-update; network connection can be refused if not compliant
  • Will lock encrypted drives if wrong password is entered repeatedly
  • can automatically set up a VPN profile for network access
  • enables access to a self-service portal (SSP), operated by the enterprise, for app deployment
  • can be deactivated which renders all SSP-deployed apps inoperable

The SSP can deploy custom or third-party Metro apps, but can also include links to the Windows store and web links to web application.

Microsoft envisages the above tools being used both for company-owned and employee-owned Windows RT devices. One advantage over domain-joining is that it is less intrusive to the user. When you domain-join a Windows PC, it creates a new user profile on the machine, which can be a nuisance if the user wants to use the machine for non-work purposes; they have to either switch profiles or use the work profile for home as well.

Metro-style apps are inherently better suited for intermingling business and home, since they are isolated from one another and from the operating system.

This new approach is not only for Windows RT machines but works on x86 as well:

We do support this functionality on x86. However, x86 also has a load more management functionality through Domain membership, Group Policy and existing tools like System Center.

says Microsoft’s Iain McDonald in the comments.

Although it is true that the old domain-joined model offers a higher degree of control, Windows RT should have security advantages thanks to the lockdown preventing desktop applications from being installed, which will restrict malware.

Windows computer domains are not going away, but BYOD and the trend towards cloud computing will gradually reduce the number of domain-joined machines. For example, a small business using Small Business Server will usually domain-join all its machines, but a small business using Office 365 will usually not do so.

I should add that although the approach outlined above is great for simplicity and flexibility, the fatal flaw for many organisations will be its dependence on Metro-style apps. If you have any Windows desktop apps to deploy, then it will not work.

Microsoft results: old business model still humming, future a concern

Microsoft has published its latest financials. Here is my at-a-glance summary:

Quarter ending March 31st 2012 vs quarter ending March 31st 2011, $millions

Segment Revenue Change Profit Change
Client (Windows + Live) 4624 +177 2952 +160
Server and Tools 4572 +386 1738 +285
Online 707 +40 -479 +297
Business (Office) 5814 +485 3770 +457
Entertainment and devices 1616 -319 -229 -439

What is notable? Well, Windows 7 is still driving Enterprise sales, but more striking is the success of Microsoft’s server business. The company reports “double-digit” growth for SQL Server and more than 20% growth in System Center. This seems to be evidence that the company’s private cloud strategy is working; and from what I have seen of the forthcoming Server 8, I expect it to continue to work.

Losing $229m in entertainment and devices seems careless though the beleaguered Windows Phone must be in there too. Windows Phone is not mentioned in the press release.

Overall these are impressive figures for a company widely perceived as being overtaken by Apple, Google and Amazon in the things that matter for the future: mobile, internet and cloud.

At the same time, those “things that matter” are exactly the areas of weakness, which must be a concern.

A bug in embedded Internet Explorer in Windows 8

Long-time readers of this site may remember that I did some work on embedding Internet Explorer, and its core rendering component MSHTML, in .NET applications. The code is still online.

I noticed that it does not work properly in Windows 8 Consumer Preview. Specifically, plain HTML works but you can no longer apply external CSS stylesheets. I reported the bug here (sign-in required).  I did not use my own component, but rather the standard WebBrowser control. I have appended the code to reproduce the bug in case you cannot see the report.

Microsoft has now responded as follows:

We were able to validate your feedback. However, based on the limited impact this bug may have, we will not be able to address this bug during this release.

This status is also known as “won’t fix” and gives me pause for thought. How many other little bugs are there which Microsoft is not fixing, but which break a certain number of applications?

If you are one of those few people using embedded IE in an application, I suggest checking Windows 8 compatibility now to avoid any unpleasant surprises.

Perhaps it would be preferable to use WebKit or Gecko (Mozilla) rather than IE in any case. There is a thread on stackoverflow that discusses some options. OpenWebKitSharp looks promising.

Code to reproduce the bug:

Create a Windows Forms application in C# in VS 11. Add a Webbrowser control and two buttons, and an OpenFileDialog control. Also add a reference to the COM library Microsoft HTML Object Library.

Here is the code for the first button that loads some HTML:

string sHTML = "<html><head><title>Some title</title></head><body><p>Some text</p></body></html>";
this.webBrowser1.DocumentText = sHTML;

Here is the code for the second button that applies a stylesheet:

openFileDialog1.Filter = "CSS files|*.css";
if (openFileDialog1.ShowDialog() == DialogResult.OK)  {
mshtml.HTMLDocument doc = (mshtml.HTMLDocument)this.webBrowser1.Document.DomDocument;
doc.createStyleSheet(openFileDialog1.FileName);
}

This is the stylesheet I am applying:

body
{
    font-family: Arial;
    font-size: 18pt;
}

To reproduce, run the application. Click the first button to load the HTML. Then click the second button to apply the stylesheet. In Windows 7 and earlier the stylesheet is applied. In Windows 8, the stylesheet is not applied.

UPDATE: It seems this bug was fixed in Windows 8 RTM, despite the “will not fix” designation. Good.