GOOD GREAT AWESOME Stable Uses Best Practices User-tested Runs 4.0 and above Provides solid experience Guenther Beyer http://bit.ly/androiddesigngtg Revise everything Branding and Consistency Variation Polish FOR REFERENCE USE ONLY
AWESOME Supports user goals with frustration-free experiences Provides customer delight Provides sufficient help for potential blockers Empower the users and build positive relationship Make them feel magical FOR REFERENCE USE ONLY
Animations/Transitions 1 WHY Provide continuity experience Capture and focus attention Provide feedback for interactions Give information - Spatial Relationship, Functionality Help user in perceiving the changes without heavy processing FOR REFERENCE USE ONLY
Animations/Transitions 1 RULES Purposeful and Informative Subtle yet noticeable Buttery smooth (60fps) Proper motion speed Don’t overdo it FOR REFERENCE USE ONLY
Feedback 2 WHY Interactions happens on/in the glass surface – no physical feedback To communicate hidden rules To let the user know the system is working on your request To provide seamless experience FOR REFERENCE USE ONLY
Feedback 2 RULES Feedback must be informative Feedback must have proper number Feedback must be planned and prioritized Feedback must be immediate Feedback can be visual, acoustic, tactile FOR REFERENCE USE ONLY
Dialog is a very direct way of giving information or capture attention. But it can be annoying. Minimize the usage and use it wisely. And don’t confuse the user. FOR REFERENCE USE ONLY
Error Message tells the user why something isn’t work – but don’t just tell them why it doesn’t work, if it’s possible, give them the solution/possible action as well. Better yet, try not to allow them to execute the error. FOR REFERENCE USE ONLY
Loading indicator tells the user something is working at the background based on the request – but do give them options or inform them if it’s taking too long. Also try to mask the time-wasting loading into a delightful experience. Better yet, try to avoid loading by eg. Preload. FOR REFERENCE USE ONLY
Empty state must be handled properly so the user knows what is needed to be done next. Give them that action(s). It’s not the job of the user to figure out why it is empty. FOR REFERENCE USE ONLY
Help 3 WHY Users are lazy and don’t like to think Users require waypoint Users curious about the value Users need help to operate professional application Users always rely on default settings FOR REFERENCE USE ONLY
Help 3 RULES Help must be genuine Help must be planned and timed well Help must be simple and efficient Help must be user-oriented FOR REFERENCE USE ONLY
Quick Tutorial gives brief introduction of the value of the app to the user (read: not on how to use the app). And do allow the user to skip it. FOR REFERENCE USE ONLY
Users sometimes regret for their action, so if it’s possible, allow them to Undo – For less critical stuffs, it can be as forgivable as possible. And make it easy to undo. FOR REFERENCE USE ONLY
Touch Gestures 4 RULES Gestures must coupled with great corresponding animations Gestures should not be the only interaction for a certain task Gestures must not have conflicts Gestures must be discoverable FOR REFERENCE USE ONLY
Always explore simple yet efficient gestures that enhance interactivity. Touch screen isn’t just meant for tap. Chrome is a great example. FOR REFERENCE USE ONLY
Sensitive for gesture trend that enhance interaction experience. Eg. Swipe to dismiss/delete is almost like a must-have gesture for item manipulation. FOR REFERENCE USE ONLY
Avoid gesture conflict at all cost! Bad example: In Rdio, full screen swipe calls Navigation Drawer, and it conflict with the progress slider. FOR REFERENCE USE ONLY
Don’t be afraid to explore and integrate gestures to enhance usability! Example: Double swipe is currently at system level only, but it can be very well integrated in app interaction as well! Carbon for Twitter FOR REFERENCE USE ONLY