Notes from BUILD – Day 1 – Keynote Part 4 – Antoine Leblond’s Windows 8 Platform and Tools Presentation – The App Store & Converting a Silverlight App to Metro

This is part of a transcription of my notes from Microsoft’s recent BUILD conference in Anaheim, CA, minus anything that might be considered Red Gate confidential. Thus, they’re somewhat unstructured, sometimes ramble off-topic, and often contain dodgy grammar. My own commentary and observations will generally be italicised so you can easily distinguish it from the reporting on what actually happened. Much has already been said about this conference, and about Windows 8, but I hope you find these useful. Please feel free to comment or ask questions and I’ll be happy to answer them as best I can.

Antoine Leblond is Senior Vice President, Windows Web Services at Microsoft Corporation.

The App Store

Started off by showing the publishing process for the app store, which seems pretty simple: it’s just a web wizard. It supports different pricing and licensing models, and also allows for a trial period on paid-for applications. There is obviously a certification process, which is there to guarantee the product to users, however the process is transparent and you can see which stage your app is currently going through. Also, technical compliance isn’t a black box – Microsoft are going to hand over the compliance tools to devs so anyone can test their app passes before they even submit it.

The store itself is built with HTML5 and JavaScript – MS eating their own dog food. It includes the following:

  • A spotlight section on the front page.
  • Categories: games, entertainment, productivity, etc.
  • Sorting and filtering, which looks like it might be better than is available in the current iOS App Store
  • Listing page for each app:
    • Ratings
    • Screenshots
    • Content blurb
    • Options to try, buy, etc.
    • Seamless installation

There is also a facility to include Win32 desktop apps in the store, as well as new Metro apps, which means ISVs aren’t forced to rewrite their applications to get them in the store. A free listing service is provided.

Wondered if it would be possible for us to publish our apps through the app store, although it seems like the ability to purchase and install may only be available to Metro apps. This needs to be verified, but it didn’t look like the sample Win32 listing they showed included all the features available to Metro apps – for one thing, how would they ever pass the technical compliance tests?

Converting a Silverlight App to Metro

Used ScottGu’s Silverlight 2 search client app to show how easy it can be to move a Silverlight app over to Metro, although I’m inclined to think that it would be quite a bit of work for a more complex application. I know MS were pushing SL4 as a platform for developing full desktop smart client apps but I don’t know how far anyone would have got with this before SL was “de-emphasised” – I’m sure moving one of those over would be a bit of a mare.

ASIDE: whilst I wouldn’t say that Silverlight is dead – for one thing, it’s still the dev platform for WP7 – I think it’s pretty clear that it will increasingly fall by the wayside. Even in the context of WP7, with Mango there’s a lot of compatibility between WP7 and Metro, as can be seen below when the demo app is deployed straight to WP7, so I wonder how long Silverlight can continue to persist even there.

It’s worth pointing out that Scott’s app ran flawlessly on Windows 8 out of the box, but work needed to be done to move it to the Metro UI:

  • Most code changes were actually namespace changes in using statements.
  • Networking API differences meant a few more small changes had to be made.

With those done the app could run in Metro, rather than in a browser – it still didn’t fit in as a Metro UI app though. One final change was needed: edit the XAML to switch a control over to turn it into a tiled app including integration with the Metro search functionality.

It could also be immediately deployed to WP7, which initially came as a pleasant surprise to me. I subsequently learned there’s binary compatibility between Metro and WP7 Mango, so the APIs must be identical, allowing it to “just work”.

Said that if you develop with HTML5, JavaScript, C# (or presumably VB), and XAML, everything will just work on both Intel and ARM. It occurred to me that Intel might want to think about developing some truly low power processors to break into the mobile market – the tablet we were given uses an Intel i5 processor, and will drain the battery in 4 – 5 hours even just doing basic web browsing, which is obviously nowhere near as good as the iPad. I’m not even sure what the battery life on the latter really is – I used GarageBand for a couple of hours on the plane and only drained about 10% of the battery power, so it’s got to be 15 – 20 hours of use, depending upon what you’re doing. I know it’s massively unfair on MS and Intel, because the tablet is a full PC in a very small form factor, but iPad battery life is unquestionably the gold standard.

Also said in passing that both IBM and 3M are working on “3G processors” – I don’t know how this fits in with the Windows 8 story though, and it actually didn’t make a great deal of sense to me when he said it – just an aside. Anyway, sounds potentially more relevant to WP7.