I’ve been reading up about this Windows 8 ‘Jupiter’ platform controversy, mainly by following Steve Barnes‘ blog posts and Twitter account, and I think I’ve got a handle on what’s maybe happened/ing. Barnes’ posts are very useful, but there’s a lot of them, and you have to read between the lines a bit as well. So I’m going to try and set out here, in as concise and clear a fashion as I can, exactly what I understand of the situation:
There is bad blood between the Developer Division (who make .NET, Visual Studio, etc) and the Windows team (I’m simplifying the Microsoft internal structure a bit) dating back to the release of Windows Vista. During Vista, the Windows team attempted to rewrite big chunks of Windows using .NET and WPF. They failed, performance was too sucky and there were bugs everywhere. So they gave up and restarted work based on a fork of Windows Server 2003 (or whatever server OS was contemporary). They also swore off .NET forever, preferring to stick with good old fashioned C++.
Fast forward a few years. The Developer Division continues to push .NET, while the Windows team continues to ignore it for Windows and Office. Further hampering Dev Div is a need to perform to metrics that don’t favour stabilising on a technology, instead they favour winning new developers and pushing out new stuff, only to drop it and move onto something else the next year. One such flavour of the year project is Silverlight, which really pisses off the Windows team as it’s cross-platform, thus potentially eliminating the need for Window altogether.
The Windows team, who hold massive political sway at the top of Microsoft due to them generating the vast bulk of the company’s revenue (through sales of Windows and Office licenses), decide enough is enough and they have to kill .NET and Silverlight. They use their influence to get engineering resource taken away from the client side of .NET. But that’s not enough, too many people are already using .NET for it just go away. They also need a new development story, so they start to hatch a plan. They have an existing, native, Microsoft internal-only, UI platform called DirectUI that dates back to Windows XP days. They start work on improving it, adding support for XAML and high-performance animation. They tie the work in with that of the Internet Explorer team, who are developing a high performance rendering engine based on Direct2D for IE9.
Thousands of .NET developers beat an angry path to the emails, blogs and Twitter accounts of various Microsoft evangelists, product mangers and engineers. But all of them are bound by the internal edict not to spoil the ‘big reveal’ at Build by talking about the platform too early, and so can’t offer anything more than the most broad platitudes, leaving the developers to whip themselves up into even more of a fury. At the top level though, Microsoft isn’t too bothered, as .NET developers aren’t a priority, no big customers using .NET have baulked or announced they plan to switch away from Microsoft, and they figure the .NET devs will be salved when the Build conference comes.
It’s going to be a hard sell to please everyone, and I suspect, as the Windows team wants, that it’ll be the old-school C++ developers who are smiling the most by the end, finding themselves back at the cutting edge of Windows development after a decade in the wilderness. Of course, a question mark still hangs over the future of the Windows platform itself given the growing competition from Apple and Google. The Windows team clearly hope that this new framework will be the start of a renaissance along the iOS model, but only time will tell.
1. I do wonder what they’ll do about Windows Phone though, could Mango still ship with some kind of Jupiter support? Or will it be case of everything changing come WP8?