I wanted to gather your input for the developer tools roadmap in 2019. Essentially the features and improvements to the Blockstack dev tools (including blockstack.js, iOS and Android SDKs) that we should prioritize in 2019 Q1 + Q2.
Below is my list. Please add to it or let us know why we shouldn’t work on something. Keep in mind that this is a proposal and we might not end up working on everything proposed.
Any app that has user to user interaction needs a signalling protocol. This is a challenge in decentralized apps. Many apps currently work around this and we lack an officially supported and reliable method.
This allows users to bring their data to different apps via shared schemas. For example, as a user I can have a single photos collection that I can bring to different photo apps and messaging apps.
Split blockstack.js into scoped packages
The library is starting to become bloated as we continue to add features. And we might be moving more logic from the browser and else where into the library. It would make sense to split the library into scoped packages. i.e.
@blockstack/auth, @blockstack/stacks, @blockstack/id
Move ID creation and profile logic from browser to blockstack.js + enabling burner IDs
By moving some of the logic currently in the browser into the library, we enable several things.
- Burner IDs - let apps generate keys and register names for new users with the expectation that they will eventually move them to a more secure user generated ID from an authenticator app. This has the potentially of greatly simplifying user onboarding.
- Alternate implementations of Blockstack authenticators/browsers
- Other creative uses by developers
Encrypting data for other users
Natively supported encrypting files for another user through getFile and putFile.
Improve or remove social proof verifications?
Social proofs in the browser are a little bit finicky right now. We should either find a way to improve them or get rid of them.
Blockstack React HOC’s for auth
This is probably something that would be nice to have for React development. A higher order component that wraps the router and renders different pages based on the authentication status.
BNS resolution of websites and apps
The ability to register and resolve ID’s that point to an app or website. Again this has been talked about a lot in the past and has the potential to open a lot of doors.
Consistent and improved error handling