Sunday, September 11, 2011

Android development tips

Here are some tips for Android developers that, hopefully, will make your app's reviews in Android Market be more positive. The tips below are a compilation of tips found at Swedroid together with my own personal experience of Android development.

Does the app work on all platforms?
The app should be working on as many platforms as possible. Make sure that all screen sizes are supported and test them thoroughly. Obviously, you don't need to have 20 or so phones but at least create an Android Virtual Device (AVD) for each available screen size. Make use of the multiple APK support if needed.

Test the app!
Pretty basic maybe, but nevertheless important. Give the phone to a friend (preferably not a programmer) to test. Use unit testing in your Android project, see Android developers. Test the app with different screen sizes.

Update the app often
With bug fixes, then what about testing!? Update your app frequently, that will make your users feel that something is happening and the development teams cares about their product. Your don't have to add many or big changes in your updates, update your app more often instead.

Update the changelog with every update
Make use of the changelog before your publish a new version. Don't just write "bug fixes", write which bug fixes you have done. This will help both you and your users.

Only add the permissions that you really need to the manifest file. The users may react negatively if the list of permission requirements is too long or not relevant to the user's idea of the app. If your are writing a simple calculator, then adding a "send SMS" permission might seem a bit odd.

Developer console is your friend
Use the Developer console to track the app's comments, see download statistics and the reported errors.

Wednesday, June 22, 2011

Update or upgrade?

A new assignment has been given to you. A new update to the software, or is it an upgrade? After a while, when you have written a few lines in the technical specification you realize that you cannot decide which term to use, and you have already used both of them in the document. 

Which term, update or upgrade, should be used? This is my personal definition, but I have seen others using the same definition.

An update is often a small change, e.g. a bug fix. But it can also be smaller new features added. What a small feature is will of course vary from product to product.

An upgrade is a pretty large change in the software. The software can be partially re-written or many new features has been added.

A software may be often updated, but not so often upgraded. In commercial software, an update is often free (since it may be a bug fix) but upgrades are not (new features added, or a new platform support).

This is one definition, but every software organization should adapt it to suit their specific needs.