Windows Phone 7 Developer Tools Architecture Wish list 

Saturday, October 16, 2010 3:05 PM

It seems that a lot of developers have issues with the fact that they cannot install the Windows Phone Developer Tools in a virtual machine. Going beyond that simple requirement, there are a lot of scenarios that need to be enabled. Here are a few (I intend to edit this post as I land up with more scenarios):

Mouse for Touch – Most developers work with desktops or desktop replacement laptops and rarely have a touch enabled fancy computer (thanks to corporate America's close watch on the cost). So an emulator that has touch functionality only if the host computer has it, will simply not fly.

Testing mobile web app for a link clicked in an email – This, I believe is a very fundamental requirement. Most mobile apps are centered around the inbox. Consider an approval system, an executive gets a notification email asking approval for a certain matter of importance. There is a link for approval and denial in the email which when clicked registers the executive’s action using a web application. Minus the Inbox in the emulator, this scenario cannot be tested. The emulator needs to closely resemble the actual device (take a cue from Blackberry).

App needs to know the current song playing based on which it displays artist events – This is a scenario where the app would like to subscribe to events published by another app to accomplish interesting things. It is a classic Publisher-Subscriber scenario. It is not required that the app talk to the other app directly, or the other app just publish its events publicly. The publishing app can retain the rights to deny event messaging, but the mechanism should exist.

App needs access to contacts data – Agreed that data is sensitive and needs to be isolated. But then we are also talking about claims based identity and OpenID, where a given app ‘trusts’ the provider to provide the authentication and like wise the provider ‘trusts’ that the consuming app will not misuse the information. The access is moderated by the user. Trust mechanisms need to be built where by access to data is moderated by the user by providing authorization to do so. How else would Facebook be so well integrated in the ‘People’ hub that makes the Windows Phone 7 unique?

Hubs are great, can I extend them? – For instance, can I extend the music hub to display artist tour events? Perhaps a plug-in architecture would help here.

It can be argued that one can program around these scenarios, but then each developer will come up with their own version of the protocols as the architecture is not helping. In the long run this will hurt more than the good it apparently does now. Probably the notification service is an answer to the Pub-Sub scenario, but it needs to go cross apps. Perhaps data services is an answer to sharing data, but then there is data redundancy (apps will cache the data locally to conserve network resources, remember this is a phone). And perhaps you could test the links in email scenario on a regular desktop and assume that it will work well on the device.

The intent is not to criticize, but to understand the best way to accomplish. If I’m missing something, I would certainly like to know.

Share This Using Popular Bookmarking Services
Comments are closed on this post.