As long as you’re coming from some type of programming background, the unseen part of app programming will not be very hard. Java is a pretty forgiving language and a good IDE makes all the difference. But that doesn’t mean the User Interface is going to be easy. A fair amount of upfront planning for the user experience will save you time tenfold when it comes to writing the code. XDA Forum Member Leafhill wrote a thoughtful post covering common mistakes in Android UI design. But along the way, he also cites best practices as well. The post will go a long way in planning how you present your app to users in an intuitive way.
High on the list of foul dev behavior is to completely re-skin the entire app, or to force it to look like another operating system. We agree that this ends up being disorienting at first glance, and frustrating over the long term as a user repeatedly searches for the functionality in a different place than expected. I also agree on the use of the ActionBar. The Android developer’s guide draws it out very clearly; you should include the ActionBar, except when a media rich experience (i.e. full screen video) is necessary. The ActionBar icons and menus should also adhere to common practice.
There are two things he mentions that I could go either way on. I think adding background graphic accents can be a way of branding your app if done tastefully. But Leafhill asserts that these are outside of the Android tradition. He also has a good point about quick action menus that hide the original content when shown. The example is swiping a Tweet in the Twitter app to get at the share/trash/favorite/retweet commands. The swipe hides the tweet being operated upon, which probably does result in the wrong one being retweeted from time to time. I use Reddit News, which has the same functionality for up and down voting, loading comments, etc. I don’t find it to be a problem, but knowing that the menu is even there would be tough for those new to the app.
The final don’t is to style apps as if they were a website. This tops my list of Android pet peeves, and that’s what the banner image is all about.
Head over to the original article, which includes a slew of screenshots and references for each of the design issues discussed.