A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | OKR | Priority | Owner | ||||||||||||||||||||||||
2 | Objective 1: Develop devices to support community-deployable offline networks | ||||||||||||||||||||||||||
3 | Build environments, CI, and automated releases: | benhylau | |||||||||||||||||||||||||
4 | Operating system images (e.g. Mesh Orange) | 1 | |||||||||||||||||||||||||
5 | Mesh router Debian packages (e.g. cjdns) | 1 | |||||||||||||||||||||||||
6 | Mesh node configurations (e.g. specific WiFi adapters) | 2 | |||||||||||||||||||||||||
7 | Application docker containers (e.g. IPFS) | 2 | |||||||||||||||||||||||||
8 | Mesh router integrations and testing: | benhylau | |||||||||||||||||||||||||
9 | Host Debian repository for mesh routers (e.g. cjdns) optimized for ARM | 1 | |||||||||||||||||||||||||
10 | Integrate updated versions of cjdns and yggdrasil, perhaps libp2p depending on availability | 3 | |||||||||||||||||||||||||
11 | Generate report on network performance of cjdns, yggdrasil, and libp2p in a real (lossy) wireless mesh network (stretch goal / next cycle) | 4 | |||||||||||||||||||||||||
12 | Peer-to-peer application integration and interoperability: | benhylau | |||||||||||||||||||||||||
13 | Design unified process for separating data layer (e.g. IPFS, SSB sbot, Aether mim) to run on offline.systems, from client UI (e.g. IPFS apps, Patchfoo, Aether client) to run on mobile phones and laptops | 1 | |||||||||||||||||||||||||
14 | Implement module for service discovery and automatic bootstrap across mesh network identities (e.g. cjdns IPv6) | 1 | |||||||||||||||||||||||||
15 | Improve existing application dockers (i.e. IPFS and SSB) | 2 | |||||||||||||||||||||||||
16 | Add at least 3 new applications | 2 | |||||||||||||||||||||||||
17 | Document a process that allows community contribution of applications to the platform | 2 | |||||||||||||||||||||||||
18 | Hardware development: | yurko | |||||||||||||||||||||||||
19 | Investigate power options (e.g. PoE, solar) | 2 | |||||||||||||||||||||||||
20 | Create hardware enclosure prototype | 3 | |||||||||||||||||||||||||
21 | Start discussion with hardware vendor on integrated mesh + application device, using "SBC + LibreRouter" as proof-of-concept device | 3 | |||||||||||||||||||||||||
22 | User research and design: | garry | |||||||||||||||||||||||||
23 | Develop user stories and personas | 1 | |||||||||||||||||||||||||
24 | Prototype UI/UX | 2 | |||||||||||||||||||||||||
25 | Production of minimal viable UI components catering to a subset of personas | 3 | |||||||||||||||||||||||||
26 | Extend design of UI/UX to all personas (stretch goal / next cycle) | 4 | |||||||||||||||||||||||||
27 | Community engagement: | ansuz | |||||||||||||||||||||||||
28 | Engage with at least 2 communities and support their deployment | 1 | |||||||||||||||||||||||||
29 | Measure ongoing support cost to provide support ranging from in-person workshops, devices, online support, etc. where necessary | 1 | |||||||||||||||||||||||||
30 | Explore selling offline.systems through online channels (e.g. Tindie) to better understand ongoing maintainence costs | 1 | |||||||||||||||||||||||||
31 | Establish channel to collect bug reports that is more accessible than GitHub issues (if needed / next cycle) | 4 | |||||||||||||||||||||||||
32 | Report on challenges specific to offline networks as we discover them, for example: | yurko | |||||||||||||||||||||||||
33 | Investigate discovery in the absence of bootstrap servers | 1 | |||||||||||||||||||||||||
34 | Investigate application functionality in the absence of assumed services (e.g. DNS, NTP) | 2 | |||||||||||||||||||||||||
35 | Investigate usability of peering flow and key exchange where necessary | 3 | |||||||||||||||||||||||||
36 | Investigate initial download and updates in the absence of centralized source (e.g. Debian repositories, npm) (stretch goal / next cycle) | 4 | |||||||||||||||||||||||||
37 | Investigate effects of node churn in the absence of centralized "supernodes" (stretch goal / next cycle) | 4 | |||||||||||||||||||||||||
38 | |||||||||||||||||||||||||||
39 | Objective 2: Collaboratively develop and facilitate workshops | ||||||||||||||||||||||||||
40 | Improve and extend workshop curriculum based on feedback: | benhylau | |||||||||||||||||||||||||
41 | Revise workshop based on engagement with more diverse audiences | 1 | |||||||||||||||||||||||||
42 | Translate curriculum into Spanish, ideally by local facilitators (1 other language next cycle) | 2 | |||||||||||||||||||||||||
43 | Incorporate the curriculum from at least 2 existing institutions | 2 | |||||||||||||||||||||||||
44 | Create a short self-guided version of the course similar to Mesh Workshop | 3 | |||||||||||||||||||||||||
45 | Improve access to hardware: | ansuz | |||||||||||||||||||||||||
46 | Support multiple hardware based on cost (e.g. Orange Pi Zero) and availability in other countries (e.g. compatible WiFi adapters) | 1 | |||||||||||||||||||||||||
47 | Stock hardware and explore selling pre-configured packages through online channels (e.g. Tindie) | 2 | |||||||||||||||||||||||||
48 | Stock hardware for 900 MHz LoRa module for last module of the workshop | 2 | |||||||||||||||||||||||||
49 | Expand facilitation opportunities: | dcwalk | |||||||||||||||||||||||||
50 | Start recurring program of full workshop series in Toronto (e.g. Toronto Public Library) | 1 | |||||||||||||||||||||||||
51 | Train at least 3 people who can facilitate the entire workshop series (currently no single person can) | 1 | |||||||||||||||||||||||||
52 | Facilitate single-module session in at least 2 new spaces in Toronto | 2 | |||||||||||||||||||||||||
53 | Facilitate single-module session in at least 3 conferences | 3 | |||||||||||||||||||||||||
54 | Launch compensated "Facilitator Program": | dcwalk | |||||||||||||||||||||||||
55 | Develop training material for facilitator program | 1 | |||||||||||||||||||||||||
56 | Write requirements for local facilitators and start taking applications | 2 | |||||||||||||||||||||||||
57 | Distribute "workshop kit" hardware packages at free or subsidized rates | 2 | |||||||||||||||||||||||||
58 | Launch sponsored Facilitator Program by end of Q2 | 2 | |||||||||||||||||||||||||
59 | Establish workflow for upstream contributions from local facilitators (e.g. translations, software, local hardware availability, curriculum development, etc.) | 2 | |||||||||||||||||||||||||
60 | Investigate process to fund upstreamed contributions from local facilitators | 3 | |||||||||||||||||||||||||
61 | Investigate process to fund facilitators for their time spent on facilitating sessions in their local spaces | 3 | |||||||||||||||||||||||||
62 | |||||||||||||||||||||||||||
63 | Objective 3: Develop new stories and possibilities of offline networks | ||||||||||||||||||||||||||
64 | Demo 1: Peer-to-peer content distribution integrated with alternative connectivities (e.g. Knapsack for Hope satellite, LoRa): | yurko | |||||||||||||||||||||||||
65 | Download content from alternative network | 1 | |||||||||||||||||||||||||
66 | Distribute through local meshnet and IPFS | 1 | |||||||||||||||||||||||||
67 | Develop user stories | 1 | |||||||||||||||||||||||||
68 | Prototype UI | 1 | |||||||||||||||||||||||||
69 | Production of UI components | 1 | |||||||||||||||||||||||||
70 | Documentation including project process, user stories, user feedback, technical design, challenges, takesaways, and next steps | 2 | |||||||||||||||||||||||||
71 | Demo 2: Integrate two peer-to-peer applications to prototype a user story (e.g. Scuttlebutt + IPFS): | garry | |||||||||||||||||||||||||
72 | Identify integration points between two applications | 3 | |||||||||||||||||||||||||
73 | Investigate applicability of IPFS pubsub | 3 | |||||||||||||||||||||||||
74 | Develop user stories | 3 | |||||||||||||||||||||||||
75 | Prototype UI | 3 | |||||||||||||||||||||||||
76 | Production of UI components | 3 | |||||||||||||||||||||||||
77 | Documentation including project process, user stories, user feedback, technical design, challenges, takesaways, and next steps | 3 | |||||||||||||||||||||||||
78 | Share demos in order to engage with communities we hope this project may serve: | ansuz | |||||||||||||||||||||||||
79 | Show demos at at least 3 conferences | 1 | |||||||||||||||||||||||||
80 | |||||||||||||||||||||||||||
81 | |||||||||||||||||||||||||||
82 | |||||||||||||||||||||||||||
83 | |||||||||||||||||||||||||||
84 | |||||||||||||||||||||||||||
85 | |||||||||||||||||||||||||||
86 | |||||||||||||||||||||||||||
87 | |||||||||||||||||||||||||||
88 | |||||||||||||||||||||||||||
89 | |||||||||||||||||||||||||||
90 | |||||||||||||||||||||||||||
91 | |||||||||||||||||||||||||||
92 | |||||||||||||||||||||||||||
93 | |||||||||||||||||||||||||||
94 | |||||||||||||||||||||||||||
95 | |||||||||||||||||||||||||||
96 | |||||||||||||||||||||||||||
97 | |||||||||||||||||||||||||||
98 | |||||||||||||||||||||||||||
99 | |||||||||||||||||||||||||||
100 |