Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2019 Q1 OKRs Planning #293

Merged
merged 8 commits into from
Dec 17, 2018
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions OKR.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,27 @@

We try to frame our ongoing work using a process based on quarterly Objectives and Key Results (OKRs). Objectives reflect outcomes that are challenging, but realistic. Results are tangible and measurable.

## 2019 Q1
### Connectivity Magic
* Gossipsub interops with go
jacobheun marked this conversation as resolved.
Show resolved Hide resolved
* Rendezvous Protocol is implemented
* Connection manager supports dial backoff
* QUIC transport in js
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we'll be able to get the transport completed, but I think we should work to support the QUIC implementation in JS. Whether that's via contributing or testing via early adoption. Concurrently developing this while development continues could be a feasible approach, but it will likely continue into Q2.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Considering that there some discussions around implementing QUIC as a native node module and all our different front lines, I agree that QUIC should be one of the OKRs that should fall to Q2.

* POC of WebBluetooth
### Improved Performance
* multistream 2.0 is implemented
* DHT has stream support for searches
* Improve DHT scalability
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For improving the DHT scalability we need @jhiesey feedback. @jhiesey do you have any idea of how long it will take to get the spec for the new DHT?

* NAT manager core functionality is implemented (upnp, pmp, pcp, hole punching)
### Improve Debuggability and Stability
* go and js are interoperable
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should define what we want to have tested. I don't think having "full" interop testing is going to be feasible in Q1, but I think we can at least tackle the core components and figure out our process for adding interop tests for new things, like the Rendezvous Protocol.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree! DO you have a list suggestion?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* go and js are interoperable
* go and js are interoperable
* The dht has a full, passing suite of interop tests
* Circuit Relay has a full, passing suite of interop tests
* TCP and Websocket transports have full, passing suites of interop tests over SECIO and mplex

Here are my suggestions. We additionally have gossipsub, but it's covered by it's own OKR. I think floodsub is a nice to have, but with our current OKR list I think these are the higher priorities.

* Large Scale Testbed (50k+ nodes)
* libp2p has a network visualization tool
* libp2p has a suite of benchmark tests to run for each release
### Libp2p is seen as the go to p2p networking stack
* Revamped API and improved development experience
* Usage examples and proper documentation exist for all the modules of libp2p

## 2018 Q4

Find the js-libp2p OKRs for 2018 Q4 at the [2018 Q4 libp2p OKRs Spreadsheet](https://docs.google.com/spreadsheets/d/1BYwmbVicgo6_tOHAbgiUXWge8Ej0qR1M_gAUulazmrg/edit#gid=1241853194)
Expand Down