Skip to content

Commit

Permalink
docs: refresh README and link to ipfs/pm for OKRs
Browse files Browse the repository at this point in the history
This change follows ipfs/team-mgmt#719
  • Loading branch information
lidel committed Oct 29, 2018
1 parent 132daa1 commit daffe3a
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 80 deletions.
48 changes: 28 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,30 @@
## Goals

- Browser extension exposes IPFS features in a robust and intuitive form
- Ensure smooth experience for web developers in browser contexts
- Browser developers are addressing requirements of the distributed web
- **Browser Users** - Browser extension exposes IPFS features in a robust and intuitive form
- **Web Developers** - Ensure smooth experience for web developers in browser contexts
- **Browser Vendors** - Browser developers are addressing requirements of the distributed web

## Current Status

### Browser Extension

Install the [IPFS Companion](https://github.com/ipfs-shipyard/ipfs-companion#ipfs-companion): an extension to give your browser super powers, I mean, to add support for the IPFS protocol and related [features](https://github.com/ipfs-shipyard/ipfs-companion#features).
[IPFS Companion](https://github.com/ipfs-shipyard/ipfs-companion#ipfs-companion) is a browser extension that simplifies access to IPFS resources and adds support for the
IPFS protocol.
It runs in <img src="https://unpkg.com/@browser-logos/[email protected]/firefox_16x16.png" width="16" height="16">Firefox (desktop and android)
and various Chromium-based browsers such as
<img src="https://unpkg.com/@browser-logos/[email protected]/chrome_16x16.png" width="16" height="16">Chrome or
<img src="https://unpkg.com/@browser-logos/[email protected]/brave_16x16.png" width="16" height="16">Brave.
Check [its features](https://github.com/ipfs-shipyard/ipfs-companion#features) and [**install it**](https://github.com/ipfs-shipyard/ipfs-companion#install) today!

It experimentally exposes IPFS API under [`window.ipfs`](https://github.com/ipfs-shipyard/ipfs-companion/blob/master/docs/window.ipfs.md#notes-on-exposing-ipfs-api-as-windowipfs).
Exciting ongoing work: [Exposing IPFS API via `window.ipfs`](https://github.com/ipfs-shipyard/ipfs-companion/blob/master/docs/window.ipfs.md#notes-on-exposing-ipfs-api-as-windowipfs),
[mozilla/libdweb](https://github.com/ipfs-shipyard/ipfs-companion/blob/libdweb/docs/libdweb.md):
[native protocol handler](https://github.com/ipfs-shipyard/ipfs-companion/pull/533),
[local DNS-SD discovery and TCP transport](https://github.com/ipfs-shipyard/ipfs-companion/pull/553)

### JavaScript Libraries
Currently in order to run IPFS in a web browser, you have to either bundle [`js-ipfs`](https://github.com/ipfs/js-ipfs) (full IPFS node in JS) with your client-side application
or use [`js-ipfs-api`](https://github.com/ipfs/js-ipfs-api) (HTTP API client library) to connect to external daemon running on local or remote machine. Make sure to check `/examples` in both repos.
Currently in order to run IPFS in a web browser, you have to either bundle [`js-ipfs`](https://github.com/ipfs/js-ipfs) (**full IPFS node in JS**) with your client-side application
or use [`js-ipfs-api`](https://github.com/ipfs/js-ipfs-api) (**HTTP API client library**) to connect to external daemon running on local or remote machine. Make sure to check `/examples` in both repos.

#### ..in Service Workers

Expand All @@ -37,21 +46,20 @@ DNSLink is mapping a domain name to an IPFS address by means of DNS TXT record.

Read [DNSLink guide](https://docs.ipfs.io/guides/concepts/dnslink/) for details such as setting it up on your own website and [DNSLink in IPFS Companion](https://github.com/ipfs-shipyard/ipfs-companion/blob/master/docs/dnslink.md) to see additional benefits of using our browser extension.

## PM'ing
## Resources

- [![Waffle.io - Columns and their card count](https://badge.waffle.io/ipfs/in-web-browsers.svg?columns=all)](https://waffle.io/ipfs/in-web-browsers)
- [ROADMAP](ROADMAP.md) (with Quarterly Objectives and Key Results)
- [Working Group Meeting Notes](https://github.com/ipfs/in-web-browsers/tree/master/meeting-notes)
#### PM
- [Meeting Notes](https://github.com/ipfs/in-web-browsers/tree/master/meeting-notes)
- [ROADMAP](ROADMAP.md)
- [Quarterly Objectives and Key Results (OKRs)](https://github.com/ipfs/pm/blob/master/OKR/WB.md)
- [![Waffle.io - Columns and their card count](https://badge.waffle.io/ipfs/in-web-browsers.svg?columns=all)](https://waffle.io/ipfs/in-web-browsers)

## Team
#### Related Endeavours



## Related Endeavours

- [IPFS Desktop](https://github.com/ipfs-shipyard/ipfs-desktop) - A Desktop application to run IPFS with a GUI
- [IPFS Companion](https://github.com/ipfs-shipyard/ipfs-companion) - A Web Extension to give your browser super powers.
- [IPFS WebUI](https://github.com/ipfs-shipyard/ipfs-webui) - The IPFS Dashboard
- [IPFS GUI](https://github.com/ipfs-shipyard/pm-ipfs-gui) - Unifying and leveling up IPFS interfaces and the user journey into the Distributed Web
- [IPFS Styleguide and UI language](https://github.com/ipfs-shipyard/ipfs-ui-style-guide)

- [js-ipfs](https://github.com/ipfs/js-ipfs) - IPFS implementation in JavaScript
- [HTTP API Documentation](https://docs.ipfs.io/reference/api/http/) - When an IPFS node (go-ipfs or js-ipfs) is running as a daemon, it exposes an HTTP API that allows you to control the node and run the same commands you can from the command line.
- [js-ipfs-api](https://github.com/ipfs/js-ipfs) - A client library for the IPFS HTTP API, implemented in JavaScript
- [IPFS GUI Working Group](https://github.com/ipfs-shipyard/pm-ipfs-gui) - Unifying and leveling up IPFS interfaces and the user journey into the Distributed Web
- [Dynamic Data and Capabilities in IPFS Working Group](https://github.com/ipfs/dynamic-data-and-capabilities) - building blocks that enable collaborative applications, providing solutions for security, identity, access control, concurrency, synchronization, offline and near-real-time collaboration on top of IPFS
67 changes: 7 additions & 60 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,8 @@

> This page provides the community with a high level overview of our current priorities and ongoing endevours.
### Table of Contents

* [Roadmap](#roadmap)
* [Goals](#goals)
* [Prerequisites](#prerequisites)
* [Long Game](#long-game)
* [Quarterly Objectives and Key Results](#quarterly-objectives-and-key-results)
* [Q3 2018](#q1-2018)
* [Browser developers are addressing requirements of the distributed web](#browser-developers-are-addressing-requirements-of-the-decentralized-web)
* [Ensure smooth experience for web developers in browser contexts](#ensure-smooth-experience-for-web-developers-in-browser-contexts)
* [Browser extension exposes IPFS features in a robust and intuitive form](#browser-extension-exposes-ipfs-features-in-a-robust-and-intuitive-form)
* [Q2 2018](#q2-2018)
* [Q1 2018](#q1-2018)

# Roadmap

### Goals
- **Native support in the Browsers:** protocol handlers for decentralized web protocols, especially IPFS and IPLD, bundled natively in web browsers.
- **Dapps are just.. apps:** creating web applications with IPFS is a viable alternative to HTTP-based stack.

### Prerequisites
- *DONE:* Implement [js-ipfs](https://github.com/ipfs/js-ipfs) and [js-ipfs-api](https://github.com/ipfs/js-ipfs-api)
- *DONE:* Create browser extension ([ipfs-companion](https://github.com/ipfs-shipyard/ipfs-companion)) that detects IPFS resources and redirects requests to local gateway.
Expand All @@ -33,49 +15,14 @@
- *IN PROGRESS:* Make the case for IPFS & Decentralized Web Protocols in Web Browsers with Use Cases, Sample Applications, Demos and Delightful Documentation
- *IN PROGRESS:* Work with browser vendors on adding missing APIs and solving discovered problems.

# Quarterly Objectives and Key Results

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.

## Q3 2018

This is a markdown version of [2018 Q3 IPFS OKRs Spreadsheet](https://docs.google.com/spreadsheets/d/19vjigg4locq4fO6JXyobS2yTx-k-fSzlFM5ngZDPDbQ/#gid=755202447).
Is is provided here as-is, see original document for priorities, assignments and progress.

### Browser developers are addressing **requirements of the decentralized web**

_Support the conversation with browser vendors. Make it as easy as possible for them to see where we are at, what's needed and why._

- Finished switch to base32 CIDv1 as the default across entire IPFS ecosystem [#](https://github.com/ipfs/ipfs/issues/337)
- Created at least three IPFS demos using experimental WebExtension APIs from mozilla/libdweb [#](https://github.com/ipfs-shipyard/ipfs-companion/issues/343)
- IPFS Companion with embedded go-ipfs ships with Chromium-based Brave by default [#](https://github.com/ipfs-shipyard/ipfs-companion/issues/312#issuecomment-385017637)
- Published final draft of “Addressing on the Decentralized Web” and found a champion to take it further [#](https://github.com/lidel/specs/tree/dweb-addressing/dweb-addressing) / [#](https://github.com/ipfs/in-web-browsers/pull/92)

### Ensure **smooth experience for web developers** in browser contexts

_Improve DX of existing features. Make it easy to start playing with IPFS in the browser today._

- Browser-focused checks exist for js-ipfs(-api) and are part of CI. Build fails if tests don't pass when bundled by all the bundlers or run over maximum bundle sizes
- IPFS in Firefox and Chrome supports upload of 5GB file without crashing or slowing down the UI (via Companion / window.ipfs / HTTP API)


### Browser extension exposes IPFS features in a **robust and intuitive form**

_Improve user experience. Make it easy to perform common operations without commandline._

- There is a smooth 3-step user onboarding flow (offer, install, welcome) for Companion and Desktop (OKR from GUI WG) [#](https://github.com/ipfs-shipyard/ipfs-companion/issues/324)
- Companion reuses file sharing, browsing and ipld exploring flows from Web UI (OKR from GUI WG) [#](https://github.com/ipfs-shipyard/pm-ipfs-gui/issues/35), [#](https://github.com/ipfs-shipyard/pm-ipfs-gui/issues/34)
- New WebUI ships inside of Companion bundle and is re-used for sharing/uploads, file management, exploring peer info and config editor [#](https://github.com/ipfs-shipyard/ipfs-companion/issues/514)
- User is able to define multiple API backends and switch between them via browser menu [#](https://github.com/ipfs-shipyard/ipfs-companion/issues/491)
- Preferences, ACL and Upload screens follow visual language established by WebUI and ipfs-css [#](https://github.com/ipfs/ipfs-gui/issues/7)
- Performance impact of content script that injects `window.ipfs` decreases by at least 50% [#](https://github.com/ipfs-shipyard/ipfs-companion/issues/460)
- One click to add a snapshot/screenshot of current web page to IPFS [#](https://github.com/ipfs-shipyard/ipfs-companion/issues/91#issuecomment-191220446)
### Goals
- **Native support in the Browsers:** protocol handlers for decentralized web protocols, especially IPFS and IPLD, bundled natively in web browsers.
- **Dapps are just.. apps:** creating web applications with IPFS is a viable alternative to HTTP-based stack.

## Q2 2018

Moved to [2018 Q2 IPFS OKRs Spreadsheet](https://docs.google.com/spreadsheets/d/1xIhKROxFlsY9M9on37D5rkbSsm4YtjRQvG2unHScApA/#gid=755202447).
# Appendix: Quarterly Objectives and Key Results

## Q1 2018
We do our best 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.

Moved to [2018 Q1 IPFS OKRs Spreadsheet](https://docs.google.com/spreadsheets/d/1clB-W489rJpbOEs2Q7Q2Jf1WMXHQxXgccBcUJS9QTiI/#gid=1872064387).
Current and past OKRs can be found at: https://github.com/ipfs/pm/blob/master/OKR/WB.md

0 comments on commit daffe3a

Please sign in to comment.