Give good mobile
According to Joe Natoli
Design the parts to be consistent with the whole.
Make interactive cues visually obvious.
Aim for single-trial learning.
Give people the ability to predict the result of their actions.
Anticipate the user’s questions — and answer them.
COGNITIVE LOAD - DON’T MAKE ME WORK!
Apply interactive behaviors consistently.
Design interactive controls consistently throughout your app.
Use color to differentiate between interactive and non-interactive elements.
Make sure core content is presented clearly at its default size.
Create visual hierarchy through size, visual weight and balance.
Use alignment to create order and communicate relationships between elements.
Text size should be a minimum of 20 pixels.
Touch targets should be at least 48 x 48 pixels.
FRUSTRATION + FOCUS - DON’T ANNOY ME!
Don’t request location information unless the app needs it to function.
For the love of all that is good in this world, do NOT place a scrolling view inside another scrolling view.
Enable pinch or double-tap zoom for both images and text content.
And set minimum/maximum zoom scale values that aren’t ridiculous.
Use a close/cancel/done button and a tap outside to close a popover.
Popovers with multiple selections shouldn’t close without an explicit action from the user.
Don’t prompt for upgrades more than once a week.
FEEDBACK - DON’T LEAVE ME HANGING!
Give users feedback: What can/should I do now? What’s it doing? What just happened?
Alerts & notifications are valuable feedback — but only use them for essential information.
Clearly differentiate between activity and progress.
And tell the truth, OK?
Warn me if I’m about to do something potentially stupid.
Feedback should be clearly visible in the UI, but in a way that’s integrated and inconspicuous.