On Wednesday, I wrote about the coming of HTML5, and how it could affect the future of desktop app development on the Linux platform. What I didn't realize--really--was that at the same time, Microsoft was previewing Windows 8 at the D9 conference, which featured... HTML5 (among other things).
For an open source guy like me, that was kind of awkward.
"We are excited to bring an innovative new platform and tools to developers and see how their creativity jumpstarts a new generation of apps. Windows 8 apps can use a broad set of new libraries and controls, designed for fluid interaction and seamless connectivity. Apps can add new capabilities to Windows and to other apps, connecting with one another through the new interface. For example, we showed today how a developer can extend the file picker control to enable picking from their own app content or from within another Windows 8 app, in addition to the local file system and the network."
Quick, did you catch what was missing?
If you are a Windows developer, I'll bet you did: there was little to no mention of .NET technology in the Windows 8 hoopla, and quite a few Windows developers are more than a little angry about the whole thing. Microsoft's response has been for everyone to wait and see what happens at the SHARE conference in September. As you might imagine, that has done little to mollify most observers.
Someone who saw this coming was Scott Barnes, Microsoft Silverlight Product Manager, who basically started the whole debate last summer about the future of Silverlight, the Windows Presentation Foundation (WPF), and .NET with a July broadside about Microsoft's "shiny object syndrome" and then a series of tweets and blogs in September lamenting the death of WPF.
So now, there's a whole lot of .NET developers out there who are wondering what they are going to do with all their experience. If I were a smart aleck, I would suggest they come to the Dark Side of Linux and work on Mono (and yes, we also have cookies).
True, that is indeed my standard mode of operation, but in this case I must suppress my natural smart-assery because I am not sure where Mono stands with Linux.
Here's where things are now. The SUSE business unit of Attachmate says that Mono will remain a part of SUSE Linux moving forward, and yet they turned around and fired the US-based Mono team, which presumably included Miguel de Icaza, who came to Novell when they bought Ximian in 2001. This has led many people to question just how far SUSE is really going to push Mono.
Meanwhile, de Icaza has formed his own startup, Xamarin, which will keep working on Mono and commercial .NET stacks. But here's something interesting: the Xamarin home page highlights .NET development for iOS and Android, not Linux. There's a cursory mention of "bringing your favorite .NET languages to the platforms you want to target," but that seems like Xamarin, like SUSE, seems to be hedging it's Mono bets.
Given the ruckus that Barnes and other .NET developers raised last year, it may be possible that Attachmate decided to cut continued Mono development, having seen the writing on the wall that HTML5 is indeed going to be a big part of interface development. That makes Xamarin's choice of platforms clearer: .NET for mobile platforms is the one area that is expected to continue, according to Microsoft, which has explicitly stated that Windows Phone 7 will remain focused on .NET, WPF, and Silverlight tools.
(Now you can see why the Windows developers are so upset. Imagine working on apps for the most widely used platform on the planet and then being told your favorite toolset may only build apps for Windows Phone 7. Ugh.)
What we could see, then, is a migration of .NET-skilled developers coming to open source Mono--but not necessarily Linux. SUSE could make a play and grab some of these people, but if the overall desktop market is really moving towards HTML5 (or crazily, Flash and Air), SUSE may hold back.
If this is how things shake out, these are signs that, more than ever, web-based apps on desktop and nettop machines are going to be the rule rather than the exception. Native apps will never go completely away, but their importance may be diminished as the interfaces they run on shift towards web-based technologies.