Friday, November 5, 2010
Windows Phone Live Tiles: Not All Tiles Are Created Equal
Posted by Don Sorcinelli in "Windows Phone Developer" @ 06:00 AM
While there are several possible options for Microsoft to consider in relation to making Live Tiles easy to implement, none comes without a major sacrifice to either developers or Microsoft and the platform. Among the possibilities -
- Allow background processing.This would be the easiest solution for developers. Of course, this goes against the core foundations that were set forth for the Windows Phone 7 platform. While I may not receive much favor for my belief on this issue, I have come to agree with Microsoft on this stance. With a target audience focused on consumers who "just want the phone to work", allowing background processing opens the door to a number of complexities that typically diminish the user experience - memory, performance and battery life. As a regular user of Windows Mobile and Android devices (both of which allow background processing), I can tell you that these issues are a sore point for users who are not in the "power user" category and do not understand (or want to understand) how to use advanced tools to monitor, diagnose and correct these problems.
- Provide an on-device notification service. With the .NET Compact Framework and Windows Mobile, developers were provided with the State and Notification API, or SNAPI. This functionality allowed an application to subscribe (i.e. - "listen for") to various events and then respond when they occurred. Granted, this model assumed that the application was, of course, running in the background. My thought - perhaps a service that the operating system runs and manages, with an application saying "hey - when x happens at a certain time, notify me". Granted, the number of things that could be set up in this scenario would be somewhat limited, but would work for time-based scenarios (setting a reminder, for example) and simple events (when the battery reaches a certain level or a new phone call comes in). While an on-device notification service is not a perfect solution, it may make for a nice compromise. Developers would have more functionality than they currently have, and by being controlled at the platform level Microsoft can manage the service properly to maintain the quality of service needed for the platform.
- Extend MSPNS to be a "solution" rather than a "service". Currently, the cost of creating a server solution to support push notifications is prohibitive for most developers. If Microsoft were to provide a more robust solution that mitigates the need for complex development and hosting, more developers would "take the plunge". Once again, the limitations of such a solution might still make this a prohibitive option (thinking along the same lines as the on-device notification service), but the idea that "something is better than nothing" might help.
Bottom line - there is no one "magic bullet" solution to the current situation. Even if a new approach was decided upon, it will take some time to implement and roll out to the masses.
Over the years, I have come across various pervasive questions around Windows Mobile and Windows Phone that seem to have no "satisfactory" answer, at least for the consumers asking the question. The first that comes to mind was "Why can't I upgrade my Windows Mobile device to the newest version of the operating system?" I decided then to write about how the Windows Mobile ecosystem works and why things were the way they were. I didn't solve the problem; I just tried to help people understand.
Windows Phone 7 Live Tiles may be the latest incarnation of a question that provides no satisfactory answer. Once again, I could only hope to help to shed some light on why things are...well, the way they are. When all is said and done, I hope that this piece helps in understanding why all Windows Phone 7 tiles are not created equal and may not be for some time. While the additional knowledge doesn't change anything, it at least helps in addressing the question "Why?"
Don Sorcinelli is a Microsoft MVP for Mobile Devices and a consultant with 20 years of enterprise software development experience spanning a variety of technologies and platforms. He has spent much of the last decade focused on mobile technologies for both business and personal productivity. He is currently a Product Engineer focused on mobile applications across mobile device platforms.
Do you enjoy using new hardware, software and accessories, then sharing your experience with others? Then join us on the Thoughts Media Review Team! We're looking for individuals who find it fun to test new gear and give their honest opinions about the experience. It's a volunteer role with some great perks. Interested? Then click here for more information.