Problems with the Android Market
I have been developing for Android for a long time now and I am increasingly thinking that the Android Market is the single most problem with the Android ecosystem. While this might be seen as a Google bashing post, please don’t get me wrong. I actually like Android. I like the ease of development, the breadth of devices, the growth of the platform and the ease of publishing.
Here’s a list of the main problems I have with the Android Market together with some thoughts on solutions (in italic). I am writing this because I know many developers are frustrated. Let’s hope it helps galvanise Google into action.
Discovery
Problem: There have been recurrent problems where apps cannot be found on the market. This occurs because Google has to enable phone models on the Android Market. Hardware OEMs have been shipping phones before this has been done. It’s well known that people download most apps when they first buy a new phone. Since people also tend to buy the latest phones, users get frustrated and developers get asked about a problem they can’t solve.
To Google: If you haven’t done so already, tighten up your processes so this is unlikely to happen. If it happens, fix it quickly - not over several days!
Problem: There’s no official PC web interface to the Android Market where it would be easier to discover apps. Future ‘push’ installs from the PC will require an official web interface to the Android Market.
To Google: This isn’t rocket science. Many third parties, that are probably ‘one man bands’, have stepped in and shown how easy this is. If you can’t do this or don’t have the resource then buy in one of the third party solutions.
Problem: The current app description constraints (description 325 characters, app name 30 characters and 2 screenshots) are insufficient to promote an application.
To Google: Why were these limits imposed in the first place? It seems to go against Google’s seemingly ‘unlimited’ resources. This really can’t be that difficult to improve?
Publishing
Problem: When a credit card transaction fails, for some reason the buyer doesn’t seem to know and ends up emailing asking why they can’t download. I have also had people who have been in a state ‘Authorizing purchase’ for many hours and have also seen app purchases cancelled due to ‘internal error’ after which they can’t ever purchase again.
The developer can’t do a thing about these problems and the Google online help says contact the developer! There are too many of these problems relative to the number of sales. As one of my potential purchasers said "I hope you and your fellow developers put some heat on google to clean up the problems. Users will be happier and you’ll be wealthier!"
To Google: These problems are not decreasing with time suggesting they are not being fixed. You need to be more open and proactive fixing problems and not hide behind a web contact form (that also takes a lot of finding).
Problem: Some people are paying over double for an Android app on the Android Market, due to cross-currency credit card fees. The problem is that when paying for a $0.99 app, the fixed credit card fees become significant.
To Google: Consider aggregating micropayments within a small timeframe so that several micropayments become one. Allow payment by PayPal.
Piracy
Problem: There’s only a limited number of countries to which apps can be sold. As of writing this, the countries only include Austria, Australia, Canada, France, Germany, Italy, Japan, Netherlands, New Zealand, Spain, Switzerland, United Kingdom and United States. The lack of countries has contributed to what has become a thriving pirated software sub-culture. The 24 hour ‘no questions asked’ refunds AND the ability to pirate apps easily results in the situation where it’s typical for only about 20% of installs to be from the official Android Market.
Most developers (on all platforms) ignore piracy and guess that most people copying apps wouldn’t buy them anyway. However, as more and more applications are using data at the developer’s server, data use, bandwidth and resource usage at the server can become problematic. Google’s copy protection for purchased apps is very poor. It’s possible to easily copy APKs so that they can be either be purchased and refunded under the 24 refund policy or, more damaging, offered via file sharing sites and services. Google might say that it’s up to the app provider to provide copy protection. However, this requires that the app developer tie a purchase with an app install - that also has its idiosyncrasies. The Google Android Market Checkout Notification API doesn’t work. The XML http notification of a sale doesn’t work.
To Google: Developers need a simple ‘Is this app paid for’ API that would deter a significant amount of piracy. Maybe this could be done at the OS rather than the app level? Payment needs opening up to more countries and payment providers.
Comments and Ratings
Problem: There’s currently no way to redress comments (and ratings) on the market. Sometimes it’s user error. Other times problems might have been fixed with a new release. Yet, the comments remain. Also, there’s also no way to contact the person who posted the comment in order to help them.
I also have some more thoughts on in-app payments, changing the ownership of an app and the ambiguous terms in the Developer Distribution Agreement with respect to charging for products that predominately use a server. However, I think that’s enough for now.