Wednesday, September 14, 2011

Thoughts on Windows 8 (part 2)

Back in June I wrote some thoughts on Windows 8 after the initial announcement. Now that we’ve got more details from the Build conference, I thought I’d do a little update.

Microsoft have climbed down and made a significant concession to WPF/Silverlight/.NET devs. Gone is the previous message that Metro applications will only be written in HTML/Javascript, developers can now choose which technology they want to use on the new platform. There still seems to be a bias towards HTML/Javascript judging my the number of sessions on each however, and it seems like MS would prefer developers to go down the HTML/Javascript route. How much this double headed personality effects the development experience is yet to be seen.

Somebody high up in MS must have banged some heads together to get the Windows and Developer Divisions talking to each other. They'd become two opposing camps after the fallout from the failed Vista WinFX experiment. Now Windows is forced to support XAML/.NET and Dev-Division arm-wrestled into supporting the HTML/Javascript model in Visual Studio and Blend. Once again the depth of this rapprochement will be the deciding factor when it comes to getting a consistent message across to us developers.

The message is still clear though; Javascript has won the latest round of the language wars, whatever you think about it as a language, it's becoming as ubiquitous as C. But .NET developers are going to have to be dragged kicking and screaming to this party.

The big question is still 'will it work?' Will Windows 8 be enough to get MS back into the game? There are two main problems I can see:

1. Microsoft has a strategic problem. They make money by selling operating systems. Their two main competitors, Google and Apple, don't. Will they be able to make Windows 8 financially attractive to tablet developers when they can get Android licence free and they are competing on price with the dominant iPad? Having said that, Android has been struggling on tablets, so there's still an opportunity for Microsoft to get traction in on that form factor.

2. Windows 8 is a hybrid. There's the traditional Windows mouse-and-keyboard UI that they have to keep, and there's the new Metro UI that they want everyone to develop for. What's the experience going to be like for a tablet user when they end up in Windows classic, or for the desktop user when they switch to Metro? The development experience for both sets of UI is going to be very different too, almost like developing for two different platforms. It will be interesting if Microsoft sells a business version of Windows 8 without Metro, or indeed a tablet version without the classic UI.

Despite having raised all these questions, I do think Microsoft have a workable strategy for Windows 8, and it’s going  to be an exciting time over the next few years to see how it pans out. There is still a window (sorry) of opportunity in the tablet form factor for Microsoft to challenge Apple id they can get this right. Let’s hope they can.


Ken Egozi said...

I do not think that selling a tablet with a preconfigured android is free. The way I understand it is that there are patents there that incur royalties, and a cloud of uncertainty for future law suits regarding patents and IP breeches. When a vendor goes windows on the other hand, he gets a predictable expense - pay for the license and be protected from liabilities.

Not a lawyer - but that what I gathered on the interwebs.

oleg said...

I dont think they ever said that you can ONLY use HTML5. Seems that they emphasized HTML5 development so web developers can develop for win8.

Seems highly unlikely that that changed the architecture to support languages other than HTML5 in a few months since the first demo...

Gabriel Perez said...

Hey Mike, thanks for the post.
I think the emphasis on js/html might be just a strategy to bring non Microsoft developers to Windows. By now every ms dev knows the Silverlight capabilities so it seems reasonable that more efforts would be spent on promoting the new js/html support.
I'm not a SL dev or a Microsoft employee so I have nothing to gain by defending their approach. I just think it may not be totally insane :-)

Anonymous said...

The most relevant failure is that Microsoft cultivates HTML although it only serves to make their OS replaceable. It is really hard to understand. Now, developers can share a large part of the code-base across platforms.

Nitin Koshy said...

Idea is simple enough - Play all the cards and play it big - one of it should click.