diff --git a/README.md b/README.md index 3117027..858f986 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,7 @@ aborted. | [86-push-notif-v2](ideas/86-push-notif-v2.md) | :seedling: Draft | :x: no | :x: no | :x: no | :x: no | | [76-smooth-ui](ideas/smooth-ui.md) | :question: Limbo | :white_check_mark: Yes | :x: No | :x: No | :white_check_mark: Yes :question: | | [71-low-traffic](ideas/71-low-traffic.md) | :question: Limbo | :white_check_mark: Yes | :x: No | :x: No | :white_check_mark: Yes :question: | +| [101-extensions](ideas/101-extensions) | :seedling: Draft | :white_check_mark: Yes | :white_check_mark: Yes | :white_check_mark: Yes | - | | [142-recovery-compatibility](ideas/142-recovery-compatibility) | :seedling: Draft | :white_check_mark: Yes | :white_check_mark: Yes | :x: No | - | ## Completed :champagne: and aborted :dagger: @@ -86,7 +87,7 @@ progress again. This ensures the registry is kept up to date. | @flexsurfer | 34, 80 | | @hester | 80, 134 | | @janherich | 87 | -| @jeluard | 68 | +| @jeluard | 68, 101 | | @lukaszfryc | 68, 83 | | @mandrigin | 83 | | @martin | 120 | diff --git a/ideas/101-extensions.md b/ideas/101-extensions.md new file mode 100644 index 0000000..a84bd3c --- /dev/null +++ b/ideas/101-extensions.md @@ -0,0 +1,74 @@ +## Preamble + + Idea: 101 + Title: Status extensions + Status: Draft + Created: 2018-03-26 + +## Summary + +A set of extension points so that external developers can enhance status + +## Swarm Participants + +- Lead Contributor: @jeluard +- Testing & Evaluation: ?? +- Contributor: ?? +- PM: @andytudhope +- UX: @denis-sharypin + +## Product overview + +As an ecosystem status needs to offer extension capacities so that external developers can develop on top of it. +This swarm will review the current state of our extensions, specify a updated mechanism based on our current knowledge and eventually implement it. + +### Product Description + +3rd party developers will have access to API and documentation allowing them to extend status via various hooks using a simple API. +There won't be any distinction between those extensions and status itself (it will feel native). + +### Requirements & Dependencies + +None + +### Minimum Viable Product + +* document existing working features offered by status [API](https://docs.status.im/) +* list (potential) new types of extensions +* prepare new workflow / mockups (special care for chat extensions) +* prepare draft specifications detailing technical solution to be discussed with team (development, distribution, incentivization) +* detail how to integrate with status API / screens + +During definitions of specifications a number of potential use cases must be considered, namely: + +* retrofit existing chat commands +* ethereum standards (721, ..) +* video sharing technologies ([livepeer](https://livepeer.org/)) +* token transfers (https://raiden.network/) +* https://ethlend.io/en/, https://trustlines.network/, ... +* extensions mechanisms provided by other chat applications + +First status hackathon is also a good starting point. [Feedback](https://github.com/status-im/status-react/wiki/Hackathon-Feedback) has been shared and [winners](https://blog.status.im/announcing-winners-of-the-status-global-hackathon-a44fb54e98f7) give us a good hint on extensions potential. + +Note that idea #96 might be the first guinea pig of extensions. + +Goal Date: 3 weeks after beginning + +## Dates + +Iterations will be defined based on specification and team feedback. + +## Exit criteria + +* current API state is documented +* mockups and documentation of proposed changes of extensions are available and have been discused by team +* extensions API is implemented and documented +* an extensive example is available + +## Success Metrics + +- 2 internal extensions shipped +- 3 external extensions shipped +- quality of documentation recognized: few support request related to extensions + +Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). \ No newline at end of file