Gaia/Notifications
Background
Status
- Stage: Development
- Latest: Fabrice has implemented necessary API. Etienne is going to implement in Gaia. (March 23, 2012)
- Release target: B2G Milestone 3 [Alpha], Q2 2012
Team
- UX: Josh Carpenter (IRC: jcarpenter)
- Dev: Etienne (IRC: etienne_s)
- Eng: Fabrice (IRC: fabrice)
- Eng: Chris Jones (IRC: cjones)
- Eng: Mounir Lamouri (IRC: mounir)
- Eng: Jonas Sicking (IRC: sicking)
Reading
Use Cases
General
- Tom receives a push notification (email)
- Tom receives a phone call
- Tom receives a phone call, but declines it
- Tom receives a phone call, but misses it
- Tom is in the browser, a website asks for location tracking
- Device is locked, Tom receives a notification
- Tom is on the homescreen, has the email application on the homescreen, Tom receives a new email
- Tom wants to check all the notifications which he has received in the last few days
Conflict
- Tom is on a call and receives a push notification (email, sms)
- Tom is on a call, he decides he needs to launch the notes app to make some call notes
- Tom is in a browser, trying to decide if he wants to grant location tracking permission on a website, he receives an incoming call before a decision is made on the location tracking
Phone Priority
- Phone should take priority over all other notifications
- If the user switches to another application, indication that the user is still on the call and whether they are muted or not should be indicated in the status bar (potential through icon indicator or colour change on the status bar)
Requirements
- Notifications can be prioritized
- Notifications can be grouped
- Type
- Time
- Notifications can be displayed in multiple UI formats (listed in order of disruption):
- Status bar
- Passive
- Alert
- Full screen
Priority of Notifications
- Priority 1 > informational > time sensitive > active, user must act upon
- Priority 2 > informational > time sensitive > passive, user can ignore
- Priority 3 > informational > time independent > passive, user can ignore
- Priority 4 > informational > time independent > active, user invoked
Delivery Methods
- Priority 1 > toast > permanent, until dismissed by user
- Priority 2 > toast > depreciates over time or dismissed by the user
- Priority 3 > icon > permanent, subtle indicator
- Priority 4 > toast > depreciates over time or dismissed by the user
Note: "toast" currently means anything from pop up to door hanger, visual design TBD
P1. Purpose of Priority 1 Notifications
Alert, immediate action needs to be taken. Examples:
- Notification > Action > Alt. Dismiss
- Incoming Call > Accept / Decline > Call goes to voicemail
- Low Battery > Dismiss Plug device to power outlet
- Install App > Ok / Dismiss > ---
P2. Purpose of Priority 2 Notifications
Warning, action can be taken but not immediately. These will disappear over time (TBD, likely a few minutes) and / or if the user switches apps or screens. Examples:
- Notification > Action > Note
- Download Complete > Open / Dismiss Evidence of download will remain, see P3
- Location Sharing > Ok / Always / Dismiss > If the user navigates away, “dismiss” will the default action
- Missed Call > Voicemail / Dismiss > Displays immediately after the incoming call has timed out
- New Email > None > If the user opts in for this notification, it displays for a few seconds, then disappears
P3. Purpose of Priority 3 Notifications
Classic notification displaying application and system status, these should be least intrusive. These will likely appear in these instances:
- P3A > status bar > icon > system and app status notifier > limited user interaction
- P3B > application icons > app status notifier > full user interaction
- P3C > notification tray > system and app status notifier > full user interaction
- P3D > lock screen > system and app status notifier > user interaction (selective based on security)
P3A. Status Bar
Will display various system and core application status updates. Interacting with a notification group could allow the user for fine tuning. Examples:
- Notification > Description
- WiFi > Interacting could launch a connection manager, displaying every available connection type
- Signal Meter > See above
- Bluetooth > See above
- Tethering > See above
- Roaming > See above
- GPS > See above
- Time > Interacting could launch a date time manager
- Alarm ON > See above
- Email > Icon shows you have at least 1 email
P3B. Application Icons
These are smart icons seen in many contemporary OS’. Windows pushes it further by creating live tiles from these icons, displaying rich notifications. Examples:
- Notification > Description
- Clock > Analog clock displays a red dot when alarm is supposed to ring
- Calendar > Shows date
- Weather > Icon changes according to the current weather
P3C. Notification Tray (Nice to have for v.1)
A screen that displays your entire notification history based on priority and time. If the user clicks on an notification the suitable application is launched. There should be an option to automatically clear this notifications after checking, perhaps a timer is added that clears the notifications x# of time (user determined) after the user first checks them. Example:
[App Icon] | [Primary Message] | [Secondary Message] | [Time Stamp] |
Rank 1 Notifications | |||
System | OS 1.0.1 Update Available | 1 min ago | |
Kimi Räikkönen | Re: Drive > I just wanted to talk to you about that drive opport... | 59min ago | |
SMS | Morgan Gadsby | How are you doing today? | 1h ago |
Phone | +1 (416) 555-1234 | How are you doing today? | 2h ago |
Rank 2 Notifications | |||
Bob Plissken | Metal Gear? | 2h ago | |
Rank 3 Notifications | |||
Draw Some | Kamui Kobayashi has sent you a drawing | 25 min ago |
P3D. Lock Screen (Nice to have for v.1)
Very similar to the screen above (P3D), but due to privacy and security concerns one of the following display modes may have to be activated:
- Show no notifications
- Only show the icons... ie 3 Unread Email
- Show full notifications but do not allow interaction
- Show full notifications and allow interaction
P4. Purpose of Priority 4 Notifications > System Adjustment
These are notification toasts that appear when the user has modified or wants to modify a system setting. Examples:
- Notification > Invoked > Note
- Volume > Press the hardware volume rocker If volume is turned off notification is displayed in the status bar
- Power > Press the hardware power button Manage power is displayed with the following options: Dismiss / Stand By / Off
Other Requirements / Wants / Nice to have for v.1
- Display by Time: Notifications should be displayed by priority first, but within that priority group notifications should be displayed by time, with the most recent first.
- Time Stamp should be Relative: Notification time stamp should be relative to current time, not time delivered. If the current time is 2:30p and the notification was received at 2:11p, the notification time stamp should read: 19min ago, not 2:11p.
- Progress Displayed: If the notification is displaying progress such as installing a synchronous or at minimum an asynchronous progress meter should be present.
- Visual & Audio: Notifications should have the ability to notify via visual indication and audio tone or vibration.
Design Spec
Interaction Design Spec (Draft): https://www.dropbox.com/s/x3u1b47xn6r8amz/Notifications.pdf