How to: Improve the quality of your apps

With Android being so popular in the United States and across the world, it’s no wonder that developers are scambling to get on the Android bandwagon. Unfortunately, some of them do anything to hop on board and just end up slapping some crappy code together, call it an app, and send it to the Android Market. Then thousands of people download that crappy app and get a sour taste for the Android Market and Android in general. Obviously this is bad news.

Google advocate Roman Nurik knows and understands this and has compiled a few tips for how developers can vastly improve the quality of their apps.

  1. Listen to your users – There are to many developers with the mindset of “Hey great my app is in the market, time to sit back and let the ad revenue stream in.” Meanwhile, their app is buggy as all hell and despite all the downloads, people are complaining about certain aspects of the app. While the cash flow is decent now, it’s only going to get worse as time goes on. But if that same developer chooses to listen to his customers, fixes bugs and adds requested features, the cash flow from that app is bound to keep increasing. As Roman suggests, developers should read the comments on their apps and try to interact with their users. They should also consider running “beta” editions of their apps, as it’s crucial to get some real-world testing before releasing something full-scale to the Android Market.
  2. Improve stability & eliminate bugs – This one should be obvious. Stability is crucial and bugs are bad. With Android 2.2 supporting bug-reporting, it is crucial to read them as they come into your Android Market developer console. In addition, Roman suggests implementing an external bug and feature request tracker to keep communication close with your user base.
  3. Improve UI responsiveness – Ever tried playing a high end game on a low end device? Stop motion animation was great for Gumby, but not for your apps. Nothing annoys people more than having an app that is slow, choppy, chunky, laggy, etc etc. It’s extremely frustrating and is a sure way for your app to get uninstalled. Roman suggests taking a look at your hierarchyviewer. If your layouts are more than five levels deep, you need to KISS, or Keep It Simple Stupid.
  4. Improve UI usability – This goes back to listening to your users. When you have friends or family try out the alpha version of your app (or the beta or the final version) be sure to watch them. Take note when they look confused, puzzled, frustrated, surprised, etc etc. You need to minimize these cases by rethinking some of the ways your app interacts with the user. Roman suggests that Another way to incrementally improve usability, based on real-world data, is to implement Analytics throughout your app to log usage of particular sections. Consider demoting infrequently used sections to the options menu, or removing them altogether. For oftenly-used sections and UI elements, make sure they’re immediately obvious and easily accessible in your app’s UI so that users can get to them quickly.
  5. Improve appearance & aesthetics – Apps are like people, you shouldn’t have to have a few drinks for them to look attractive. If your app is ugly, that’s a problem. Roman recommends working with a real, bonafied UI designer, but obviously that’s not with everyones budget. That being said, he recommends getting familiar with the workings of Adobe Photoshop, Adobe Fireworks, or some other higher-end imaging tool. (If you don’t want to shell out for those, try the Gimp) “Mastering the art of the pixel” he says, can help build polish across your designs.
  6. Deliver the right set of features – I’m just going to go ahead and quote Roman directly here. “Having the right set of features in your app is important. It’s often easy to fall into the trap of feature-creep, building as much functionality into your app as possible. Providing instant gratification by immediately showing the most important or relevant information is crucial on mobile devices. Providing too much information can be as frustrating (or even more so) than not providing enough of it.”
  7. Integrate with 3rd party apps – App widgets, live folders, global search are all nice features, but it really doesn’t scream “overachiever” to the user. Now let’s say you add in the ability to edit that photo you just took in Photoshop Express before you share it via tweetdeck. If your competitors camera app doesn’t give you the Photoshop option, and only shares via the default twitter app, which app do you think the user will be more inclined to use? It’s all about the “extra” features that make apps more useful and appealing
  8. Pay attention to details – Have a good app icon. As silly as this sounds, a good icon says a lot about your app. If your icon looks like crap on the device, what does that say about the application that it launches? Make sure your icons are up-to-snuff by following these icon guidelines

So there you have it guys. Please note that while the above eight points are all Roman’s, I did greatly summarize them and add in my own opinions. For Romans full post, which is chock-full of helpful links, be sure to hit up the link below.

[via android dev blog]