If you're a WP7 user, you probably know what live tiles are. For those of you who don't, I'll give you a quick rundown. Live tiles are ways to access information from apps without the app running all the time. A weather app might choose to use this to show the current temperature. A social networking app might show that someone commented on your profile. A photo app could periodically show you a new image as its background. Live tiles are a way to, at a glance, get information from apps without needing to load them. They are designed very purposely to reduce battery use and time spent looking for information, displaying it quickly and efficiently. You may remember some of the earlier WP7 advertisements, like this one:
Getting information delivered quickly and without opening and closing multiple apps is not only more enjoyable to use, it means less time having the screen on, which means better battery life. That's not the only, or even the main way that live tiles save your battery. We'll get to that in a moment though. Notifications are a big deal in smartphones. When people don't like how they work, someone's going to do something about it. The iPhone rather famously had notifications issues people were scrambling to fix
on their own. Notifications are important, so Microsoft had to make sure they were done right.
Microsoft didn't want anything to go wrong with notifications. They wanted something that would be informative but unobtrusive, and powerful yet using little power. First they had to set some ground rules. It was important that notifications be mostly powered outside of the app. If apps managed notifications entirely by themselves, there would be a huge duplication of code that would not only be wasteful, but difficult to change because of the fragmentation. Microsoft would be handling the brunt of the work. Next was a decision on how notifications would be triggered. Notifications can be done by asking the app if it has a notification, called polling, or the app telling the system that it has a notification, called pushing. Polling is a typical choice, but for a phone, it doesn't work well. When you get an email, you want to know when it's received, not later. Polling would require the system to ask constantly, draining a phone's battery. So pushing was chosen.
The way pushes are sent was also carefully designed. Pushes are simple bits of text, small and easy to send. A request is sent to a Microsoft server, which tells the phone to put a notification up. At this stage, any requested images are drawn up, either by downloading them fresh or by finding them in the cache. The less that is downloaded, the less active time, the less battery used, so the cache is important. Once this is done, the notification is ready to be displayed. The whole process is managed by simple XML code.
You'll notice that the diagram is for Windows 8, which will feature this system, but the process is the same for WP7. The whole thing is so simple to manage on a device that hundreds of apps can use this minimal, data-driven system simultaneously without being run continuously, thus not being a significant draw on battery life. That is the power of live tiles.