Now, 2011, is a great time to move into Windows Phone development

Except that the article was actually called Why Android is the natural alternative to Windows Mobile for developers. The strapline for Matthew’s article added a little more meat to that statement: “When Microsoft killed off Windows Mobile, it left would-be developers with experience in its tools who wanted to build ‘line-of-business’ apps with a problem: what could they target?”

Matthew’s article covered many topics. It touched on:

fabrication of Windows Mobile and Android devices

line of business application development using the iPhone, Android and Windows Phone

patents

BlackBerry and RIM

It’s a well-written piece and I would urge you read it and Matthew’s other material.

I’d like to focus on one small piece of Matthew’s article. Specifically the piece about Windows Phone:

Windows Phone is also a pain because no one has them and no one (yet) wants to buy them. I believe this will improve when Windows 8 hits the market next year, but until then it’s difficult to pitch to customers. Plus you would think migrating software and apps from Windows Mobile to Windows Phone would be easy. It’s not, because of the radically different Silverlight-based user interface model. Windows Mobile is .NET-based and Java-esque.

It is fair to say that much has been written [during 2011] about the uptake of Windows Phone devices. The phone manufacturers [HTC, Samsung, LG, etc.] must be furious with the way the phone carriers [the likes of O2, Vodafone, T-Mobile, Orange, Three] have failed to market their Windows Phone products. It wasn’t until I was at DDD North on the 8th of October 2011 that I saw more than one Windows Phone device in the same place. In fact, as @scottisafool noted, by virtue of there being a handful of Windows Phone devices in the same place, it put many High Street stores and supposedly phone-savvy supermarkets to shame.

Every market has to start somewhere. Windows Phone is the new kid on the block and it has moved into a block that’s already very well established; current residents include Android, iOS and to some extent BlackBerry. Given that major pundits are referring to Windows Phone as the third member of the mobile ecosystem, I believe it’s fair to follow Matthew’s recommendation to ignore BlackBerry. Unless RIM have an ace up their sleeve, I have to agree with Matthew.

Despite this apparent low uptake, it hasn’t thwarted the application developers. As of today there are some 35,000 applications in the Windows Phone Marketplace. Many of the reputable news sources for Windows Phone report that about 90% of the core apps and games that “the others” have on their iPads, iPhones and Android tablets are available for Windows Phone devices. Whilst that suggests the market is pretty much sewn up, there are still gaps that need filled. Contrast this with the fact there are over 500,000 applications available for iPhone and Android devices and it’s fair to say Windows Phone has some catching up to do. Assuming, of course, that you believe catch up is required. One has to ask how many of the 500,000 or so applications are unique or are so trivial that calling them an application is an overstatement.

Nokia’s presence in the Windows Phone ecosystem should not be under-estimated. Rumours about their device line up have been rife. Leaked photographs of their proposed Windows Phone device(s) have been published, analysed and analysed again. This weekend, October 21st and 22nd 2011, TV viewers in the UK started to see subtle hints from Nokia, the Sea Ray made very short but pointed appearances between adverts in major shows on Saturday evening. This advertising, albeit very short, is very welcome. Windows Phone marketing has been beyond disappointing, a fact that cannot be denied and a fact that isn’t UK-specific. I would hope that advertising picks up as we get closer to Nokia World, October 26th 2011, when Nokia’s devices will be revealed to the public for the first time. Nokia have the ability to produce, market and sell millions of devices. In Europe, they are virtually independent of any particular demographic: kids, teenagers, housewifes, workers / business users, pensioners, the military…they all use Nokia devices.

Whilst Matthew believes no one has them [Windows Phone devices], he does believe that people will want to buy them in the future. And that’s the key: the future. The future for Windows Phone isn’t 12-18 months away, or further. It’s between now and Q1 2012. It’s now. Microsoft’s careful approach, whereby they built Windows Phone version 7.0, used customer feedback to refine it with NoDo and subsequently with Mango, mean they have an operating system that is a first class citizen in the mobile space. It can compete, and win, against the likes of iOS and Android.

Windows Mobile developers will continue to have their market in line-of-business applications for as long as there is demand and device availability. Where should they turn to next? Matthew believes that Windows Mobile developers should be focusing their future development efforts in the Android space. I have to disagree with that thought! The Android market is saturated. Android is an operating system that suffers from considerable fragmentation; there are many versions of Android, spanning major version numbers, still in use today. Examining the various platform versions, I see there are only a few flavours of Android that are “accepted” as primary development targets, which is a step in the right direction. Even if you target the three major versions of Android, the open source nature of Android means that developers might find themselves having to work around issues that are very device-specific.

Windows Mobile developers will find themselves moving from Microsoft’s .NET platform over to Java, which is means moving away from Visual C++ and the Visual Studio IDE. Thankfully, the existence of third-party tools such as MonoDroid, allow us to write C#/.NET code that can be deployed to the Android platform. However getting started with MonoDroid will cost you at least $399, which is very much worth it if you wish to avoid entering the Java camp. On the plus side, once you’ve written your application, it can be submitted to the Android Store and available for sale within hours. Ultimately, moving from Windows Mobile to Android should be considered a complete platform change: all of the tools, software development kits (SDKs), frameworks and deployment targets have changed. You could be buying into a whole new set of problems.

Windows Mobile developers who are considering a move to iOS are in for a similar surprise. Apple’s iOS relies on the Objective-C programming language. I won’t go into Objective-C in this post, but if you need to read more, there’s good content in this article over at The Guardian. Whilst iOS developers don’t suffer from Android’s OS fragementation, they do suffer from Apple’s lengthy application submission process. I’ve heard some developers say the application submission process can take weeks. I’ve also heard that Apple can reject applications without providing any reasons as to why the rejection occured – I believe Apple have gone as far as to ignore some Google application submissions! Not surprisingly, tools such as MonoTouch exist, whereby we can write C#/.NET code that runs on iOS. If I was developing for iOS, I’d be seriously considering the $399 cost for MonoTouch. Again, moving from Windows Mobile to iOS should be considered a complete platform change and one that may have a significant cost attached to it.

Contrast Android and iOs with the Windows Phone modus operandi. Windows Phone applications can be developed using a tool that Windows Mobile developers should be reasonably familiar with: Visual Studio. Windows Mobile developers have been used to working in a managed code environment for some time now and they are particularly comfortable with the Visual C++ language. Windows Phone development will mean developers use their choice of C# or Visual Basic – this shouldn’t be a major undertaking as it’s not a complete platform change. Windows Mobile developers should have a good grasp on the .NET framework. The move from Visual C++ to C# is, in my opinion, fairly painless. Yes, they will have to contend with a new deployment target, however it’s not a case of “all change” as it would be for Android and iOS, developers get to stay in the overall Microsoft ecosystem. And or course, the Windows Phone development tools are free, which is always good.

Many businesses are already allowing Windows Phones to form part of their device portfolio, whether the device is on the corporate asset register or simply owned by an individual. Once the consumer market opens its mind to the fact there are alternatives to Android devices, iOS devices, BlackBerry devices, the business space will see similar such uptake. Consumers have day-jobs, they don’t want to find themselves using a state-of-the-art Windows Phone device to manage their personal life and then to have to use a candy bar to make phone calls in their corporate life. Nokia used to be in the candy bar market, especially for corporate customers…I still have a Nokia 6021 gathering dust! Ironically, I carry a Palm Treo 750 (Windows Mobile 6) instead of the Nokia 6021. I also carry an HTC HD7 Windows Phone – it’s my personal phone. The HD7 gets more use than the Palm does – putting Windows Phone aside, the screen size makes it so much more useable.

Whether Windows Mobile developers choose Android, iOS or Windows Phone, they will still find themselves building their line-of-business applications using a new user interface metaphor – gone are the small buttons and stylus-inspired Windows Mobile user interfaces. Windows Phone, like the iPhone and Android is all about touch, sliding, pinching and tapping. Despite the ease at which I believe a Windows Mobile developer could pick up the Windows Phone development environment, it’s not the main reason I believe that they should move into Windows Phone application development. The ease at which a Windows Phone application can be developed is certainly a very important reason, however it’s not why I’ve written this article.

The primary reason is the exponential growth that we are about to see in Windows Phone uptake, particularly in the consumer space. As noted earlier in this article, during the week leading up to Nokia World, the commercial UK TV channels carried a number of subtle adverts. Even today, Monday 24th October, the free Metro commuter newspaper carried an advert for the HTC Radar – granted it could have done with having more than a “cake” on the screen, it could have showed off the OS! Assuming Nokia World proves to be the catalyst that Windows Phone needs and deserves, Q4 2011 and Q1 2012 are going to see massive uptake in the Windows Phone space. Demand for Windows Phone applications is going to go through the roof early next year, 2012. We need to be developing applications to meet that demand and we need to be doing it now. Rarely do we get a moment like this, we have six months notice that good times are coming: action, now! The Windows Phone market needs you!

So, you see, now, 2011 is a great time to move into Windows Phone development.

Great article you have put a strong argument forward to why Windows Phone devices shouldn’t be discounted when moving from Windows Mobile. I personally believe that HTML5 out of browser app support on devices would be a great step forward in cross device applications.

Thanks Grahame! I agree, HTML5 opens up further avenues and provides fodder for another article. Whilst I ranted on about Android and iOS in this article, my main drive is about the potential market size in six months time!

Having worked in the past on Windows Mobile 5/6.x I was excited at the prospect of Windows Phone. I attended the UK launch in early 2010 and came away incredibly disappointed at the lack of local database support – an absolute must for the types of business apps I was developing. I switched to Android. This presented some challenges: the terminology , the Java language (I’m from a VB background) & the API’s were quite alien. I looked at Monodroid but this was C# only so, I decided to go native Java. It was quite a learning curve but I got there (getting there anyway – we’re always learning).
The Mango release of Windows Phone and local database support re-kindled my interest in the Microsoft mobile platform. I’ve now ported one of my apps from Windows Mobile to Android and now to Windows Phone.
Getting to know a C-style language – Java – has also allowed me to transition into C#. All new MS projects are now C# as a language of choice.
My point? It is possible to transition across the various platforms and the time and effort can pay off with unexpected bonuses.
Must admit I can’t comment on iOS & Objective C as I don’t own a Mac. But, I’m guessing that my experiences thus far will ease the process when & if I get to it.
As an end note: I own a Google Android Nexus S and a Nokia Lumia 800. The Nokia running Windows Phone wins hands down as an end user experience. Although, as a techie I love the openness of Android.