First of the 3 big picture sessions was on the principles of building metro UI style apps. Here are key takeaways:

  • Metro style apps should focus on the content, rather than controls, leave lots of free space around the content.
  • Left and right edges of the screen are reserved from OS. Left – for going back, right for displaying standard OS controls (called charms)
    • Search – lets user search within the app, entire PC, or within different apps
    • Share – let’s an app publish a piece of information (text, image, etc) to another app. Apps don’t need to know each other. They just need to implement the same contract provided by Windows. Sharing contracts are tied to content type. So app that can share text may or may not share pictures
    • Settings – place to control global system settings (like notifications, sound volume, etc) and app specific settings.
    • Start – for launching things
    • Devices – not covered in depth yet – probably a modified version of device manager
  • Top and bottom edges are reserved for the app controls which are invoked either by a edge swipe gesture or mouse right click.
  • Apps should adhere to standard layouts and typography so that they will blend together.
  • App developers should provide resources either in vector (or CSS primitives) format or scaled at 100%, 140% and 180% to support high DPI displays. 180% is really future proof for dislpay technologies that are going be widely available only in 2 years from now.
  • Apps should support several layouts based on the resolution and display orientation. Some are optional (like portrait) and some are not. 800×600 is not supported.
  • Apps expose themselves to the start screen as tiles. Windows will control the tiles. They are not active widgets as in Android. The app provides tile resources (graphics and text) and Windows displays these and rotates them as needed. Tiles can be updated either by the running app, by a scheduled update or by Windows Push Service. The service can be invoked from the cloud so the app doesn’t need to be running anywhere at all. This is similar to current implementation in Windows Phone 7.
  • Each app will get a small amount of storage space in the cloud to store its roaming settings so that they propagate across all user PCs. If more storage is needed it is recommended to use SkyDrive or Windows Azure.
  • Secondary tiles can be used to pin a “deep location” of the app in the app screen (specific news feed, social feed, etc)
There was more than one bug during the demo. No big surprise there since Windows 8 is not even in a beta yet.