status-im / swarms

Swarm Home. New, completed and in-progress features for Status
92 stars 31 forks source link

Extensions #101

Closed jeluard closed 6 years ago

jeluard commented 6 years ago

Preamble

Idea: 101
Title: Status extensions
Status: Draft
Created: 2018-03-26

Summary

A set of extension points (including chatbots) so that external developers can enhance status

Swarm Participants

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

During definitions of specifications a number of potential use cases must be considered, namely:

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.

Success Metrics

Copyright and related rights waived via CC0.

andytudhope commented 6 years ago

I am happy to dedicate 30hrs a week to this. It will mean my involvement in Open Bounty needs to be decreased a bit, but I really, really want to see this happen.

Good Ideas

  1. Browse to a DApp running on your local machine from within Status, with debugging and hot reloading easily accessible.

  2. Switch-node from Console so that you can connect to the contracts running on your local machine too.

  3. These two things will mean getting rid of status-dev-cli, which was a pain anyway.

  4. We then need to understand how best to build extensions that enable i. chat bots, ii. transaction suggestions as Martin details below iii. request access to contacts - this was the top query from our past hackathons (primarily in order to get their address easily without user input to do some kind of tx). iv. Anything else we can reasonably include from the feedback we have already gathered.

  5. It would be awesome to include random account generation as in MetaMask, truffle, ganache-cli etc., as this makes dev work much more convenient, allowing you to switch easily between multiple accounts to test how transactions work together. Maybe @iurimatias has something to add here?

martinklepsch commented 6 years ago

One thing that seems at least superficially interesting to me is the ability to "suggest" a transaction to an address. In a sense it's like a "receive request" but it could be done for more complex transactions (like bounty funding, payout, etc.) too maybe? Primarily thinking of this in the context of a machine suggesting a transaction based on some previous user action. (some related slack conversations: one & two)

EDIT: Tried to flesh out some of these transaction suggestion thoughts a bit more

alwx commented 6 years ago

Would like to spend some time diving into this because I was the one who was heavily working on DApps and APIs for 3rd party developers. Of course, I can also help documenting and checking what's still relevant and needed.

Can dedicate 20h/w.

oskarth commented 6 years ago

Closing this issue as part of spring cleaning. If this idea is still relevant, please submit a PR per https://github.com/status-im/ideas/#contributing. If you feel closing this issue is a mistake, feel free to re-open.