Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

To those of you who've built many apps, what are the things that are critical for a good UI? I'm thinking things like:

  • Action Bar
  • Well-designed icons
  • Use threads to keep the app responsive
  • A selector to highlight when focused/pressed, etc.
  • Pay attention to layout & consistent alignment etc...

But what else?

share|improve this question
add comment

4 Answers

up vote 27 down vote accepted

At a high level I think these are most important, and they go for any human interface, not just Android UIs:

  1. Clarity — ensuring your UI is immediately clear to most if not all your users; minimizing user confusion.

    • Visually group logically-linked interface elements.
    • Use proper affordances—buttons should look like buttons.
    • Use subtle animations to aid the user's mental model for interface transformations (e.g. navigation).
    • Show a one-time tutorial if necessary; it's worse than having a perfectly understandable interface, but better than throwing users into a potentially confusing interface with nowhere to turn for help.
  2. Consistency — leveraging existing patterns from the system where applicable, as well as using consistent patterns within the app.

    • Use common Android UI patterns like the action bar, bottom button bar, contextual action rails, gesture-based paging, etc.
    • Align with common system behaviors like the BACK and SEARCH buttons, app widgets, and notifications.
    • Maximize internal consistency using themes and styles.
  3. Usability — maximizing ease of use.

    • Provide visual or otherwise haptic feedback for UI elements.
    • Add directional navigation support and text hints (contentDescription) to improve accessibility.
  4. And of course, Aesthetic — making sure it looks damn good; strong emotional ties to products often come from beautiful interfaces.

    • Support all screens by providing assets at each target density, using nine-patches, and providing tailored layouts for different physical screen sizes.
    • Visually customize either all interface elements or none at all for given screens—if you customize only a portion, you'll end up making poor assumptions (devices have varied OS themes).
    • Hire a designer.

Responsiveness and resource stinginess are crucially important as well, but those are more influenced by implementation than design.

See my slide deck on this topic for some more tips.

share|improve this answer
2  
'Hire a good designer' you mean :-) –  Blundell May 9 '12 at 6:52
add comment

The Action Bar is a big must, avoid using the menu for application navigation, spending time on UI design.

I'd suggest using styles as much as possible which should use limit the amount of layout inconsistency if you create a logical structure of sharing style attributes.

One thing I would say, is the guidelines are only guidelines, if you are comfortable with them, then don't be afraid to go further and do something a little different or make custom views.

At the end of the day, if users are the final decider ;-)

share|improve this answer
add comment

I've gathered some of Android's UI patterns into my blog: http://www.androiduipatterns.com/p/android-ui-pattern-collection.html

Another site worth checking out is this: http://www.androidpatterns.com/

share|improve this answer
3  
Please consider placing a full answer here, not just links to elsewhere. –  Lode May 9 '11 at 6:45
add comment

I just stumbled over a Android Design Site where design principles of Android 4.0 are shown, quite similar to Apple and Microsofts Guidelines. So for archive purposes this post.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.