Some thoughts I had put together for a presentation a couple of years back. So much of it is still valid. Doesn’t include anything related to the sensory aspects of a mobile app.
Thinking from “first-principles” is the best way to solve problems.
It is still difficult to tap, type, correct and read on a mobile screen. Reduce and remove friction for these actions.
Reduce the number of taps required to reach a goal. Provide recommended starting points, combine actions to reduce clicks, ask for as few details as possible.
Reduce duplication, make it easy to “find again”. Remember recent and past actions, repeating inputs and “what I’ve already seen”.
Anticipate user needs and intervene. Assisted filters, fuzzy search and real-time input validation reduces stress.
Make it easy to assimilate information. Solve for aggregate (result-set grouping) as well as specific information (result metadata). Progressively disclose details.
Gracefully handle errors - What did I do wrong? What are the consequences? What should I do now? Switching context to Google for solutions is stressful.
Solve for the journey; not the stop. Engagement brings users back. When users come back, trust increases. Increase in trust leads to (repeated) conversion(s).
What does a customer lose by leaving? What does a customer gain by staying? These are the best use-cases.
The best use-cases decay slower than others increasing retention. Encourage and guide users to these use cases.
Solve for “mobility”. Use device capabilities, solve mobile specific use cases (eg. “near me”, “right now”, “share”).
Respect the platform. Use first-party patterns where available. Don’t port patterns across platforms.
Respect the physical limitations of the device - display, storage, bandwidth, battery.