Update idea with new contributors, KRs and dates (#86)

This commit is contained in:
Pedro Pombeiro 2018-04-13 14:27:19 +02:00
parent 252dc99fa8
commit 57af2bf758
No known key found for this signature in database
GPG Key ID: C4A24185B2AA48A1
1 changed files with 12 additions and 14 deletions

View File

@ -1,10 +1,9 @@
## Preamble ## Preamble
Idea: 86 Idea: 086
Title: Push Notifications v2 Title: Push Notifications v2
Status: Draft Status: Draft
Created: 2018-03-01 Created: 2018-03-01
Requires: [#87](https://github.com/status-im/ideas/issues/87)
Q2 Objective: 1.2 Q2 Objective: 1.2
## Summary ## Summary
@ -13,13 +12,11 @@ The [current push notification system](https://docs.google.com/document/d/1OgjnY
## Swarm Participants ## Swarm Participants
- Lead Contributor: @PombeirP (~25h) - Lead Contributor: @PombeirP (~20h/week)
- Testing & Evaluation: TBD - Testing & Evaluation: @nastya
- Contributor (Go): @adriacidre - Contributor (Go): @adriacidre (24h/week)
- Contributor (Clojure): @yenda - Contributor (Clojure): @yenda
- Contributor (QA): TBD - Contributor (QA): @nastya
- PM: TBD
- UX: TBD
## Product Overview ## Product Overview
@ -48,7 +45,7 @@ We also want a solution that doesnt involve talking directly to the notificat
### Goals ### Goals
At a high-level, we want to move up the current solution a notch regarding some of the critical qualities mentioned in the [Product Overview](#Product_Overview) which are currently lagging behind. The specific steps to reach that goal are: At a high-level, we want to move up the current solution a notch regarding some of the critical qualities mentioned in the [Product Overview](#product-overview) which are currently lagging behind. The specific steps to reach that goal are:
- Improve usability of notifications by: - Improve usability of notifications by:
- Allowing the app to match a push notification with a specific chat message. That way we can: - Allowing the app to match a push notification with a specific chat message. That way we can:
@ -79,27 +76,27 @@ There are undoubtedly enough issues identified to span several months of effort,
With that in mind, the exit criteria are as follows: With that in mind, the exit criteria are as follows:
- The swarm has addressed all `P0` and `P1` goals mentioned in the [goals](#Goals) section. - The swarm has addressed all `P0` and `P1` goals mentioned in the [goals](#goals) section.
## Success Metrics ## Success Metrics
KRs: KRs:
- 100% of the messages that should generate a notification on the receiving device do so within 15 seconds, under different network conditions (i.e. Wi-Fi, cellular). - 100% of the messages that should generate a notification on the receiving device do so within 15 seconds, under different network conditions (i.e. Wi-Fi, cellular).
- TODO performance metrics? (e.g. device sleep improvements, network traffic). - Network and battery consumption values are same or less than current values.
## MVP(s) ## MVP(s)
- Single notification provider phase: - Single notification provider phase:
- Iteration 1: Show more information on notification (date: *TBD*) - Iteration 1: Show more information on notification (date: Beginning Of Work/BOW + 2w)
- Send only envelope hash on PN to destination device so that it knows to refresh messages and to match them to the notification. - Send only envelope hash on PN to destination device so that it knows to refresh messages and to match them to the notification.
- Update message body from retrieved Whisper message. - Update message body from retrieved Whisper message.
- Iteration 2: Implement notification server mode on `statusd` (date: *TBD*) - Iteration 2: Implement notification server mode on `statusd` (date: BOW + 4w)
- Connects to FCM, only 1 instance, no load-balancing. - Connects to FCM, only 1 instance, no load-balancing.
- Add logic to statusd (accept special P2P messages from clients, and trigger notifications in response). - Add logic to statusd (accept special P2P messages from clients, and trigger notifications in response).
- Deploy service with Ansible. - Deploy service with Ansible.
- Change client so that it communicates with notification server to send notifications indirectly to contact. - Change client so that it communicates with notification server to send notifications indirectly to contact.
- Iteration 3: Support simple deep-linking (date: *TBD*) - Iteration 3: Support simple deep-linking (date: BOW + 6w)
- Open respective chat when taping on a notification. - Open respective chat when taping on a notification.
- Hide notification when the user views the respective message in chat. - Hide notification when the user views the respective message in chat.
- Iteration X: TBD - Iteration X: TBD
@ -115,6 +112,7 @@ TBD
- [v1 Push notifications proposal](https://docs.google.com/document/d/1OgjnY8ps8lVA4dIohwkfGK9HVt0nZxEWbuNdb7BX5-o/edit#) - [v1 Push notifications proposal](https://docs.google.com/document/d/1OgjnY8ps8lVA4dIohwkfGK9HVt0nZxEWbuNdb7BX5-o/edit#)
- [Whisper Push Notifications wiki](https://github.com/status-im/status-go/wiki/Whisper-Push-Notifications) - [Whisper Push Notifications wiki](https://github.com/status-im/status-go/wiki/Whisper-Push-Notifications)
- [Work notes](https://docs.google.com/document/d/1TCeTY77fCGHqAseWkH74P0mk7PF8DGXN7xvbYqodnTI/edit#) - [Work notes](https://docs.google.com/document/d/1TCeTY77fCGHqAseWkH74P0mk7PF8DGXN7xvbYqodnTI/edit#)
- [Gorush, a push notification server written in Go](https://github.com/appleboy/gorush)
## Copyright ## Copyright