Turning a great idea into a great app is not necessarily as straightforward as you may expect, and involves a number of important decisions: Which platform(s) should I target and in what order? Is this going to be prohibitively difficult or costly? How can I make sure that my app reaches the desired users? While you may know the answer to some of these questions (perhaps because of your love of iPhone or, in the reverse case, not owning a Mac for development), if you are a first-time app developer you probably need some assistance. Since there are already about 2 million smartphone apps, there is a plethora of online material about app development. However, this actually makes it difficult to “see the forest from the trees”.
In my attempt to help you, over the next couple of weeks I will publish three articles that shed some light on concerns that should impact your decision when choosing which platform to target (or which platform to target first) – ease of publishing an app, the quality of developer tools (including tools for cross-platform development), and the market opportunities. My first article today will highlight the distinct features of and (subjectively) rank the ease of publishing an app (red-yellow-green, red being the worst and green being the best) on three popular smartphone platforms – Android, iPhone, and Windows Phone (feel free to notify me if you disagree).
Testing Support
Once you have a working app you tested yourself, it’s ready for the store, right? Well, you might want to postpone celebration for a bit (remember the fiasco of the hastily published Apple Maps), and try testing the app with a large group of prospective users. Luckily, all three platforms now have support for beta testing. Android has a very smooth process for creating a Google+ community of beta testers and distributing apps through the store. Oh, and you can perform staged rollouts of your published app to be extra careful or if you’re struggling to find testers. Beta testing of iPhone apps is more difficult: you have to register each test device via its device ID, go through a tedious process of signing and packaging your app, and your testers will need to use iTunes to install and run the app while connected to a Mac. Of course, there are custom third-party products that improve the testing process (TestFlight is a good example), but this should really be provided by Apple, IMO. Windows Phone is somewhere in between the other two: you basically maintain a list of semicolon separated Windows Live accounts, and send them a URL of your beta package (staged rollouts are not supported yet).
Result: ⬤ Android ⬤ iPhone ⬤ Windows Phone
Difficulty of Publishing
For better or for worse, publishing Android apps in the Google Play store is straightforward, and, as long as you don’t violate common content restrictions, it will remain available. Apple and Windows Phone, on the other hand, require preapproval of your app. In both cases, this involves a lengthy checklist. For Windows Phone, the checklist is relatively easy to follow, which seems to result in a lower number of dubious rejections. With Apple, however, you are often at the mercy of an anonymous reviewer (just search for frustrated online posts and pieces of humor). The first part of the publishing process is complying with iOS Human Interface Guidelines, which is good as they will help you make your app look and feel nice. The second (and far less clear) part is complying with Apple’s restrictive App Store Guidelines, which include stipulations such as rejecting apps that are similar to apps already in the store and “there are many of them,” imposing restrictive in-app billing, and rejecting apps that duplicate functionality of Apple’s existing apps, even when your app has more functionality or better performance. Hence, the ratings seem to be pretty clear-cut.
Result: ⬤ Android ⬤ iPhone ⬤ Windows Phone
Process Transparency
While it may be unavoidable to go through some sort of app review, it is nice to know where you stand and where things went wrong. In case of Android, everything takes a total of zero days, and even if your app is removed for alleged intellectual property infringement, the process of explaining those claims, letting you dispute them, and even talking directly to the IP owner seems to work pretty well. For both Microsoft and Apple, you can expect your app to be reviewed in about a week with reasonable feedback if the app didn’t pass basic functional tests (e.g., crash reports). However, the rejections based on some of the more subjective criteria, especially in the case of Apple, are not necessarily well explained and are infrequently overturned; pointing at existing apps that more blatantly violate the same conditions will be to no avail. But don’t get to mad about a rejection because App Store Guidelines hint at revenge (“If you run to the press and trash us it never helps”) in case you are tempted to publicly air your discontent.
Result: ⬤ Android ⬤ iPhone ⬤ Windows Phone
Costs and Revenue Share
The usual step before starting to develop an app is to pay for developer privileges. This makes sense since the platform owners provide you with some level of support (e.g., app hosting and developer tools), even if they earn nothing from your app. Here, Android is the most favorable with a $25 one-time fee, whereas Apple and Microsoft end up charging you $99 a year, plus some additional fees in the highly unlikely case that you manage to develop over 100 free apps. The only exception is if you are a student, in which case Microsoft will kindly charge you nothing. In terms of what the distribution of your app will ultimately cost you, things are pretty simple and uniform: the app stores will take 30% of whatever you are charging your customers (true for Blackberry as well). I have no idea where the magical 30% comes from, especially since the smaller players (hint: Windows Phone) would seemingly gain some advantage by offering to take less. But, to get back on topic and not start a rant about possible industry cartels, I will just conclude that Android is the cheapest option unless you’re a student, in which case Microsoft may be an even more favorable option.
Result: ⬤ Android ⬤ iPhone ⬤ Windows Phone
Bottom Line
It should come as no surprise that Android is the easiest-to-publish platform due to its envisioned openness. Hopefully, the information I provided in this article gave you some insight into the specifics of the different publishing processes, and uncovered where publishing on a relatively new platform like Windows Phone 8 currently stands. Last, but not the least, I need to repeat that there are many other decisions that affect your choices for app development, and what seems to be easier for the developer is not necessarily better for a user. For more discussion on this, you will have to wait for my future posts.