Gaia/Design/ApplicationUXDocumentation

From MozillaWiki
< Gaia‎ | Design
Jump to: navigation, search

The following is a list of common UX considerations to take into account when building out Gaia apps.

First Run

  • Usually presents an Empty State
  • Provides opportunity to prompt user to setup an account, etc.
  • Can also be used to educate user via tutorials, tooltips, etc.

Empty state

  • Occurs when there is no content available.
  • Most commonly seen on app First Run.
  • Also seen when user clears all content.
  • To avoid user confusion ("Nothing is showing up. Is the app broken?") we can display a status and/or explanation. For example, a "No messages" string where a list might usually be.

Error states

  • Most common will be "no internet connection".
  • As with Empty State, we should avoid user confusion by communicating situation in UI.


Gestures

  • Note where gestures are available to the user, and what they do.

Input Errors

  • What happens when a user's form input fails?
  • Can communicate with:

Date & Time dependencies

  • Is the app effected by user changing global Settings for Date & Time?
    • Time zones
    • Regions
    • Number formats

Dependencies

  • What hardware dependencies exist, and how do we flag them?
  • eg: Music app could be dependent on SD card removable storage, and app could use Banner dialogue to communicate.

Settings

  • User preferences and settings that effect the operation of the application.
  • First determination: does the app _need_ dedicated specs?
  • Second determination: what settings are needed? Larissa's Settings Design Patterns are a handy reference when laying out.

Application data states

  • How do apps display states for items?
  • eg: Mail message states:
    • New
    • Unread
    • Read

Orientation Support

  • Does the app support landscape orientation?

Activities

  • Does the app receive or send activities? eg: Share, Select, etc.

Notifications

  • Does the app issue Notifications? When, and what?
    • Icon
    • Title
    • Body
    • Action (eg: open App, open SMS thread, open keyboard)