Category Archives: microsoft

Adobe Flash in Windows 8 Metro, but not technically a plug-in

Today’s Windows 8 rumour is that Adobe Flash will be baked into Internet Explorer 10 in Windows 8, not only in the desktop edition but also in Metro.

Until this is confirmed by Microsoft, it is only a rumour. However, it seems likely to me. The way this rumour mill works is:

  • Some journalists and book authors working closely with Microsoft already have information on Windows 8 that is under non-disclosure.
  • Some enthusiast sites obtain leaked builds of Windows 8 and poke around in them. Unlike new Mac OS X releases, Windows builds are near-impossible to keep secure because Microsoft needs to share them with hardware partners, and mysteriously copies turn up on on the Internet.
  • When an interesting fact is leaked, this allows those journalists and book authors who already have the information to write about it, since most non-disclosure agreements allow reporting on what is already known from other sources.

That is my understanding, anyway. So when you read on WinUnleaked.tk that Flash is in IE10 you may be sceptical; but when Paul Thurrott and Rafael Rivera report the same story in more detail, you can probably believe it.

Back to the main story: presuming this is accurate, Microsoft has received Flash source code from Adobe and integrated it into IE10, in a similar manner to what Google has done with Flash in Chrome. This means that Flash in IE10 is not quite a plug-in. However, on the Metro side the inclusion of Flash is apparently a compatibility feature:

So, Microsoft has extended the Internet Explorer Compatibility View list to include rules for popular Flash-based web sites that are known to meet certain criteria. That is, Flash is supported for only those popular but legacy web sites that need it. This feature is not broadly available for all sites.

say Thurrott and Rivera, though I presume this only applies to the Metro IE10 rather than the desktop version.

Does this make sense? Not altogether. Oddly, while I have heard plenty of criticism of Windows 8 Consumer Preview, I have not heard many objections to the lack of Flash in Metro IE. Since Apple does not support Flash on iOS, many sites already provide Flash-free content for tablet users. Further, on the x86 version of Windows 8 there is an easy route to Flash compatibility: just open the site in the desktop browser.

That said, there is still plenty of Flash content out there and being able to view it in Windows 8 is welcome, especially if you can make your own edits to the compatibility list to get Flash content on less well-known sites. My guess is that Microsoft wants to support Flash for the same reason Android devices embraced it: a tick-box feature versus Apple iOS.

One further thought: this is a sad moment for Silverlight, if Microsoft is supporting Flash but not Silverlight on the Metro side of Windows 8.

Making sense of Microsoft’s Windows 8 strategy

Here are two things we learn from Jensen Harris’s post of 18 May.

image

First, Microsoft cares more about WinRT and Metro, the new tablet-oriented user interface in Windows 8, than about the desktop. In the section entitled Goals of the Windows 8 user experience, Harris refers almost exclusively to WinRT apps. Further, he asks the question: what is the role of desktop in Windows 8?

It is pretty straightforward. The desktop is there to run the millions of existing, powerful, familiar Windows programs that are designed for mouse and keyboard. Office. Visual Studio. Adobe Photoshop. AutoCAD. Lightroom. This software is widely-used, feature-rich, and powers the bulk of the work people do on the PC today.

Does that mean the desktop is for legacy, like XP Mode in Windows 7? Harris denies it:

We do not view the desktop as a mode, legacy or otherwise—it is simply a paradigm for working that suits some people and specific apps.

He adds though that “We think in a short time everyone will mix and match” desktop and Metro apps – though he does not call them Metro apps, he calls them “new Windows 8 apps.”

Second, Microsoft considers that the poor reaction to the Consumer Preview can be fixed by tweaking the detail rather than by changing the substance of how Windows 8 is designed.

But fundamentally, we believe in people and their ability to adapt and move forward. Throughout the history of computing, people have again and again adapted to new paradigms and interaction methods—even just when switching between different websites and apps and phones. We will help people get off on the right foot, and we have confidence that people will quickly find the new paradigms to be second-nature.

In fact, this post is peppered with references to negative reactions for previous versions of Windows. Microsoft is presuming that this is normal and that history will repeat:

Although some people had critical reactions and demanded changes to the user interface, Windows 7 quickly became the most-used OS in the world.

This is revisionist, as I am sure Harris and his team are aware. The reaction to Windows 7 was mainly positive, from the earliest preview on. It was better than Windows Vista; it was better than Windows XP.

Windows Vista on the other hand had a troubled launch and was widely disliked. User Account Control and its constant approval prompts was part of the problem, but more serious was that OEMs released Vista machines with underpowered hardware further slowed down by foistware and in many cases it Vista worked badly out of the box. You could get Vista working nicely with sufficient effort, but many just stayed with Windows XP.

The failure of Vista was damaging to Microsoft, but mitigated in that most users simply skipped a version and waited for Windows 7. The situation now is more serious for Microsoft, both because of the continuing popularity of the Mac and the rise of tablets, especially Apple’s iPad.

It is precisely because of that threat that Microsoft is making such a big bet on Metro and WinRT. The reasoning is that while shipping a build of Windows that improves on 7 would please the Microsoft platform community, it would be ineffective in countering the iPad. It would also fail to address problems inherent in Windows: lack of isolation between applications, and between applications and the operating system; the complexity of application installs and the difficulty of troubleshooting them when they go wrong; and the unsuitability of Windows for touch control.

There is also a hint in this most recent post that classic Windows uses too much power:

Once we understood how important great battery life was, certain aspects of the new experience became clear. For instance, it became obvious early on in the planning process that to truly reimagine the Windows experience we would need to reimagine apps as well. Thus, WinRT and a new kind of app were born.

Another key point: Microsoft’s partnership with hardware manufacturers has become a problem, since they damage the user experience with trialware and low quality utilities. The Metro-style side of Windows 8 fixes that by offering a locked-down environment. This will be most fully realised in Windows RT, Windows on ARM, which only allows WinRT apps to be installed.

Microsoft decided that only a new generation of Windows, a “reimagining”, would be able to compete in the era of BYOD (Bring Your Own Device).

One thing is for sure: the Windows team under Steven Sinofsky does not lack courage. They have form too. Many of the key players worked on the Office 2007 Ribbon UI, which was also controversial at the time, since it removed the familiar drop-down menus that had been in every previous version of Office. They stuck by their decision, and refused to add an option to restore the menus, thereby forcing users to use the ribbon even if they disliked it. That strategy was mostly successful. Users got used to the ribbon, and there was no mass refusal to upgrade from Office 2003, nor a substantial migration to OpenOffice which still has drop-down menus.

I have an open mind about Windows 8. I see the reasoning behind it, and agree that it works better on a real tablet than on a traditional PC or laptop, or worst of all, a virtual machine. Harris says:

The full picture of the Windows 8 experience will only emerge when new hardware from our partners becomes available, and when the Store opens up for all developers to start submitting their new apps.

Agreed; but it also seems that Windows 8 will ship with a number of annoyances which at the moment Microsoft looks unlikely to fix. These are mainly in the integration, or lack of it, between the Metro-style UI and the desktop. I can live without the Start menu, but will miss the taskbar with its guide to running applications and its preview thumbnails; these remain in the desktop but do not include Metro apps. Having only full-screen apps can be irritation, and I wonder if the commitment to the single-app “immersive UI” has been taken too far. When working in Windows 8 I miss the little clock that sits in the notification area; you have to swipe to see the equivalent and the fast and fluid UI is making me work harder than before.

I believe Microsoft will listen to complaints like these, but probably not until Windows 9. I also believe that by the time Windows 9 comes around the computing landscape will look very different; and the reception won by Windows 8 will be a significant factor in how it is shaped.

Microsoft appeals to Windows 8 Metro developers not to stray from the official API

Microsoft’s John Hazen has posted on the official Building Windows 8 blog about the security and reliability principles in the Metro platform in Windows 8. Hazen explains how apps are installed from the Windows store, use contracts to interact with the operating system, and have to ask user consent for access to device capabilities such as the webcam or GPS, or to access user data such as documents and music.

The most intriguing part of the document comes when Hazen appeals to developers to stick to the API that is referenced in the official Windows 8 Metro SDK:

Resist the temptation to find ways to invoke APIs that are not included in the SDK. This ultimately undermines the expectations that customers have for your app. APIs that are outside the SDK are not guaranteed to work with Metro style apps either in this release or in future releases, so you may find that your app doesn’t function properly for all customers. These APIs may also not function properly in the async environment that is foundational to Metro style app design. Finally these APIs may undermine customer confidence by accessing resources or data that Metro style apps would not normally interact with. For all these reasons, we have provided checks in the Windows App Certification Kit to help you catch places where you might have inadvertently called interfaces not exposed by the SDK.

While it is possible to hide or obfuscate calls to APIs that are not included in the SDK, this is still a violation of customer expectations and Store policy. In the end, we have created this platform to help developers like you to build amazing apps that work well with the system and with other apps and devices to delight customers. Working with the Metro style SDK is fundamental to your realizing that goal.

The worrying aspect of this appeal to developers to play nice is Hazen’s admission that crafty developers may find ways to escape the Metro sandbox, undermining both the security and the privacy protection built into Metro. The main protection against this is such such an app should be blocked from the Windows Store, but can Microsoft check with 100% confidence that no hidden or obfuscated API calls exist? How effective is the Metro sandbox?

My guess is that the danger will be greater on the x86 version of Windows 8 than in Windows RT, which is locked down to prevent any third-party desktop applications from being installed. Nevertheless, a large part of the non-Metro Windows API must exist in Windows RT, to support the desktop, Explorer and Microsoft Office.

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.

 

System Center 2012, Windows 8 and the BYOD revolution

Yesterday I attended a UK Microsoft MMS catch-up session in Manchester, aimed at those who could not make it to Las Vegas last month. The subject was the new System Center 2012, and how it fits with Microsoft’s concept of the private cloud, and its strategy for supporting Bring Your Own Device (BYOD), the proliferation of mobile devices on which users now expect to be able to receive work email and do other work.

The session, I have to say, was on the dry side; but taken on its own terms System Center 2012 looks good. I was particularly interested in how Microsoft defines “private cloud” versus just a bunch of virtual machines (JBVM?). Attendees where told that a private cloud has four characteristics:

  • Pooled resources: an enterprise cloud, not dedicated servers for each department.
  • Self service: users (who might also be admins) can get new server resources on demand.
  • Elasticity: apps that scale on demand.
  • Usage based: could be charge-back, but more often show-back, the ability to report on what resources each user is consuming.

Microsoft’s virtualization platform is based on Hyper-V, which we were assured now represents 28% of new server virtual machines, but System Center has some support for VMWare and Citrix Xen as well.

System Center now consists of eight major components:

  • Virtual Machine Manager: manage your private cloud
  • Configuration Manager (SCCM): deploy client applications, manage your mobile devices
  • Operations Manager: monitor network and application health
  • Data Protection Manager: backup, not much mentioned
  • Service Manager: Help desk and change management, not much mentioned
  • Orchestrator: a newish product acquired from Opalis in 2009, automates tasks and is critical for self-service
  • App Controller: manage applications on your cloud
  • Endpoint protection: anti-malware, praised occasionally but not really presented yesterday

I will not bore you by going through this blow by blow, but I do have some observations.

First, in a Microsoft-platform world System Center makes a lot of sense for large organisations who do not want public cloud and who want to move to the next stage in managing their servers and clients without radically changing their approach.

Following on from that, System Center meets some of the requirements Microsoft laid out as the start of the session, but not all. In particular, it is weak on elasticity. Microsoft needs something like Amazon’s Elastic Beanstalk which lets you deploy an application, set a minimum and maximum instance count, and have the platform handle the mechanics of load balancing and scaling up and down on demand. You can do it on System Center, we were told, if you can write a bunch of scripts to make it work. At some future point Orchestrator will get auto scale-out functionality.

Second, it seems to me unfortunate that Microsoft has two approaches to cloud management, one in System Center for private cloud, and one in Azure for public cloud. You would expect some differences, of course; but looking at the deployment process for applications on System Center App Controller it seems to be a different model from what you use for Azure.

Third, System Center 2012 has features to support BYOD and enterprise app stores, and my guess is that this is the way forward. Mobile device management in Configuration Manager uses a Configuration Manager Client installed on the device, or where that is not possible, exploits the support for Exchange ActiveSync policies found in many current smartphones, including features like Approved Application List, Require Device Encryption, and remote wipe after a specified number of wrong passwords entered.

The Software Center in Configuration Manager lets users request and install applications using a variety of different mechanisms under the covers, from Windows Installer to scripts and virtualised applications.

Where this gets even more interesting is in the next version of InTune, the cloud-based PC and device management tool. We saw a demonstration of a custon iOS app installed via self-service from InTune onto an iPhone. I presume this feature will also come to Software Center in SCCM though it is not there yet as far as I aware.

You can also see this demonstrated in the second MMS keynote here – it is the last demo in the Day 2 keynote.

image

InTune differs from System Center in that it is not based on Windows domains, though you can apply a limited set of policies. In some respects it is similar to the new self-service portal which Microsoft is bringing out for deploying Metro apps to Windows RT (Windows on ARM) devices, as described here.

This set me thinking. Which machines will be easier to manage in the enterprise, the Windows boxes with their group policy and patch management and complex application installs? Or the BYOD-style devices, including Windows RT, with their secure operating systems, isolated applications, and easy self-service app install and removal?

The latter approach seems to me a better approach. Of course most corporate apps do not work that way yet, though app virtualisation and desktop virtualisation helps, but it seems to me that this is the right direction for corporate IT.

The implication is two-fold. One is that basing your client device strategy around iPads makes considerable sense. This, I imagine, is what Microsoft fears.

The other implication is that Windows RT (which includes Office) plus Metro apps is close to the perfect corporate client. Microsoft VP Steven Sinofsky no doubt gets this, which is why he is driving Metro in Windows 8 despite the fact that the Windows community largely wants Windows 7 + and not the hybrid Metro and desktop OS that we have in Windows 8.

Windows 8 on x86 will be less suitable, because it perpetuates the security issues in Windows 7, and because users will tend to spend their time in familiar Windows desktop applications which lack the security and isolation benefits of Metro apps, and which will be hard to use on a tablet without keyboard and mouse.

A little colour returns to Visual Studio 11 – but not much

Microsoft has responded to user feedback by re-introducing colour into the Visual Studio 11 IDE. The top request in the official feedback forum was for more colour in the toolbars and icons.

image

Now Microsoft’s Monty Hammontree, who is Director of User Experience, Microsoft Developer Tools Division – it is interesting that such a post exists – has blogged about the company’s response:

We’ve taken this feedback and based on what we heard have made a number of changes planned for Visual Studio 11 RC.

That said, developers expecting a return to the relatively colourful icons in Visual Studio 2010 will be disappointed. Hammontree posted the following side by side image:

image

This shows Visual Studio 10 first, then the beta, and then the forthcoming release candidate. Squint carefully and you can see a few new splashes of colour.

image

You can also see the the word toolbox is no longer all upper case, another source of complaint.

Hammontree explains that colour has been added to selected icons in order to help distinguish between common actions, differentiate icons within the Solution Explorer, and to reintroduce IntelliSense cues.

Did Microsoft do enough? Some users have welcomed the changes:

You have to appreciate a company that listens to there [sic] users and actually makes changes based off feedback. You guys rock!

while others are doubtful:

with respect, I fear that the changes are token ones and that whoever’s big idea this monochromatic look is, is stubbornly refusing to let go of it in spite of the users overwhelming rejection of it.

or the wittier:

I’m glad you noticed all the feedback about the Beta, when people were upset that you chose the wrong shade of gray.

While the changes are indeed subtle, they are undoubtedly an improvement for those hankering for more colour.

Another issue is that by the time a product hits beta in the Microsoft product cycle, it is in most cases too late to make really major changes. The contentious Metro UI in Windows 8 will be another interesting example.

That said, there are more important things in Visual Studio 11 than the colour scheme, despite the attention the issue has attracted.

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.

Nokia Lumia strategy needs time, may not have it

A quick comment on Nokia’s dismal results for the first quarter of 2012. Sales are down 26% quarter on quarter; Smartphone sales down 38% despite the introduction of the Lumia Windows Phone in Europe. Negative operating margin, heavy losses.

The reasons given?

  • competitive industry dynamics continuing to negatively affect the Smart Devices and Mobile
    Phones business units;
  • timing, ramp-up, and consumer demand related to new products; and
  • the macroeconomic environment.

Translation: the new Lumias are failing to compete effectively against Apple iPhone and Google Android devices.

I have a Lumia 800 and like it increasingly. It is elegant and nice to hold, it works well, and Nokia Drive makes an excellent SatNav, to mention three good things.

image

Nevertheless, I am not surprised by the poor sales. When I first got the Lumia its battery life was poor; it is still not great, but was much improved by the last firmware update I installed (1600.2487.8107.12070), for which I had to use a manual process.

There was also an aggravating problem where if the phone ran out of power completely, it could not easily be charged. In other words, it was nearly a brick, though I managed to coax it back to life by repeatedly reconnecting the charger. The problem seems to be fixed with the latest update.

I do not think my experience is untypical, and can see that while in one sense it is a great phone, from another perspective it qualifies as buggy and problematic; I expect returns were above average.

The problems are fixable, but with hindsight Nokia should have worked that bit harder to ensure a trouble-free launch. The US launch of the Lumia 900 may be better since the company has had a little more time to improve quality, though there was a data connection bug.

Everything to prove

The bigger problem is that Windows Phone has everything to prove; iPhone and Android dominate the market, so the Lumia has to be sufficiently better to win customers over to a braver choice.

App availability is another factor. Windows Phone is not on the radar for most app vendors – because its market share is too small.

Despite a few lapses, I have been impressed with what I have seen of Nokia’s Windows Phone efforts. Nokia’s marketing and developer evangelism has been far better than Microsoft’s. At Mobile World Congress in February Microsoft had a large stand but was mainly doing silly “smoked by Windows Phone” demos, while Nokia’s stand was humming with activity.

Microsoft more to blame than Nokia

I also incline to the view that Microsoft is more to blame than Nokia – except insofar as Nokia could have made a different choice of partner.

Windows Phone 7 was nicely designed but badly launched, more than a year before the Lumia appeared. The launch hardware was uninteresting and Microsoft failed to line up strong operator or retail support for its devices. Microsoft focused on quantity rather than quality in the Windows Phone app store, resulting in a mountain of rubbish there.

The pace of development in the Windows Phone 7 operating system has also been rather slow, but the issues are more to do with marketing and partner support than with the OS itself.

Nokia has gone some way towards fixing the issues. Its devices are better, and so is its marketing. It is unlikely though that Nokia can succeed unless Microsoft also ups its smartphone game.

The future

Microsoft’s strategy for Windows Phone and Windows 8, as far as I am aware, does make some sense. We will see convergence of the operating system, improved tool support with an option for native code development, and a coherent cloud story.

This will take time to unfold though. It also seems likely that Windows 8 will have a rocky launch, with desktop users disliking the Metro-style elements imposed for the sake of tablet support. Nokia has indicated that it will be producing Windows 8 tablets as well as phones, but whether this will be an instant hit is at the moment uncertain.

Who knows, perhaps it will be Windows 9 before Microsoft really makes its tablet strategy work.

The problem is that Nokia does not have time to wait while Microsoft sorts out its mobile phone and tablet strategy. It needs quick success.

Two final thoughts.

First, Microsoft can hardly afford to see Nokia fail, so some sort of acquisition would not surprise me.

Second, how difficult would it be for Nokia to bring out some Android smartphones alongside its Windows range? Currently we are told that there is no plan B, but perhaps there should be.

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.