When Written: October 2010
Whilst I was out there enjoying walking the streets of Phillidelphia and taking in the splendid sights I had time to reflect on the imminent release of Windows Phone 7 which happened whilst I was there. The news channels were of course full of Microsoft’s ‘iPhone’ killer. Would it really be an iPhone beater like Microsoft plans? Or is Android the real threat? These are questions for Paul’s column really but as a developer of web and mobile applications, deciding on what platform to develop for is always an important choice. The current success of the iPhone makes it an obvious choice to develop for, or does it?
Your application could be in danger of being lost in the thousands of other applications. Being the first to develop a virtual beer glass or similar application for a particular mobile device can be important, coming second means much less revenue. However, whatever platform you develop for must obviously have a large number of users for it to be worthwhile and we have yet to see how well the Windows Phone 7 sells; obviously there will be a take up of early adopters but it is the sales after this initial surge that will be telling. The other consideration is how expensive or difficult is it to develop applications for a particular platform. The iPhone / iPad requires a Mac and an annual fee of $99 for an individual. Android development is free but to publish you need to register for $25 and uses Java. Windows Phone 7 development tools are also free with a special version of Visual Studio 2010 Express and you code in C# and XAML. A Visual Basic version is to follow apparently, but again if you want to publish your application you need to register for $99 which allows you to develop for both the phone and the Xbox.
For all of these three platforms there is a free student subscription, so if you were wondering how you were going to pay off that student loan, then get coding and create that ‘killer app’ for the phone of your choice! Just when you think you have decided on your platform to develop, there is another called QT which is not just a mobile platform but runs on Mac OSX, Linux, Windows, Windows mobile, Symbian and MeeGo. QT is being fully supported by Nokia (http://qt.nokia.com/products/platform/platforms)
[graphic:qt.jpg caption: QT Open source O/S for Nokia phones]
and so throws another player into the field of smart phone application development. Personally I favour developing on Windows Phone 7 just because the development tools and environment are familiar and very well featured as we have covered before, but whether the market for my killer app will ever be big enough to make me my fortune is dependent on the sales of the phone, and it is anybody’s guess at the size of that.
There are currently two ways to develop for the Windows Phone 7, the first way is as a Sliverlight 3 application using either Blend or Visual Studio, or more likely a combination of the two. The other way to develop an application is by using Microsoft’s XNA gaming framework, this will obviously appeal to current gaming developers and it is interesting that the phone apparently has the capabilities to support this framework along with Direct X.
I will be looking forward to seeing the quality of games that will appear on this phone, although quite what they will do to the battery life we have yet to discover! Games are possible with Silverlight in much the same way as simple games are possible with Flash and I am sure that a lot of developers will take this slightly easier route of Silverlight development on the phone. This leads me to a question that I am asked often. What is the point of Silverlight, when we have first Flash and now HTML 5? There are even rumours that Microsoft are stopping development of their range of products for designers in the Expression range as they have not made any great inroads to Adobe’s domination of that particular marketplace.
There is obviously a place for Expression Blend as the tool for designing in Silverlight but as for the rest? Perhaps we have seen the last versions of Web, Encoder and Design ? I would like to take a guess that Blend will be enhanced to cover HTML 5 development and so allow the user interaction and animation possibilities of HTML 5 to be designed in the Blend environment, but the resulting code would be selectable between HTML 5 or Silverlight.
Article by: Mark Newton
Published in: Mark Newton