Notifications, widgets, gadgets, live tiles, we all know what they do on devices. They bring us information that we can quickly give a glance to see what’s been updated, whether that be on a social service, a stock quote, etc.. Historically they also run as services or Apps and after getting over the excitement of seeing these updates happen before our eyes, we quickly start watching our battery meters when we see degraded battery life. We then begin searching the web for hints on how to conserve battery life and, in most cases, we find that those hints usually focus on turning most of these kinds of notifications off as a first step.
That’s all a part of the battle between battery life and information delivery innovation and we’ve all experienced it time and time again.
Microsoft is claiming that in Windows 8 it has found another way. We should all be reasonably familiar with Microsoft’s Live Tiles UI, but I’m guessing a more than a few of you have seen this in action and thought about the hit on battery life. If what Microsoft is working on will work, that might not be an issue. This Building Windows 8 post by Ryan Haveson (intro’d by Steven Sinofsky) outlines Microsoft’s approach to updating those live tiles without seriously draining your battery. It’s worth a read. It begins by outlining the goals:
Allowing hundreds of app tiles to be alive with activity, and simultaneously making sure that we don’t degrade performance makes it seem like we have contradictory goals. After all, “activity,” by definition, consumes resources: getting a notification from the cloud uses the network, and rendering the notification on a tile uses GPU/CPU resources, etc. In order to get the design right, we knew we had to stay focused on the goals we started out with:
- 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
Based on these goals, the first fundamental architectural decision that we made was that the platform would be data-driven, that is, no app code should run in the background to power the Start screen.
I’ll let you read the rest on the blog. I’m anxious to see how this all works.