An Offline First Box

Providing fast and private services in a decentralized network

At Offline Camp Berlin, we spent a lot of time exploring the topic of peer-to-peer and decentralized web. In a first session on Saturday, we explored a lot of protocols and implementations. On Sunday, we discussed more specific use cases of an Offline First peer-to-peer network and what tools would make a useful stack. The idea of a such a local network would be to provide data and services to a small group of people at one place in a fast and private matter. “What can we solve right now on a small scale?” was the question we tried to answer.

The first situation in which such a stack would be cool was easy to find: a conference / bar camp like Offline Camp. At conferences you often have a slow internet connection but want to hack on things together. There were a few services we thought of that could come in useful: a Git server (for example GitLab) to share code, a chat (XMPP) to communicate, a micro blogging service, a wiki to collect knowledge, and so on. At an event like Offline Camp we could add a few more services to the mix: a publishing platform to start working on blog posts, a decision making system to vote for sessions, an agenda to see what’s up next, and so on.

Other places where such an system would be useful could be apartment buildings (or neighbourhoods), emergency / refugee camps, (street) festivals, or group vacations. Some more services that could add value there and which work offline include a payment / currency system, print and media servers, file sharing / backup solutions, or a contacts registry.

The hardware for an Offline First box could take many forms. (Image credit: PirateBox)

Existing box solutions

During the session we noted some existing box solutions that we’d heard of but didn’t know much about: FreedomBox and Pirate Box. While looking them up after the session, we also discovered the Cloudron platform.

FreedomBox looks like the most promising project. It already covers some of the features mentioned above and much more. It provides a chat, shared calendars and contacts, collaborative text editing, file transfers via BitTorrent, and even a social network, based on Diaspora. It’s under active development on GitHub and receives its updates automatically. They also have some cool features planned, like mesh networking and easier file sharing and backups.

Pirate Box focuses on privacy and works completely without user accounts. It provides basic web services for chat, forums, and file sharing.

Cloudron, on the other hand allows you to choose from a large number of services that can be installed on the Docker-based platform. It’s also possible to extend Cloudron with new packages for apps which are not yet provided.

As a good solution for the next Offline Camp or similar events, a combination of FreedomBox and Cloudron could work together well. FreedomBox could provide some basic features such as chat for announcements or on-site communication, and the collaborative text editor that attendees could use to work on things together. Cloudron could add more specialized services like GitLab, to provide Git hosting, Lychee as a nice way to collect photos from all attendees, or Verdaccio as a cache for npm.

Editor’s Note: If you’re interested in learning more about the decentralized web, check out our article collection or enjoy this passion talk from Fabian Fabian in which he envisions a peer-to-peer community operating system.

Fabian Fabian presents “My P2P Unicorn Land” at Offline Camp Berlin, April 2017