Now that Microsoft has officially launched it’s latest incarnation of the mobile phone officially called Windows Phone 7 (WP7), what does that mean to all of us developers?
The biggest thing – you have to develop applications in Silverlight. But not just any Silverlight, the version for use on WP7 is a subset hybrid between Silverlight 3 and 4. I personally feel this is Microsoft’s way of promoting it’s slick looking implementation of a rich internet application (RIA) of which Silverlight’s main competitor is Adobe’s Flash Player. If you’re interested, hop on over to http://riastats.com for the latest browser statistics.
When I first heard that WP7 was going to use Silverlight as a user interface, I was pretty ecstatic. But when I was up at the Microsoft Campus in Redmond last month, I started drilling some of Microsoft’s developers; I wanted to know if I was going to be able to develop a Silverlight Application that would be internet browseable on a desktop using Internet Explorer, Firefox or Chrome and still be viewable on the WP7. To their reluctance they admitted that this was not the case. So let me put it this way… If you’re using the native Internet Explorer browser on a WP7 device and you navigate to a page that has Silverlight – let’s say http://www.microsoft.com – no Silverlight content will be displayed! That sounds completely insane. But I guess that’s another issue. For now, we’re going to have to develop dedicated applications for WP7 following the same paradigm that Apple’s iPhone and Google’s Droid has done – a proprietary development platform for their phone.
So what can a developer do on this great new platform? One cool feature is the ability to develop games that work on WP7 and Xbox. But what else? As a recent online article suggests, the hottest apps are social networking, news, and multimedia related.
But as a developer for line of business applications, my scope of vision always seems to focus on one thing – DATA. How do I get the data that I want, and how should I display it in a way that makes sense – not just to me, but to the end-user? Good UI design aside, I wanted to focus on the former – how do I get that data?
Well, it was Wednesday and the CEO of TempWorks received a package that contained a brand new Windows Phone 7 by Samsung. Gregg opens the box, pulls out the phone, turns to me and says, “Andy, this week you’re only allowed to spend 40 hours on AppPortal – the rest of your dev time I want you to build me a Windows Phone app.” And so it goes… On Saturday I set out to do just that – goal in mind – build a windows phone app that displays a list of customers from one of our development databases.
When I was at the Microsoft Patterns & Practices Symposium, one of the best sessions was “Open Data, Open Applications” by Don Box. The session touted OData – or the Open Data Protocol (http://www.odata.org). According to the OData website:
“The Open Data Protocol (OData) is a Web protocol for querying and updating data that provides a way to unlock your data and free it from silos that exist in applications today. OData does this by applying and building upon Web technologies such as HTTP, Atom Publishing Protocol(AtomPub) and JSON to provide access to information from a variety of applications, services, and stores.”
Don made publishing a database to a web service look so easy that I just had to try it. And in fact, in a matter of minutes I was able to use Visual Studio to expose a SQL database table to a WCF/OData web service that made my data available to the Windows Phone. In fact, if you check out the OData project on Codeplex (http://odata.codeplex.com/releases/view/54698) you can find a quick and dirty Visual Studio Project that will do just what I set out to do.
So now we have the base prototype for the next generation of TempWorks Mobile specifically made for Windows Phone 7! Woohoo, hours of coding fun in the future!
There you have it. Now I’m going to figure out how to secure my data on the phone!