6 months ago saw the announcement of Microsoft’s attempt to remain relevant in the smartphone space: Windows Phone 7. At the time I poked fun at it the fact that it was basically Microsoft’s interpretation of what the iPhone would’ve looked like if they made it but realised that the platform had potential. If there’s one thing Microsoft is good at its throwing money at a problem until they eventually get it right, like with the Xbox (are they even making money on the consoles yet?) and Windows Phone 7 seemed to be one of those kinds of problems. One thing that it did have going for it was the fact that a Windows developer like me could code for the device without reskilling too much and that’s where the real power is.
As much fun as it is to learn a new platform it’s still a giant barrier to building an application on a new platform. I haven’t done any development on any mobile clients yet purely because the two major ones I want to target use a language that I’m not familiar with. Sure there are cross platform libraries that might help to ease the learning curve but unfortunately they’ve been hamstrung by Apple’s restrictions and aren’t fully compatible with my IDE of choice, Visual Studio. So for any enterprising developer looking to build a mobile application there’s always an initial hump to get over in order to be an effective developer on the platform. That or you shell out some dollars to get someone else to do it for you, but not everyone can afford that.
If you were just to look at the number of developers working on any platform, whether it was mobile/desktop/web/whatever, the largest group would arguably be those working on Windows. With the number of desktops, laptops and other devices running some form of Windows exceeding 80% of the total computers worldwide the number of developers working on that platform far outnumbers that of any other. Microsoft knows this and whilst anti-trust legislation will prevent them from using their current monopoly on the desktop to leverage into the mobile space that won’t stop them from making it damn attractive for developers to gravitate to the Windows Phone 7 platform.
Now I’ve been a developer for a while, about 6 years as an amateur and maybe half that as being paid to do it as part and parcel of my usual system admin responsibilities. In that time I’ve used my share of environments, languages and platforms and out of the lot the one that I keep coming back to is Visual Studio. Whilst some might hate me for this next comment Microsoft’s tools just make coding things so damned easy to the point where there’s nothing I don’t think I’m a tutorial away from being able to do myself. Microsoft knows this and the past few months have seen them trying to lure their developers over to the mobile space with things like free development environments only seeking to charge you once you’re sign up for their marketplace.
They just don’t stop there either. Microsoft made headlines about a month ago when they gave each and every one of their employees a new WP7 phone. It was however a veiled gift as it came with the instructions that not only should they evangelize them amongst their friends but also develop apps for them in their spare time. With Microsoft having 89,000 employees this is no small number of handsets and whilst not all of them are developers (I’d hazard a guess at 30~40%) there’s still enough of them there to have their numbers brushing up against both the iPhone and Android platforms. That doesn’t even include potential developers outside Microsoft who might just start developing for WP7 if it takes off merely because it would be easy to do so. Realistically if Microsoft can harness the power of their developer base in the same way Apple did with theirs they could really pull themselves around in the mobile space, maybe even turning it into a 3 horse race.
The question is of course whether or not the teaming masses of Windows developers will find any point in developing for the mobile space. It can be argued that many desktop applications, where the vast majority of Windows application developers reside, can’t be transitioned onto a mobile platform in any useful way. Realistically if any developer was looking to tackle the mobile market they would have done so already and consequently have substantial investment in their platform of choice. Still the ease at which WP7 applications can be developed using existing skills and knowledge means that the platform might just become dominate because it brings developers to the mobile space that would have never considered it before. Since it can be argued that Windows Mobile is arguably the same thing as WP7 (just not as sexy) it’s going to take a bit more wooing from Microsoft to draw those reluctant developers over and in the lead up to the first WP7 phone hitting the markets will show them doing just that.
Personally I’m still excited about it. I’ve tried to develop simple applications for Windows Mobile before and it was always a royal pain in the ass. The new Windows Presentation Framework based interface for WP7 means that developing code for them will be that much easier. Additionally the integration with existing code bases will mean that the kinds of functionality that would usually have to be developed for the specific platform can now be leveraged with minor modifications, something that I know will at least have developers playing around with WP7.
And that is what has the potential to make WP7 the dominant player in the mobile space.