It's the apps, stupid. Development itself for Windows Phone isn't terrible. Not as painful as Blackberry, not as idiosyncratic as Android. HOWEVER, the friction involved when attempting to move a Windows Phone project past initial development into testing mode is annoyingly high, in my experience.
Take, for example, the requirement of getting your "Hello, World" app installed on real hardware and out to beta testers:
Apple: Pay your $99 bucks, get the development environment and your identity info, generate certs. You can have your app running on your own equipment in just a few hours. A couple more hours to figure out how to package it the right way for testers (or use TestFlight) and you can add up to 100 beta testers.
Android: Don't even need to sign up as a developer and pay your 25 bucks until you're ready to go. You can have your apk running on your own devices in no time at all. You can shoot your apk out to as many people as you want to test.
Blackberry: The web site's a hot mess, but it takes less than a day for them to get you your signing key, so you can generally get Hello World running on your Blackberry hardware within a day. You can shoot your app out to as many beta testers as you want.
Windows Phone: You can't test on real hardware until your developer's identity has been verified by a third party company external to Microsoft. There are documented cases where this has taken more than three months to complete. (This is if you can even pay for the developer's account because their web site rejects valid credit cards as a matter of course unless the stars are aligned. Apparently some bug where they see all credit cards as debit cards?) We're on month two and counting waiting to get 'verified.'
I totally get that they need to determine who you are in order to get your apps into the Marketplace (Apple does this as well, although I believe they do it internally--and they're relatively fast), but just to test your software on your own hardware?
Re: beta testing, you only get three registered development devices tops per developer and while they do have a facility for beta testing, it requires automated review by Microsoft to pop into the Marketplace.
I hear from Windows Phone users daily, many of whom moved to Windows Phone from Android phones because their phones were just too unreliable and they can't bring themselves to go to iPhone, and they are very vocal about being frustrated with the number and quality of apps available to them. I can't help but feel like Microsoft just doesn't understand how important quality apps are to smartphone users and how the friction they've got in their app developer workflow is a serious impediment to growing their app ecosystem.
I really wish Microsoft would get this workflow together already...they've got a fantastic chance here to make serious inroads but I don't feel like they really understand (mobile) Developers, Developers, Developers! yet.
Take, for example, the requirement of getting your "Hello, World" app installed on real hardware and out to beta testers:
Apple: Pay your $99 bucks, get the development environment and your identity info, generate certs. You can have your app running on your own equipment in just a few hours. A couple more hours to figure out how to package it the right way for testers (or use TestFlight) and you can add up to 100 beta testers.
Android: Don't even need to sign up as a developer and pay your 25 bucks until you're ready to go. You can have your apk running on your own devices in no time at all. You can shoot your apk out to as many people as you want to test.
Blackberry: The web site's a hot mess, but it takes less than a day for them to get you your signing key, so you can generally get Hello World running on your Blackberry hardware within a day. You can shoot your app out to as many beta testers as you want.
Windows Phone: You can't test on real hardware until your developer's identity has been verified by a third party company external to Microsoft. There are documented cases where this has taken more than three months to complete. (This is if you can even pay for the developer's account because their web site rejects valid credit cards as a matter of course unless the stars are aligned. Apparently some bug where they see all credit cards as debit cards?) We're on month two and counting waiting to get 'verified.'
I totally get that they need to determine who you are in order to get your apps into the Marketplace (Apple does this as well, although I believe they do it internally--and they're relatively fast), but just to test your software on your own hardware?
Re: beta testing, you only get three registered development devices tops per developer and while they do have a facility for beta testing, it requires automated review by Microsoft to pop into the Marketplace.
I hear from Windows Phone users daily, many of whom moved to Windows Phone from Android phones because their phones were just too unreliable and they can't bring themselves to go to iPhone, and they are very vocal about being frustrated with the number and quality of apps available to them. I can't help but feel like Microsoft just doesn't understand how important quality apps are to smartphone users and how the friction they've got in their app developer workflow is a serious impediment to growing their app ecosystem.
I really wish Microsoft would get this workflow together already...they've got a fantastic chance here to make serious inroads but I don't feel like they really understand (mobile) Developers, Developers, Developers! yet.