Notifications
Status
Notifications | |
Stage | Definition |
Status | ` |
Release target | ` |
Health | OK |
Status note | Just getting started |
{{#set:Feature name=Notifications
|Feature stage=Definition |Feature status=` |Feature version=` |Feature health=OK |Feature status note=Just getting started }}
Team
Product manager | ` |
Directly Responsible Individual | ` |
Lead engineer | ` |
Security lead | ` |
Privacy lead | ` |
Localization lead | ` |
Accessibility lead | ` |
QA lead | ` |
UX lead | Faaborg |
Product marketing lead | ` |
Operations lead | ` |
Additional members | ` |
{{#set:Feature product manager=`
|Feature feature manager=` |Feature lead engineer=` |Feature security lead=` |Feature privacy lead=` |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=` |Feature ux lead=Faaborg |Feature product marketing lead=` |Feature operations lead=` |Feature additional members=` }}
Open issues/risks
`
Stage 1: Definition
1. Feature overview
The purpose of this project is to expose an API for various types of notifications, both real time and ambient. This API should manifest itself on desktop and mobile.
2. Users & use cases
Lots of use cases, but here are some examples of incoming messages from:
Ping/Pulse/Bounce
- real time chat
- asynchronous (but important) direct messages through social networks
Ambient
- asynchronous email
- asynchronous (and not important) messages through social networks
- various random niche sites that need to notify you of events
3. Dependencies
`
4. Requirements
`
Non-goals
- Interrupt the user's cognitive flow with notifications that are not relevant or important (the growl effect)
- [b]Badging is a non-goal[/b]. The increasing size of the badge creates a game mechanic where users must get the number down to zero, which isn't a good pattern, and ultimately makes them feel like they are failing.
- Panel notifications need to be user opt in, because they are so destructive to the user's attention and cognitive flow.
Stage 2: Design
5. Functional specification
Two different API calls:
- Ambient (for email messages, etc. this messages does not capture your attention, you have to direct your attention to it)
- Ping (for direct messages, real time chat, etc. The message captures your attention and continues to bounce, pulse, glow until you interact with it)
6. User experience design
Stage 3: Planning
7. Implementation plan
`
8. Reviews
Security review
`
Privacy review
`
Localization review
`
Accessibility
`
Quality Assurance review
`
Operations review
`
Stage 4: Development
9. Implementation
`
Stage 5: Release
10. Landing criteria
` {{#set:Feature open issues and risks=` |Feature overview=The purpose of this project is to expose an API for various types of notifications, both real time and ambient. This API should manifest itself on desktop and mobile. |Feature users and use cases=Lots of use cases, but here are some examples of incoming messages from:
Ping/Pulse/Bounce
- real time chat
- asynchronous (but important) direct messages through social networks
Ambient
- asynchronous email
- asynchronous (and not important) messages through social networks
- various random niche sites that need to notify you of events
|Feature dependencies=` |Feature requirements=` |Feature non-goals=*Interrupt the user's cognitive flow with notifications that are not relevant or important (the growl effect)
- [b]Badging is a non-goal[/b]. The increasing size of the badge creates a game mechanic where users must get the number down to zero, which isn't a good pattern, and ultimately makes them feel like they are failing.
- Panel notifications need to be user opt in, because they are so destructive to the user's attention and cognitive flow.
|Feature functional spec=Two different API calls:
- Ambient (for email messages, etc. this messages does not capture your attention, you have to direct your attention to it)
- Ping (for direct messages, real time chat, etc. The message captures your attention and continues to bounce, pulse, glow until you interact with it)
|Feature ux design=
|Feature implementation plan=`
|Feature security review=`
|Feature privacy review=`
|Feature localization review=`
|Feature accessibility review=`
|Feature qa review=`
|Feature operations review=`
|Feature implementation notes=`
|Feature landing criteria=`
}}
Feature details
Priority | Unprioritized |
Rank | 999 |
Theme / Goal | ` |
Roadmap | ` |
Secondary roadmap | ` |
Feature list | ` |
Project | ` |
Engineering team | ` |
{{#set:Feature priority=Unprioritized
|Feature rank=999 |Feature theme=` |Feature roadmap=` |Feature secondary roadmap=` |Feature list=` |Feature project=` |Feature engineering team=` }}
Team status notes
status | notes | |
Products | ` | ` |
Engineering | ` | ` |
Security | ` | ` |
Privacy | ` | ` |
Localization | ` | ` |
Accessibility | ` | ` |
Quality assurance | ` | ` |
User experience | ` | ` |
Product marketing | ` | ` |
Operations | ` | ` |
{{#set:Feature products status=`
|Feature products notes=` |Feature engineering status=` |Feature engineering notes=` |Feature security status=` |Feature security health=` |Feature security notes=` |Feature privacy status=` |Feature privacy notes=` |Feature localization status=` |Feature localization notes=` |Feature accessibility status=` |Feature accessibility notes=` |Feature qa status=` |Feature qa notes=` |Feature ux status=` |Feature ux notes=` |Feature product marketing status=` |Feature product marketing notes=` |Feature operations status=` |Feature operations notes=` }}