Windows Phone Thoughts - Daily News, Views, Rants and Raves

Check out the hottest Windows Mobile devices at our Expansys store!


Digital Home Thoughts

Loading feed...

Laptop Thoughts

Loading feed...

Android Thoughts

Loading feed...




Go Back   Thoughts Media Forums > WINDOWS PHONE THOUGHTS > Windows Phone Developer

Reply
 
Thread Tools Display Modes
  #1  
Old 11-05-2010, 02:00 PM
Don Sorcinelli
Contributing Editor
Join Date: Mar 2004
Posts: 123
Send a message via AIM to Don Sorcinelli Send a message via MSN to Don Sorcinelli Send a message via Yahoo to Don Sorcinelli
Default Windows Phone Live Tiles: Not All Tiles Are Created Equal

If you've seen any of the incredible dearth of Windows Phone 7 pre- and post-launch coverage and press releases, you heard about them or seen them. They are those wonderful things on the Windows Phone 7 home screen that provide you with easy access to information - your email, Xbox Live games and other applications. Any application on your phone can have one. They are Tiles. The early demonstrations showed all of the amazing things they could do - provide animations to inform and entertain and update dynamically as new information becomes available. And they were referred to on a regular basis as Live Tiles. They made us all very excited about the Windows Phone 7 platform - well, almost all of us. For another audience, the concept of Live Tiles made us a bit nervous.

For those of us who have been involved with the Windows Phone 7 platform from the initial announcement back at Mobile World Congress and the launch of the development tools at MIX, there typically came a point of realization regarding Windows Phone 7 tiles. For myself, that realization made me look to the future and the launch of the platform to the public. There would be questions from users, and perhaps a bit of disappointment. There might even be some anger.

When Windows Phone 7 was launched in Europe and the Asia/Pacific region on October 21st, 2010, those questions started coming. They came in emails and in forums. The names might have changed, but the question was always quite consistent:

"Why isn't the Live Tile for [Fill in the application name here] doing anything?"

While my answers may have been slightly different in each case, they all always boil down to the same simple fact - Not all Windows Phone 7 Tiles are created equal. In many cases, the reason why they are not is based on very good reasons. Recently, a discussion with Jason Dunn made me realize that it might be a good time to explain some of the reasons to the community-at-large.

What Really Makes A Tile "Live"?

When I first saw Windows Phone 7 demonstrated, I was (like most) very excited about the Tiles concept. When I first heard that third-party developers could tap into this functionality and make the tile for my own application have a live aspect, I was thrilled. Further research into what it would take to get to that point, however, made me realize that there were some "catches" to this. To start, it only takes a moment of thought and some common sense to come to some early conclusions.

In order to be "live", a tile would need to receive some information from somewhere. For the purposes of our discussion, let's suppose that I am creating a reminders application for Windows Phone 7. As a developer, I would love to have my application's tile change when it is time for the user to be reminded. The first thing I realize as a developer is that Windows Phone 7 applications cannot run in the background. Most users as well as developers are aware of this fact. As a developer, the next logical question to ask is "If my application cannot run in the background and tell the tile to update, what can tell the tile to update?" A bit of research provides an answer.

Microsoft has developed and provided an application model that allows for a centralized and Microsoft-maintained environment known as the Microsoft Push Notification Service, or PNS. Because Apple provides a similar service for iPhone and iPad development knows as APNS, I tend to refer to Microsoft's version as MSPNS. The idea is quite simple - a central (and always running) server sends a message to MSPNS which, in turn, locates the device that is supposed to receive the message and passes the message along. The concept may be "simple", but as a developer it creates a new and potentially major level of complexity to my application - I must build my application to include a centralized server component.

Looking back on my original idea of a reminders application, what would this new requirement mean? Well, I would need to do the following:

  • I would need to develop a web-based server application to store reminders. My simple client application would now need to be complemented by a Web-based service. This service would likely need to include a database element. When a user creates a new reminder on the phone, the client application would need to connect to the Internet, authenticate (there could be thousands of users of my application; I would need to identify each user correctly), and then store the information. 
  • I would need a service to send reminders to the MSPNS. My application would need to have a service that constantly monitors the database, looking for reminders that are due. The service would then send the proper message to the MSPNS.

Of course, this is just a a simple overview of what would need to be put in place in order to have a successful Live Tile implementation. When presented to a developer, there is a lot here to consider - and not all of it is technical.

Live Tile and the "Business Impact"

The first time I presented on the subject of push notifications (earlier this summer), I first thought I would spend a great deal of time in the presentation on the lower-level programming details. After some consideration, however, decided on a different approach. I would talk about the architecture of push notifications, the processes involved for creating such a solution and the business impacts. I was glad that I did.

When the developers I presented to saw what was involved with using MSPNS, they were not necessarily concerned about the technical aspects of implementation. Instead, it was the concerns about the "cost of doing business" related to using push notifications that immediately raised issues. They included -

  • The obvious additional cost of creating and maintaining all of this newly-needed code. The audience I spoke to consisted primarily of independent developers and hobbyists - a large target audience for Microsoft and Windows Phone 7. While creating a client application is definitely "on their radar", creating something far more complex would likely take more time and effort than is desired.
  • The cost of maintaining a web-based solution.There is far more than development costs when dealing with a web-based solution. The cost of hosting a solution (especially when a database is involved) can become quite large rather quickly.
  • The cost of providing the proper Quality of Service. This is a HUGE consideration. The user expectation is 24/7/365 for any solution, regardless of where the application or pieces of the application reside. Anyone who has run a large and successful website with a worldwide audience can usually attest to this - just ask Jason. ;-) For a small independent or hobbyist developer, this is a major commitment - often far more than they had bargained for and want to deal with.

Not surprisingly, quite a few of the developers in the audience for my presentation simply said "No way". They would build their applications, but Live Tile functionality was not going to be a part of the solution. It is important to note that there is no requirement for making a tile "live"; there are simply some requirements and guidelines on making your tile "fit in" with the overall Windows Phone 7 experience.

I walked away from that presentation realizing that Live Tiles could very well be the exception rather than the rule on any given Windows Phone 7 device. I also wondered "What could Microsoft do to help here?" 

What Can Microsoft Do To Help with Live Tiles?

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.

Conclusion

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.

__________________
Don SorcinelliMicrosoft MVP, Windows Mobile DevicesEditor-In-Chief, BostonPocketPC.com
 
Reply With Quote
  #2  
Old 11-05-2010, 02:53 PM
txa1265
Intellectual
txa1265's Avatar
Join Date: Jun 2005
Posts: 190

Thanks for the informative article ... but I really had a hard time getting past the usage of the word 'dearth' in th every first sentence.

Dearth means lack or scarcity, yet in the context of the sentence it seems to imply the opposite. I was then reading the article but stuck wondering whether you meant heavy coverage or inadequate coverage ... arrgh!

 
Reply With Quote
  #3  
Old 11-05-2010, 08:35 PM
Phillip Dyson
Mystic
Join Date: Aug 2006
Posts: 1,520

Thanks for the article Don. Very well written.
__________________

Phone: Nexus one Backup Phone: AT&T Samsung Jack; Future Phone: I'm Watching WP7; Media Player: Platinum Zune HD 32GB; Home Server: HP MediaSmart Server LX195 Console: XBox 360, PS3, Wii
 
Reply With Quote
  #4  
Old 11-05-2010, 10:11 PM
Don Tolson
Thoughts Media Review Team
Join Date: Aug 2006
Posts: 749

Quote:
Originally Posted by txa1265 View Post
Thanks for the informative article ... but I really had a hard time getting past the usage of the word 'dearth' in th every first sentence.

Dearth means lack or scarcity, yet in the context of the sentence it seems to imply the opposite. I was then reading the article but stuck wondering whether you meant heavy coverage or inadequate coverage ... arrgh!

I think he meant 'plethora'.
__________________
/drt
 
Reply With Quote
  #5  
Old 11-06-2010, 04:37 AM
ingenious
Neophyte
Join Date: Oct 2008
Posts: 2

I think it is crazy to go backwards so much. I mean, iPhone is so limited in that applications are so isolated. There's no interaction whatsoever. With Android there are so many ways of applications interacting with each other and this is really awesome. It is pure madness to make people implement costly server-side solutions in order to have stupid live tiles. And come on - I cannot implement a simple alarm clock? I'm not fine with only me interacting with the phone - I want the phone to interact with me!! Real shame.

What's the big deal about having an on device notification service? You can put some simple slider for the user to control it - left means no service and long battery life, right means notify as often as apps want. In the middle - notifications can have priorities and limits can be imposed on apps. This will even provide an easy mechanism for apps to communicate with each other! Didn't anybody come up with a solution like this? Should I rush to the patent office?
 
Reply With Quote
  #6  
Old 11-06-2010, 04:06 PM
Adan Galvan
Contributing Editor
Join Date: Feb 2007
Posts: 137

Im just surprised that microsoft didn't provide developers with a cheap/free option for push notifications. I am sure this will be coming. Either that or multitasking will be needed sooner rather than later.
 
Reply With Quote
  #7  
Old 11-08-2010, 02:15 PM
Ed Hansberry
Contributing Editor Emeritus
Ed Hansberry's Avatar
Join Date: Aug 2006
Posts: 8,228

Quote:
Originally Posted by txa1265 View Post
Thanks for the informative article ... but I really had a hard time getting past the usage of the word 'dearth' in th every first sentence.

Dearth means lack or scarcity, yet in the context of the sentence it seems to imply the opposite. I was then reading the article but stuck wondering whether you meant heavy coverage or inadequate coverage ... arrgh!

You aren't the only one txa1265. Kept cropping up for me in my mind as I read it.

Good article. While I understand why all tiles aren't live, I wish some were a little more live.
__________________
text sig
 
Reply With Quote
  #8  
Old 11-10-2010, 01:15 AM
MadSci
Ponderer
MadSci's Avatar
Join Date: Aug 2007
Posts: 62
Default Wrong Customers = WM7 Fail

Once again, MSoft just cannot bring itself to think like anything other than a Corportation - it's USers are a complete mystery to them it seems.

For existing WM Customers, it's about a richer and more convenient experience doing what they've always done. For most Consumer-type New Customers, it's about a richer and more convenient experience than they've previously had.

These both require both a better OS, AND a pile of APPs to choose from. MSoft seems to think that most App developers are corporations, not individuals. What else would drive them to place such rediculous requirements on Developers? I have plenty of Apps on my WM6.5.3 phone (Thanks NRG!) that call out to me when things happen - I like it, and non WM friends of mine admire it. How many such Apps will be around for WM7, hmmm...not many, 'cause not many Developers are going to develop, maintain and pay for a Server-based notification regime for each of their $1.99 programs in perpetuity!

It's hard to see why anyone would want to move from WM6.5 to WM7 anyway. MSoft gave away thousands of WM7 phones to its own Employees in the hope that they would become independent Developers of WM7 Apps to boost the rather anaemic Official Marketplace. I wonder how many of them could be bothered?

Am I the only one who thinks it's pretty foolish of MSoft not to give away $10 or $20 of free Marketplace Credit to WM6/5 Users in the hope that they will switch to WM7? Why else would anyone really want to switch, and flush all those nicely optimized Apps running in a multi-tasking environment?

BUt of course, I'm making the mistake of thinking that I am MSOft's Customer. I'm not, the Cell Networks are, and their goal is to have something flashy, not functional, to attract new customers. From my experince, less than 1% of AT&T Staff have any clue about WM, and I suspect it's going to stay that way, since they won't be seeing much movement of Consumers to this Platform, and many folks like me will keep hanging on to our WM6 devices as long as possible. Since a switch to WM7 means a complete loss of all my paid for Apps and my lushly customizable personal Interface, the logical next phone is an Android if I want to customize easily, or an iPhone if I don't.

Where's WM7 in this scenario? In the dustbin of History!
 
Reply With Quote
  #9  
Old 11-10-2010, 01:44 AM
Ed Hansberry
Contributing Editor Emeritus
Ed Hansberry's Avatar
Join Date: Aug 2006
Posts: 8,228

MadSci, MS is a corporation, so if that is how they think of themselves, they nailed it.

The Marketplace has just over 2,000 apps in it now and stores are running low/out of stock on some models.

I am glad you like WM devices, but WM was an absolute failure compared to its competition in the marketplace like the iPhone and Android devices. WM5 was a great move, but it stagnated. 6/6.1/6.5 was nothing but freshening up and had a very 2007 feel to it compared to the competition that feels very modern.

MS bet the mobile device farm on WP7. Way too early to say it is paying off, or not. Heck, until a CDMA version comes out in 2011, customers of half the US networks don't even have access to the platform yet. Let's see where we are in Q1 2011 before writing it off as an abject failure.

Personally, I am optimistic about it. It is a very simple and intuitive phone to use, which is what it must be. Yes, there are features and settings I dearly miss, but I am definitely not the target market. The average Joe is, and in that regard, it delivers IMHO.
__________________
text sig
 
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 07:20 PM.