I spent couple of hours this week trying to understand the Metro UI. While Microsoft is definitely betting big time on Metro UI, with it being incorporated in Windows Phone 7, Zune and most recently in Windows 8, there doesn’t seem to be much information available on what it is, how a developer can benefit from it, and what set of tools, technologies and best practices are available for a developer to use it in real-life applications.
Here’s my attempt to provide some clarity on the topic:
Metro UI is a set of UI best practices:
What this means is that Microsoft is expecting all future development on Windows platform to follow these best practices when it comes to implementing UI.
It’s widely accepted that Metro UI is partly inspired by signs commonly found at public transport systems, for instance on the King County Metro Transit, a public transit system that serves the Seattle area.
While there are signs of similar UI paradigm being tried and tested by Microsoft on several products in the past such as Windows Media Center, Xbox, Microsoft Live, etc., it was Windows Phone 7 that is credited for brining Metro UI in front and center of the Microsoft UI strategy.
How to learn it:
The overall concept behind Metro UI is technology agnostic that is; you can decide to implement Metro UI for your application in any of the UI language that you are familiar with (ASP.Net, AJAX, Silverlight, etc.). Reality is that the majority of Metro UI development has come from Windows Phone 7 (now Mango) which is done in Silverlight. Although there is very less clarity at this point in time on “Silverlight vs. HTML 5” issue, I think most of the new development will happen in HTML5 targeting Windows 8 as well as other form factors such as tablet and mobile.
One of the best ways to learn Metro UI would be to build a Windows Phone Application (using Silverlight) or Windows 8 application (using HTML 5). Following are few links that can help with the ramp up: