Skip to content
This repository has been archived by the owner on Feb 12, 2024. It is now read-only.

2018 Q4 OKRs Planning #1566

Merged
merged 4 commits into from
Sep 28, 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
28 changes: 28 additions & 0 deletions OKR.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,34 @@

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.

## 2018 Q4

# A viable alternative to Go IPFS

* P0 - @vasco-santos - DHT is enabled by default and interoperates with Go IPFS DHT
* P1 - @vasco-santos - IPNS is functional over pubsub and the DHT
* P0 - @alanshaw - Base32 CIDv1 migration is complete
* P0 - @alanshaw - A JS IPFS daemon is part of the IPFS gateways
Copy link

Choose a reason for hiding this comment

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

what does "is part of" mean here?

Copy link
Member

Choose a reason for hiding this comment

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

I mean that it is one (or more!) of the nodes that belong to the IPFS gateway.

Obvisously this will require close communication with the infra team and I anticipate working on requirements the infra team may have for an IPFS gateway node (setup?, reporting?, throughput?, stability?). I'm thinking we'll likely want to "soft" launch and gradually ramp up traffic being directed to the node as performance and stability are proven.

* P2 - @hugomrdias - JS IPFS runs on the same ports as Go IPFS and uses the same binary name
* P2 - @hugomrdias - An IPFS version manager CLI tool exists to switch between go/js/whatever versions e.g. nvm/nave
* P0 - @achingbrain - npm-on-ipfs is the default registry that IPFS developers and CI use to install npm dependencies

# Measurably faster and smaller than ever before

* P0 - @hugomrdias - JS IPFS is capable of transferring a large dataset like ImageNet at least 75% as fast as Go IPFS
* P2 - @hugomrdias - The browser bundle of IPFS is not more than 1.5MB (gzipped) in size
* P3 - @hugomrdias - Browser bundle size is measured over time and developers alerted if it increases above 1.5MB
* P1 - @alanshaw - A website is published to visually track a set of basic performance profiles of JS IPFS releases over historical versions
Copy link
Member Author

Choose a reason for hiding this comment

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

Could it be continuing the work of https://github.com/ipfs/benchmark.js.ipfs.io?

Copy link
Member

Choose a reason for hiding this comment

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

I will certainly be looking at how it can be used/extended!


# Stable and future proof

* P0 - @hugomrdias - Error codes are added to all errors that originate directly from JS IPFS
* P2 - @alanshaw - Test quality is improved, duplicates removed and coverage increased
Copy link
Member Author

Choose a reason for hiding this comment

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

Over the entire project? Better take a snapshot then :)

Copy link
Member Author

Choose a reason for hiding this comment

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

image

* P0 - @achingbrain - js-ipfs-unixfs-engine is decomposed into smaller modules for better maintainability, testability and reliability. The refactored modules are part of a JS IPFS release
Copy link
Member Author

Choose a reason for hiding this comment

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

Make sure to extract the HAMT so that it can be used as a generic KV store on top of IPLD //cc @mikeal

* P2 - @achingbrain - Candidate modules for extraction from JS IPFS (e.g. js-ipfs-mfs) are identified and agreed
* P1 - @achingbrain - Continuous deployment is an option for all Protocol Labs JS projects. 3 IPFS/IPLD/libp2p projects are setup to be continuously deployed
Copy link

Choose a reason for hiding this comment

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

an helpful deliverable on this would be deploy requirement docs for each project to help during CD implementation.

* P1 - @achingbrain - A draft spec for unixfs-v2 is written

## 2018 Q3

Find the **js-ipfs OKRs** for 2018 Q3 at the [2018 Q3 IPFS OKRs Spreadsheet](https://docs.google.com/spreadsheets/d/19vjigg4locq4fO6JXyobS2yTx-k-fSzlFM5ngZDPDbQ/edit#gid=274358435)
Expand Down