Platform conventions
- People expect things mostly based on using other applications
- Stick to the platform conventions: i.e. people know what tab bars do, people know what to expect when they swipe left on a tableview that has a list of editable things (delete).
Easy to navigate
- Tell you where you are (i.e. tab bar, navigation bar title)
- Show you where else you can go (i.e. tab bar)
- Explain what's there (don't have to go to each section to see what should be in there)
- Why navigation at all?
- Group all info into categories as otherwise overwhelming
- Make easy to know what's inside so you can transition. (i.e. tab bar with icon and text)
- Few tips (as it's hard!):
- Progressive disclosure
- Not showing things until it's needed
- Usually done by adding more steps (worth it, more time but less intimidating)
- Use right category names! Don't make users guess what's behind a button.
- Be predictable
- No surprises! Don't change up the UI inexplicably by removing or reordering.
- Even small changes trip people up...
- Make selection obvious
- Bold icons, color
- Maximise continuity
- Minimise disruption, keep people oriented in where they are in the app
- Animations (i.e. photos app when you tap an image, it expands to a bigger view. it doesn't 'slide in')
- Provide hints
- Provide hints where they seem to be getting confused (pulse buttons etc)
- Animtations again
- Less is more
- Smaller number of choices! Too many choices slow them down, too mentally taxing.
- Skimming becomes apparent = skipping content that they might like
- Users not getting what they want out of your app even though it exists
- Use progressive disclosure if you can't limit options!
- Progressive disclosure
Clear
- Info and functionality straightforward
- Language, know your audience
- no big words, avoid jargon, be descriptive (no 'Home' buttons), be succinct, avoid truncation, make text legible
- Icons
- Icon needs label? Nope
- Commonplace object noones ever seen as icon? Nope
- Icon but none standard way? Nope
- "Icons can be learned" -> not likely to be learned and it's a low bar for your app!
- Stick with text if icons not universally understood
- Animtations
- Far more clear than words or pictures!
Simple!
- Most of the time people will use very little of what you make
- Don't show them what they don't need!
Focused
- Singular and focused purpose
- Do one or two things extraordinarily well
- App should do less! More time to iterate and make fantastic. Less need for complicated navigations....
- It ensures you have time to provide better things i.e. animataions
- Think big for your app but start small.
Onboarding:
- Best way, let people jump right in
- Reasons for onboarding:
- Non-intuitive UI is not a reason!
- Registration required
- Gesture reliance on UI - need to teach them these (i.e. in games)
- Registration required
- Delay until necessary
- "Allows users to see what your app is all about first"
- "only need to register when you're ready to take action on something"
- "people are going to be much more motivated, comfortable going through that reg. process if they're more aware of the quality, utility your app is offering them"
- Explain benefits of registering
- Protect people's privacy
- Only collect what you need right now, and tell them why
Onboarding best practices:
- Jump right in, again
- What do people need to know to get started with my app? <- onboard with this
- Let them explore on their own, like in a restaurant menu (don't have waiter explain everything)
- Get out of the way!
- Resist temptation to list out all of the features
- No need for instructions if functionality obvious
- Teach one thing at a time, start with the basics: Scaffolding step by step
- People learn better by doing when it comes to apps
- Redesign buttons etc if not immediately known to be interactive!
- Use animation throughtfully
- Only point out the unconventional in your app (i.e. new gesture)!
- Make secondary actions optional (that they may not want to take, don't get in their way)
- Keep text brief and clear
- Could it be shorter or clearer?
- Will it make sense to new users?
- Is message too complicated?
- Would an image be better?
- Put instructions in empty states rather than "no results", lead them out of it.