I recently wrote a TechRepublic article about my experience of creating a Windows Phone 7 application. Now I'll focus on what it is like to work within the Windows Phone 7 ecosystem in terms of getting support and having your application published. Be careful — it is not a fun ride.
App Hub annoyances and bugs
In order to distribute your Windows Phone 7 app, you need to deal with App Hub, Microsoft's developer site for Windows Phone 7 and Xbox 360. I got the impression that Microsoft could not care less about developers here. There is no customer service phone number on App Hub. There is a support form on the site, but it is only accessible to the folks who pay the $99 fee. In my experience, the form was useless, because no one ever responded to my queries. If you go to App Hub Support, you're instructed to use the forum, or call and create an incident and pay for it.
From what I can tell, no Microsoft customer service reps monitor the forums. I asked a number of customer service questions, none of which were answered by Microsoft. When there were critical issues with App Hub, no Microsoft personnel came into the forums to straighten them out, and there were no posts from personnel on the Windows Phone blog either. I spoke with Todd Brix, the Director of Product Management for App Hub, and his response was that they were adding more technical resources to the forums in a couple of days (from the time we talked). The additional resources will be appreciated by folks with technical issues, but it does not address the customer service problems. Since I spoke with Mr. Brix, the customer service issues remain the same.Updates: Microsoft is now monitoring the forums a little bit better. I posted something up on another customer service issue, and a few days later someone responded... they told me to use the support form. Also, I did submit a support form (a day after my forum posting, because no one had responded yet). I got a response the next business day, but it was not inspiring (basically ignored my entire message other than the initial statement of the problem, and responded with something that was clearly not the right answer if they had read my message). I responded within a few minutes that I needed someone to actually investigate my issue, but I haven't heard back since (that was mid-day Friday).
Even the paid technical support is a joke. I called it, and in the process of walking through the phone menu, it was clear that the system was not aware of App Hub. When I told the phone menu "App Hub," it took me to Xbox support (which makes some sense since App Hub is joined with the Xbox development system), but in that phone tree there were no options for App Hub issues.
Forum threads related to customer service issues (when they are answered) are often locked by overzealous moderators who deem threads to be pointless (their words, not mine) if they respond with a non-answer, and you ask for more information. Many of the users (including myself) are extremely angry about the imperious nature of the moderation and the inability to get any customer support. There is virtually no communications from the App Hub team either about these issues. For example, when App Hub suddenly treated paying customers like free customers, there was zero information coming from Microsoft (the solution was to go to the Xbox Live website, of all places, pull up your profile, and agree to a new Terms of Service).
Speaking of Terms of Service, the application guidelines are almost as bad as Apple's. The number of things that are forbidden is quite large. While I agree with much of the sentiments, the agreement undermines the positioning of the phone as a consumer device. For example, including XNA development was a smart move to potentially make it the best phone gaming platform around and to leverage the skills of Xbox and other XNA developers. But the guidelines prohibit many of the things that are quite common in video games. For example, much of the gore that has been commonplace in games is prohibited, as is excessive use of explicit language and content of a sexual nature.
I have also seen posts in the forums complaining about the uneven application of the guidelines. For example, some users reported that their applications were accepted initially, but rejected upon resubmission for things that had not changed. My experience of submitting my Airport Status Checker app was not great, but it could have been worse.
My Windows Phone 7 app failed the initial submission, but the feedback was useful and pointed me directly at what I needed to correct (error handling). Unfortunately, the resubmission process was a bit confusing, and I lost a day while my application sat in a state where it wasn't going to be re-evaluated. The resubmission failed as well. It was clear to me that the testing stops the moment a problem is found. This leads to a ton of wasted time, since you have to resubmit three times to find three failures. If the testers did the full battery of tests up front, it would be much more helpful.
The App Hub site is incredibly buggy. Here's what I encountered and have been told:
- The forums often do not load in a timely manner.
- You cannot view the profiles of people if they have a space in their name.
- There is no private messaging system.
- Signing up for an account is painful. For me, there was an AJAX validation that was not being triggered correctly, so I lost two weeks of potential development time until I tried the form in a different browser, and it worked fine.
- The developers who were using the previous Xbox and Windows Mobile development systems are fairly upset; apparently, those systems had been quite buggy and finally were sorted out when the merger with App Hub occurred.
Another major issue is billing. App Hub does not currently allow for any kind of subscription billing; this means that any application that creates on-going expenses on your end (like anything where you need to provide a server-side component) has you walking a fine line between making the app cheap enough to sell, and risking having the users cost you more money in the long run than they paid you. Your alternative is to build a payment system into the application itself, which is a major usability issue and requires a significant amount of development work.
There will be no payouts from App Hub until February 2011, and there is no built-in reporting on downloads as of now. These are all things that are supposedly coming, but for the time being they are desperately needed.
The development experience on the technical side rates a C at best. The lack of APIs took the wind right out of my sails. Outside of that, it wasn't bad. The emulator is not great; it cannot emulate the sensor stuff, so you are forced to spend money on a phone to test those kinds of functions. This puts developers who want to work on innovative applications even further behind the ball.
If Microsoft gets serious about supporting customers — because that's what you are when you pony up $99 to be a premium member — I could forgive a lot of App Hub's technical problems because those issues are just annoyances. But Microsoft's lack of customer service is simply unacceptable. Microsoft is essentially allowing people to pay to participate in what is still a beta experience, and the results are a disaster. If people did not have to pay to submit applications, it could be swept under the rug, but once you are formally a paying customer, you have every right to expect better.
Unless you consider Windows Phone 7 to be a "must do" platform for development (which is quite unlikely), I suggest that you think of Windows Phone 7 development as a hobby or a learning experience rather than a source of revenue until the App Hub issues are sorted out. When the App Store experience improves, you will still want to carefully evaluate the API's capabilities and Windows Phone 7's position in the marketplace to make sure that the apps you want to write are possible, and that you have enough market opportunity to justify your ROI.Note: Read more updates about this topic in my discussion post.
More about Windows Phone 7 development on TechRepublic
- Windows Phone 7 through a developer's eyes
- Poll: Do you need a third major mobile development platform?
- Microsoft's critical missteps with Windows Phone 7 development
- Poll: Can Windows Phone 7 compete with iPhone and Android?
- Job market is hot for mobile business app development
J.JaDisclosure of Justin's industry affiliations: Justin James has a contract with Spiceworks to write product buying guides; he has a contract with OpenAmplify, which is owned by Hapax, to write a series of blogs, tutorials, and articles; and he has a contract with OutSystems to write articles, sample code, etc.
Justin James is an OutSystems MVP, architect, and developer with expertise in SaaS applications and enterprise applications.