Like many people, I watched the keynote by Steven Sinofsky at BUILD remotely – I am not one of the on-site DevExpress crew this time. Rather than rehash what the keynote revealed (after all you can watch it again if you want to), I thought I’d summarize my immediate thoughts about what was shown, especially taking the viewpoint of a software developer who’d be interested in writing apps for Windows 8. Like us and all of our customers, in essence. I’ll therefore skip over much of the details about the consumer side of Windows 8, but be aware that Windows 8 comes with a new look-n-feel called Metro that mimics the tiles and interactions of Windows Phone7. The basic interaction with Windows 8 is touch, although mouse and keyboard will still work just as well. Also the “old-style” Windows look is still there (though obviously many apps have been updated), and there were many promises that every app that runs on Windows 7 will run on Windows 8.
Firstly, Sinofsky presented a bit of rah-rah stats, wrapped in a rather plain PowerPoint slidedeck. Sorry and all that, but Apple do this so much better. Anyway, it was interesting to know that installations of Windows 7 (450 million) have now surpassed installations of Windows XP, and that 542 million people regularly login to Windows Live. [UPDATE: As Ian points out below, the Win7/XP figure is about consumer take-up of the OS, and excludes business sales.] What this means with regard to Windows 8, I really don’t know. The take-up of Windows 8 – once it is released – all depends on cost (I doubt the $29 price of Mac OS X Lion would be used by Microsoft for instance) and what the story is regarding the upgrade process from Windows 7 to 8.
After a little while we came to possibly the most interesting slide, an “architectural” slide that showed that the apps that’ll run on Windows 8 will be split into two universes: Metro style and desktop.
The right hand side are those apps we create and use now, either native, .NET, or web apps in a browser. Interesting that they point out Silverlight especially. (And equally interesting that WPF was never mentioned in the keynote at all.) Of course, the .NET applications in this part include everything you are already writing and deploying right now for WinForms, ASP.NET, Silverlight, and WPF. This space (“Desktop Apps”) is certainly not going away.
So what’s a Metro app? Firstly it uses the native WinRT as a service layer for presentation, data, connectivity, and the like. Secondly it is a full screen app. (Paradoxically, there are no windows in a Windows 8 Metro app.) Actually, by “full screen” Microsoft apparently mean “full screen apart from a pixel-wide vertical strip on the right hand side” (used to slide in the “charms” panel, where the charms are essentially quick access icons for Search, Share, Start, Devices, and Settings). Thirdly it abstracts away the hardware to such an extent that it doesn’t really matter what kind of screen or device you are using, be it a slate/tablet or a PC, or be it Intel or an ARM chip (I’m a little unsure of what happens with regard to “native apps” in this scenario though). The other thing to realize is that Metro apps can register with the charms in the slide-in panel on the right (they indicate that they can fulfill a charm’s “contract”), so that the “joins” between apps from the user’s viewpoint are very much reduced. The user gets the impression of a unified set of apps even though they are in fact separate and have no knowledge of each other.
And how are these Metro apps created? For now, Microsoft are releasing a Developer Preview of Windows 8 that contains a preliminary Visual Studio Express IDE, plus an early beta of Expression Blend 5. Obviously a new full-featured VS should be in preparation ready for the release of Windows 8. The Blend designer comes with a standard set of Metro controls.
It seems – and I emphasize “seems” – that it could even be fairly easy to repurpose a Silverlight application as a Metro app. One of the keynote demos was the conversion of a standard very lightweight Silverlight app by changing the “using” list to target some WinRT assemblies instead of the standard Silverlight ones and altering a couple of lines of code. I hasten to add that we really can’t extrapolate from that demo to say that the conversion of all Silverlight apps will be equally as easy: demos and example apps are chosen for their brevity and ease of presentation, not for their in depth look at some thorny business and presentation issues. (The same goes for desktop Silverlight apps to Windows Phone 7 Silverlight apps as well.)
Other bits and pieces: there’s going to be a Windows Store for your Windows 8 apps, be they old-style or Metro style; the new Reset-to-known-baseline functionality seems to work best with Metro apps; there’s a whole slew of information about seamlessly using the cloud (and SkyDrive and Windows Live) to store your settings and ordinary files. I would recommend browsing the keynote and skipping over the boring bits (it’s pretty long) to find out more.
Where does all that leave you? Well, for a start that was only the keynote; there are still four full days of sessions and keynotes to learn more. I and the team of DevExpress evangelists will be reporting on what we find out and how it affects you. We’ve got a whole series of exclusive interviews lined up with various people for our DevExpress Channel to investigate the ins and outs of Windows 8, WinRT, and Metro apps.
In the longer term, what can you expect from us? Well, first things first: all this news is really exciting but it’s all about an operating system and development tool ecosystem for which the only release date we can guess at is late 2012. That’s at least 12 months away and there’s still betas and release candidates to get through before then, all of which are liable to break code as the APIs are firmed up and bugs fixed. Until that point, your current and near term projects aren’t going away and neither are we. We’re already starting to blog about what’s coming up in DXperience v2011 vol 2 (and if you’re at BUILD itself, we’re in the exhibit hall where we can give you some sneak peeks) and we have a large list of new features to announce across all platforms: WinForms (remember, we just announced touch in WinForms! Prescient, us?), ASP.NET, Silverlight, and WPF. Just because everyone’s talking about Metro today doesn’t mean that all other development of traditional apps magically stops.
The next thing to realize is that we are committed to creating controls and libraries for WinRT and the new Metro interface. Like, duh. One of the biggest goals we have as a company is establishing feature and product parity across all the platforms we support, and that list of platforms will be increasing by one from today. And I’m not talking about warmed over controls moved from another, inappropriate platform; we’re going to be embracing the design philosophies shown at BUILD for our range of Metro controls. You can be assured that, when you are ready to start writing Windows 8 Metro apps, the experts at Developer Express will be there with you.
As for me, I’m going to repave an old laptop tonight with the Developer Preview of Windows 8 and putting in an expense requisition for a touch-enabled screen. There’s a lot I want to explore.