You would expect that if you added a large number of ‘always on’ applications that interact with data taken from the Internet to your mobile computer, it would negatively impact the battery life of the device. That is exactly the problem that Microsoft has with its ‘Live Tiles’ feature in Windows 8. How can it do more, and not disastrously impact battery performance?
After all, if Windows 8 tablets and the like have poor battery performance, they are essentially over before they begin. Apple has taught consumers that long battery life in small devices can be had. There is no going back.
So, how is Microsoft going to manage? According to a new blog post by the Windows 8 team, they have a decent grip on the problem. We won’t know how effective their ideas are until devices hit the market, but the company is certainly engaging the issue. The goal, according to the post, is to “[a]llow hundreds of live tiles without degrading performance,” while “[achieving] real-time delivery so delivering ‘instant messages’ is instant.”
This is no small task. If Live Tiles are set to be useful, they must constantly have new information, and can’t kill the whole system. Now, on to what Microsoft is doing about it:
Our solution was to build a data-driven model. This means that a developer can express their tile using a set of predefined properties and templates, in this case, using an XML schema. The XML tile data is then sent to the Windows Push Notification Service (WNS) via a simple HTTP POST and then we take care of the rest. All the code for connecting, retrying, authentication, caching, rendering, error handling, etc. is done in a uniform and power-efficient way.
Microsoft is big on the idea of being ‘data driven,’ what it describes as having “no app code [running] in the background to power the Start screen.” This limits total strain on the system itself. Windows 8 itself essentially takes over the leg work. That of course required a new system to handle the push notifications that the operating system would be forced to handle. Microsoft built something called, you guessed it, the ‘Windows Push Notification Service (WNS),’ for this task.
Interestingly, Microsoft tapped the Live Messenger architecture for WNS. Given the number of updates that Windows 8 will eventually have to handle, the company said that that team was required, as “[t]here 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.”
And finally, all of that mostly takes care of the system performance question, but what about bandwidth usage? Apps that are constantly sucking data from the Great Cloud in the Fiber will certainly negatively impact battery life. Well, Microsoft is leaving that to the user by providing bandwidth usage data for Live Tiles in Task Manager. It’s up to you, kid.
It’s good that Microsoft is taking battery life and system performance so seriously. Let’s hope that their work results in a functional product.