Windows Phone 7 CTP review

The Windows Phone 7 CTP was launched in July 2010 and allows developers to start working on apps for Windows Phone 7 (WP7), theĀ  new mobile platform from Microsoft due for release in Holiday 2010. As part of an ongoing investigation into a range of mobile development platforms, I installed and played with the CTP and will present my findings here. This is part of an ongoing project in which I trial a range of mobile developer platforms, which started with my review of the current mobile development trends.

Windows Phone 7

Thoughts on the Windows Phone 7 platform

Windows 7 has been positioned for developers somewhere between the iPhone and Android, but with benefits over both.

Low level of device fragmentation: Like iOs, differences in devices are going to be limited. Like Android there will be a wide range of devices running Windows Phone 7 software after the initial devie is launched, unlike Android there will be just 2 screen resolutions that all devices must conform to and a wide set of minimum hardware specifications. This means it should be easier to develop on and test with Windows Phone 7 devices than the wide range of Android, Symbian, Blackberry etc devices that are out there.

Simple app store process: Like both Android and iOs there will be an app store, with a review process similar to the iTunes App Store. Microsoft have stated during the MIX10 event that their app store process will be as transparent as possible, and from the outset it looks like they are trying to make things easier and be more open than Apple. At the same time they intend to have more quality control than Android App Stores.

Easy learning curve: Unlike iOs, software is coded using Silverlight or XNA. Silverlight is to be the language of choice for regular apps, and has a far easier learning curve than Objective-C or the native languages Nokia, Blackberry and Android use (Java and C++ based languages) – its most similar to Flash in it’s approach. There is also no other choice of ‘native’ development platform, all apps including Microsofts own are coded using Silverlight, so it’s a level playing field. XNA is for creating games, and I won’t be covering it here.

The bad news… No devices have been released yet, and there is no telling how successful the launch will be. Also the CTP will change before release, so be prepared for some surprises.

Installation – easy and free

You will need Vista or Windows 7 to install the free CTP, then you simply download the tools and with a one-click install get a trimmed down version of Visual Studio 2010, Expression Blend, emulator and all required prerequisites and additional tools. Thats it! This is one of the simplest and quickest installs I’ve come across on any platform including iOs and Android. It was even simpler and less confusing than when I’ve had to work with Web Widgets such as Nokia’s WRT. It looks like the tools will remain free as Windows Phone 7 comes out of CTP and goes into full release, but it isn’t 100% clear.

The emulator – fast and reliable, but no devices

The emulator runs within its own virtual machine so it’s nice and fast and apparently gives a reliable idea as to device performance. A colleague found that due to the VM being used he couldn’t run the emulator within Parallels on OS X, although it worked fine with VMWare Fusion. The emulator takes a little while to load up (20 – 30 secs on my MacBook Pro), but providing you don’t close it, each subsequent build and run fires up almost instantly.

Sadly there are no actual devices to test on yet, so you cannot see how the app will actually run. This will want to be rectified before products go on sale to the general public if developers want to release apps at the same time without guessing at performance levels.

Getting started – a wealth of documentation

Since development is based on Silverlight and C#, both established languages, there are plenty of blog posts, books and articles showing you how to do almost anything you can imagine in a regular desktop app. Clearly there is also a need to understand the differences developing for mobile brings and Microsoft have done a great job getting together plenty of documentation and tutorials. I’ve listed the starting points for all the resources I could find here for you to browse if you’re interested:

As you can see, there is no shortage of documentation, and that’s a rare treat for a technology which has yet to be officially released.

How long did it take to create a sample app?

After watching a couple of sessions from MIX10 and working through the tutorials in the WP7 training kit (which took around a day), I was able to piece together a simple app which called a web service and displayed selected data in formatted fields. From start to finish the app took around 3 hours and I didn’t get ‘stuck’ at any point. Whenever I googled something I found a range of examples and methods, and before you knew it I was using XML to LINQ and the app was done and running in the emulator.

Final thoughts

Limitations live only in our minds

AttributionNoncommercialNo Derivative Works Some rights reserved by Yuga.

This looks like it will be a great platform to work with. The choice of language alone is enough to make this one of the easiest to get to grips with. Silverlight feels intuitive and easy to use, especially with the productivity benefits Visual Studio gives you. I’m as much a fan of TextMate and open source apps as the next person, but there is no denying Visual Studio is one of the best IDE’s out there. If you don’t know the language the code hinting tool alone can help you out no end, and that’s before we being to cover refactoring assistance and debugging tools.

It’s too early to say how well devices will actually perform, how easy the process of getting apps to market will be and how successful this platform will become. As a simple review of the tools, language and ease of development though, I can say with conviction that this will be one of the easiest to rapidly get apps developed with maximum access to device API’s and great looking interfaces.

I would go so far as to propose Windows Phone 7 will actually be the easiest mobile platform to develop for…

Finger crossed for this platform, it could be a developers dream ;-)

Leave the first comment: