Saturday, July 16, 2011

Why Microsoft's 'single ecosystem' for PCs and tablets carries huge risks

Andy Lees of the Windows Phone division says that tablets are PCs, and you won't see his OS on forthcoming ones. But that means serious challenges for Microsoft's programmers

Microsoft wants to move towards a single software ecosystem for both mobile phones, PCs, and devices in between including tablets and e-readers running its software, according to Andy Lees, the head of the Windows Phone division.

One ecosystem to rule them all

In a speech at the Windows Partners Conference in Los Angeles, Lees outlined a number of key trends which he said were leading to the changes: "it starts right at the core of the devices themselves," he said, pointing to the demonstrations of Windows 8 running on systems-on-a-chip (SOC) that mean that PCs can take different form factors.

Lees then suggested that there will not be "an ecosystem for PCs and an ecosystem for phones [and] one for tablets. They'll all come together." He said that this did not mean replacing the PC: "our strategy is that these new form factors are within a single ecosystem and not new ecosystems themselves".

Having Windows Phone 7 on a tablet would "conflict with this strategy", he said. "We view a tablet as a sort of PC. We want people to be able to do the sorts of things that they expect on a PC on a tablet". That includes connecting to networks, using networking tools, connecting USB drives, printing, and using Office.

But that has sparked heated - and urgent - dicussions about what a "unified ecosystem" is, and how it would work across multiple devices which run incompatible software.

Longtime Microsoft-watcher Mary Jo Foley suggests that for Microsoft, "ecosystem" doesn't necessarily mean "dependent population of software and hardware built on a reference platform", which is the meaning that every other organisation uses. She says it is instead "a broad-brush term that can mean anything from the development environment to its distribution channels.

And, she adds, being a "Windows device" doesn't mean that that device is running "Windows" as you see on a PC. Windows Phone runs a version of Windows Embedded Compact with "a layer of Microsoft customization on top". Xboxes actually run a substantially tweaked version of Windows NT.

But, she notes, if Microsoft has got Windows (proper) running on the ARM architecture, then maybe it could get it to run on Windows Phones.

Foley's contacts say that that isn't going to happen for the next upgrades of Windows 8 and Windows Phone in 2012 - which means that any change, and unification, isn't going to happen until at least 2013.

Developers think that apps might be made to run on any of those interfaces, if you could bring them close enough together: one suggestion is that Silverlight, its browser plugin system (analogous to Adobe's Flash), might fill the gap. Or maybe HTML5/Javascript/CSS will do the job, since Microsoft has talked about apps written for that running on Windows 8 (to the slight terror of some developers with years invested in Microsoft-specific development environments).

Unification will tear us apart

My opinion: trying to unify "Windows" - or create a unified operating system environment - across all those devices, and even across just tablets and PCs, will initially go swimmingly for Microsoft. Windows 8 is initially going to go great guns. It works on PCs and it's got an interface that works on tablets too! What's not to like? You can see corporations snapping it up. The idea of extending it (or extending its apps) to Windows Phone is ambitious, but I think that once they see what's going to happen, they'll pull back from trying to pull that in as well.

But pay attention to the key word: initially. Compare the approach of Apple and Google, which are developing a mobile OS that works on both smartphones and tablets, with Microsoft, which is developing a desktop OS that works on both PCs and tablets.

What sort of device is a tablet? Actually, don't answer that yet. What sort of device is a smartphone? A mobile one - and one that is evolving at a furious rate. Video calling, voice-over-IP, GPS, near-field communications (NFC), gyroscopes, compasses, accelerometers, augmented reality (requiring real-time video processing plus location sensing plus internet) - they've all come to smartphones in the past few years. And the mobile OSs involved have had to evolve to be able to handle the inputs involved and process them - which means that to make them useful to developers, the OS has to evolve and offer APIs.

You only have to look at how far and how fast Apple's iOS and especially Google's Android have evolved since 2007 and 2008 respectively to realise that smartphone OS evolution is running at an astonishing rate. The iOS versions Wikipedia page and Android versions Wikipedia page show that the times between major upgrades can be less than a year.

Compare that to desktop OSs: both Apple and Microsoft are now on development cycles that take at least two years between major revisions. Windows 7 came out in 2009; Windows 8 is expected in 2012. Snow Leopard came out in August 2009; Lion is due, well, any day now. The development cycle for desktop OSs, even with service packs, is much slower than that for mobile phones.

So our next, crucial question: is a tablet more like a PC or a smartphone? I think this one pretty much answers itself. Despite what Lees says (or has been told to say following long strategy meetings with Steve Ballmer and Steve Sinofsky, the head of the Windows division), tablets get used in situations that are more mobile than they are static. They're used in snatched moments between trains, or in homes, and particularly in situations where people don't want to or can't use laptops.

OK - you can argue that laptops are used in mobile situations too, and nobody suggests that they aren't PCs. Fair enough: so we'll let Microsoft determine that tablets are PCs, and let it produce the same OS for tablets as for desktop and laptop PCs.

Now the fun starts

For a year, those Windows tablets are going to look great. But during that time, Apple and Google (and not forgetting HP with its TouchPad/webOS and RIM with the PlayBook, if it's still making it then) will be working as hard as they can to advance their mobile OSs to incorporate everything novel that crops up. They'll build smartphones and tablets which will incorporate all sorts of new technology (which presently might be just a gleam in a researcher's eye - we're talking about 2013 here).

Meanwhile, those Windows tablets will begin to struggle, because Microsoft will have two choices: (1) come up with service packs that enable access to APIs for those technologies on tablets, which of course won't be needed on desktops, lest they fall behind the competition, or (2) keep tablets moving at the slower pace of desktops.

The second doesn't look good. The first is competitive - but that means both writing and testing the new software - hard enough - and, more to the point, working on a continuous upgrade and testing schedule which does not allow for any delays. Miss a trick in the tablet market, and someone else will step in and grab it. New APIs will have to be added to Windows tablets to compete with rivals; else they'll not support new technologies, and look backward.

But the PC track and the tablet track aren't going to be quite in sync; the tablet track will be moving far faster than the desktop track, if Microsoft is going to keep competitive with those rivals. Very few people need a gyroscope in their desktop PC. They do need GPU optimisation. Built-in 3G isn't important for a desktop; you might like it in a tablet. Which should Microsoft develop first? If tablets are selling, that takes resources from the desktop development - unless you throw more bodies at both, in which case you have the inevitable problem of regression tests to make sure code improvements haven't screwed up all your earlier work.

Another alternative is that the tablet track moves more slowly, in which case although the tablets will improve in speed (through Moore's Law), they won't benefit from integrated extra capabilities. If in 2014 rival tablets can handle iris recognition and voice recognition, will people wait for Microsoft to crank the handle on Windows to release a tablet update that enables it?

This is going to be extremely tricky for Microsoft to pull off. Recall that Windows Phone was significantly delayed, even though it used existing code (and is still built on ancient code going back to Windows Mobile). Vista was very delayed, because Sinofsky tore up the whole development process for Windows - which in theory is a lot more agile now. Even so, the risks of the tablet and desktop OSs diverging is very real; it already happens for Apple and Google. But it's a bigger risk if you insist that you must be able to do the same things on the desktop as you can on the tablet - as Lees did.

In theory, Windows can be developed much more quickly now. That raises the question of why it's taking three years between versions. If tablets and PCs are moving at different speeds, as we already know they are, Microsoft is going to struggle to prevent forking. Either it's going to pull off the most amazing development feat ever - not that likely given its track record - or one of the two, tablets or PCs, is going to suffer in the development stakes.

Microsoft could of course get around this challenge by accepting that tablets work better with a mobile OS - which is sort of what Apple, Google, and latterly HP have proven. But to do that would sacrifice the Windows licence fee it hopes to extract from each Windows tablet under the new regime. The danger is that just as with its previous efforts on tablets, it's going to sacrifice volume for value - and annoy its partners too. © Guardian News & Media Limited 2011 | Use of this content is subject to our Terms & Conditions | More Feeds


No comments:

Post a Comment