This won't be a strictly technical post, but something related to some of my impressions during android development.

I read a lot of stuff about android, and how at first it looks so easy to deploy an android application.

What I realized in the last year is that releasing something that "almost" work is not enough. Your app will be buried under bad reviews and, since android does not make any filter on app quality, it will just be one of the many apps out there or, even worse, it will be under below of the apps out there.

The app must shine, and it must work like a clock. Users are (mostly) non technical people, and because of this, they just expect that everything works like a charm. Moreover, users have no mercy. If something does not work as expected, they will blame your app using any mean. On the other hand, if everything works correctly, they won't notice it.

How to be sure that your app will be working as expected? You can't. What you can do is do a lot of testing, using all the tools you can find out there, like junit, and stuff like Robotium.


Another thing which is very useful is to observe people working with your app. You'll find out some defects that you wouldn't otherwise notice.

Finally: pay attention to the ui. I mean, give the user a cool experience, ask help from designers. It won't change the features of you app, nor it's usefulness, but it will make a lot of difference.

As a software engineer, you are unlikely to be equipped with good taste, and you will accept ugly things judging them only by they features.

Just a final question:
Which of these two icons inspires you more feeling of quality?












I draw the first one, and then I got the second one from my favourite designer (my girlfriend).