Windows 8 Notifications Platform Provides 'At-a-glance' Information

In a November 2 blog post, Ryan Haveson writes about the development of Windows 8 Metro style live tiles and how the architecture scales to large numbers of tiles while also reducing the overall power consumption and system load."In Windows 8, we set out to design a notifications platform that would provide at-a-glance information, without […]

In a November 2 blog post, Ryan Haveson writes about the development of Windows 8 Metro style live tiles and how the architecture scales to large numbers of tiles while also reducing the overall power consumption and system load.

"In Windows 8, we set out to design a notifications platform that would provide at-a-glance information, without all the performance and battery life concerns that face traditional plugin and gadget-based models. To that end, every design decision we made was viewed through the lens of performance and battery life efficiency. To make it easy for app developers to participate, we built the Windows Push Notifications Service so they could create live tiles without having to write complicated network connectivity code. And because WNS uses standard web technologies, such as HTTP POST, it's easy for developers to integrate notifications based on their existing web services," notes Haveson.

The result is a notifications platform that delivers at-a-glance information while allowing you to install as many apps as you want without worrying about the impact on performance or battery life.

Overall, the push notification platform for the next generation of Windows was built with scalability in mind, while also being optimized to deliver only a minimal system impact.

Users running Windows 8 should in fact not notice any impact on either performance or battery life of their devices, even in scenarios in which a large number of Live Tiles are updating on the Start Screen.

Haveson lists the following design goals for Live Tiles notifications:

  • Allow hundreds of live tiles without degrading performance
  • Go beyond balloons, badges and text, with beautiful images
  • Make it easy for developers so they can just "fire and forget
  • Achieve real-time delivery so delivering "instant messages" is instant.

"Thus, for Windows 8 we architected a push-based service. This was a big decision because it meant we would need to build a platform at a global scale, eventually powering the tiles for hundreds of thousands of apps and over a billion people. But the value was clear: developers would get super-efficient real-time notifications to their customers for free, without having to build or maintain their own persistent connections to the client," Haveson added.

He notes that in the diagram below you see three key entities:

  1. Windows Push Notification Service (WNS): This powers live tiles and toast notifications. WNS is based on the Windows Live Messenger service architecture, and in fact, the service part of the notifications platform was built by the same team. There are not many teams in the world with the expertise and knowledge to be able to build a globally scalable service that can ramp up to such large numbers so quickly. Here are a few statistics to give you an idea of the scale of the Windows Live Messenger service today:
    • 300M monthly active users
    • 630M daily logins
    • 10B daily notifications
    • Over 40M peak SOC (simultaneous online connections)
    • Over 3000 machines routing messages around the world
  2. App service: This is the web service that a Metro style app runs (e.g. from their existing website), which sends toast notifications and tile updates via WNS. Examples of this would be the back-end service for the Weather app that shipped in the Developer Preview, or a back-end service hosting photos for a social networking app.
  3. Windows 8 client platform: This represents the actual PC and the sub-components in the OS that form the plumbing for the end-to-end experience.

windows 8: push notifications platform

Haveson notes, that those of you running the Developer Preview build, go to the app history tab in Task Manager and look at the "Tiles" column to see how much bandwidth each of your live tiles has consumed over the last 30 days.

windows 8: resource usage of live tiles shown in task manager app history

Watch the video below demonstrating Live Tile notification in Windows 8: