The Benefits of an Open Market
Two years ago I wrote a post giving some of my thoughts on the benefits of the Android Market, now known as Google Play. The general idea of the post was that while there are some problems with Google Play, there are also some great benefits for developers.
One of the larger benefits that I see is that there is no delay between the time that I upload an app and press the “publish” button and when the update is available on a users device. With the Apple App Store, there is a review process for applications, so it takes days or even weeks from the time that you have submitted a new application– or even an update to a current application– and when the submitted application is available for a user to actually install it on their device.
The Amazon Appstore for Android is even worse. Their submission process also has a review process similar to the Apple’s, and generally takes as long as the Apple review process, but once your app has been approved it goes through another review process where the application is specifically tested for compatibility with the Kindle Fire. This second review seems redundant and adds a few more days onto the whole process. In my experience I have even had applications that passed the initial review and then failed the review for the Kindle Fire. The failure is always something like a missed reference to the Google Play Store in the package that I submitted to Amazon, which is against their terms. It’s frustrating to try to explain to someone that they can get an app on the Amazon Appstore for Android using their phone or tablet but not with the Kindle Fire.
The appeal of the ‘instant publish’, for a developer, is that a bugfix can be pushed out faster. When I originally wrote the previously mentioned post I was writing from the point of view of an Android developer that had never published an application on the Apple Appstore. For the past 18 months I have been working as a “Mobile Applications Engineer”, which basically means I am responsible for writing and maintaining my companies mobile apps on both iOS and Android. I recently ran into the issue where there was a bug in an iOS app that I had published. The app was technically working– as in it didn’t crash– but one functionality of the application was not working and I failed to catch that in my own testing. The application was approved by Apple and published on a Friday afternoon.
I did not get any feedback on the application until Monday morning. I turned on my Atrix 2 after waking up and saw 15 emails with reports of a bug in the iOS app. I had no idea what went wrong, and did not have an iOS device at home to test with so I immediately went to work to try and figure out the issue. By the time I arrived at my job I had received at least 10 more emails about the issue. It took me less than 15 minutes to reproduce the issue, 15 minutes to figure out a solution, and another half hour to build test builds and put them on a few devices and verify that the issue was indeed fixed.
At this point in time as an Android developer I could have just uploaded the bugfix version of the application and the users would be taken care of. Unfortunately this was an iOS application which meant I had to submit the application for review. It took just over a week for the last update to be approved so I was very nervous that a buggy app would be up for a whole week before the fixed version was available. I started searching for ways to get the review process to go faster. Eventually I stumbled upon a place in the iTunes Connect web application that lets developers request an “Expedited Review”. I immediately filled out the information and sent my request. Later that day I received an email letting me know that my request had been received. The next morning I received an email letting me know that my request had been approved, and that evening I received an email letting me know that that the review process was completed and that my submitted update was accepted and should appear in the App Store soon.
All in all there was roughly a 36 hour period between the time that I submitted the application and the time that the fixed application was available to users. One and a half days is not too bad, but the problem from my perspective is that had this been on Android, there would have been no 36 hour wait. What did I learn from this experience? I learned that I really need to invest the time into writing some automated tests and that I need to test my software as a user, not a developer.
Overall as I developer, I find the ability to instantly push out updates highly desirable. As a consumer I appreciate the fact that submissions are tested and verified to at least technically work and not crash. Is there a perfect system? Not that I know of. What is the perfect system? I don’t know. If there was a way for developers to be able to reach their users quickly with bugfixes and even new features that allow for consumers to not have to wade through extremely low quality and exact duplicate apps, then I would be one happy developer.