From daffe3ab091e633a2c3c26d0c91e3fac5ca40a2e Mon Sep 17 00:00:00 2001 From: Marcin Rataj Date: Mon, 29 Oct 2018 16:14:20 +0100 Subject: [PATCH] docs: refresh README and link to ipfs/pm for OKRs This change follows https://github.com/ipfs/pm/pull/719 --- README.md | 48 ++++++++++++++++++++++---------------- ROADMAP.md | 67 ++++++------------------------------------------------ 2 files changed, 35 insertions(+), 80 deletions(-) diff --git a/README.md b/README.md index 497b7ac..88b8673 100644 --- a/README.md +++ b/README.md @@ -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 Firefox (desktop and android) +and various Chromium-based browsers such as +Chrome or +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 @@ -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 diff --git a/ROADMAP.md b/ROADMAP.md index 88ab904..213fc0f 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -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. @@ -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