ABCDEFGHIJKLMNOPQRSTUVWXYZAA
1
OKRPriorityOwner
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 ARM1
10
Integrate updated versions of cjdns and yggdrasil, perhaps libp2p depending on availability3
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 applications2
17
Document a process that allows community contribution of applications to the platform2
18
Hardware development:yurko
19
Investigate power options (e.g. PoE, solar)2
20
Create hardware enclosure prototype3
21
Start discussion with hardware vendor on integrated mesh + application device, using "SBC + LibreRouter" as proof-of-concept device3
22
User research and design:garry
23
Develop user stories and personas1
24
Prototype UI/UX2
25
Production of minimal viable UI components catering to a subset of personas3
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 deployment1
29
Measure ongoing support cost to provide support ranging from in-person workshops, devices, online support, etc. where necessary1
30
Explore selling offline.systems through online channels (e.g. Tindie) to better understand ongoing maintainence costs1
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 servers1
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 necessary3
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 audiences1
42
Translate curriculum into Spanish, ideally by local facilitators (1 other language next cycle)2
43
Incorporate the curriculum from at least 2 existing institutions2
44
Create a short self-guided version of the course similar to Mesh Workshop3
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 workshop2
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 Toronto2
53
Facilitate single-module session in at least 3 conferences3
54
Launch compensated "Facilitator Program":dcwalk
55
Develop training material for facilitator program1
56
Write requirements for local facilitators and start taking applications2
57
Distribute "workshop kit" hardware packages at free or subsidized rates2
58
Launch sponsored Facilitator Program by end of Q22
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 facilitators3
61
Investigate process to fund facilitators for their time spent on facilitating sessions in their local spaces3
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 network1
66
Distribute through local meshnet and IPFS1
67
Develop user stories1
68
Prototype UI1
69
Production of UI components1
70
Documentation including project process, user stories, user feedback, technical design, challenges, takesaways, and next steps2
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 applications3
73
Investigate applicability of IPFS pubsub3
74
Develop user stories3
75
Prototype UI3
76
Production of UI components3
77
Documentation including project process, user stories, user feedback, technical design, challenges, takesaways, and next steps3
78
Share demos in order to engage with communities we hope this project may serve:ansuz
79
Show demos at at least 3 conferences1
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100