Dos and Don’ts of Android Design

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.

The Galaxy S6 Edge, Huawei Watch, Xperia Z4 Tablet, Moto E 2015 and Xperia M4 Aqua all have gotten new forums here at XDA. If you want the latest and greatest in hardware as of now, the Galaxy S6 Edge's top-tier processor, memory, and camera will most likely fulfill your everyday needs with blazing speed, and extra screen-space to boot. Huawei seems to have nailed the smartwatch with their new Huawei Watch, a classy-looking but also durable and powerful Android Wear...

Privacy and security are two increasingly important factors in today's globalized world, and with the surge of internet spying by government agencies and third parties, wiretaps are an everyday thing that don't just concern James Bond anymore. Encryption made its way to the semi-mainstream messaging world with the Telegram platform, but while millions flocked to it, it is still clear that convenience beats privacy for most of smartphone users. After all, with the huge user bases boasted by Whatsapp and the...

Matias Duarte, VP of Design at Google, is perhaps one of the most prolific software designers of recent times: Material Design, the highest exponent of Android beauty, is Matias' own brainchild. Without him and his creation, the biggest Android update of all time wouldn't have been what it was and our favorite platform would still carry a look that many deemed outdated even before Material Design was shown. With an internet following that spawned several internet memes and even a weird community,...

Samsung Galaxy S 4 (Sprint) [SPH-L720]

Nexus 5 (Unlocked)

Samsung Galaxy Note 4 (AT&T) [N910A]

XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?