FreedomBox / Project Danube at IIW #14

To the Internet Identity Workshop (IIW) #14, I brought 4 Guruplug computers (by GlobalScale Technologies) to conduct a demonstration of how a FreedomBox could fit into the goals of some of the communities that typically attend this conference, for example:

  • Personal Data Ecosystem: Within this vision, a FreedomBox could act as a “Personal Data Store” (or “Personal Cloud” or “Life Management Platform”) which would enable individuals to keep personal data on a device within their home, and to exert choice and control over what happens with this personal data.
  • Vendor Relationship Management: A self-hosted device such as the FreedomBox could also help to manage one’s relationship with vendors, and to express intents to purchase certain products or services.

There seems to be an obvious synergy, since the FreedomBox project as well as the two visions above all share the goal of giving individuals more independence and a better ability to control their communications online.

Judi Clark also brought one device, therefore we had 5 in total to experiment with.

Here are some pictures by Tom Brown of the table where the demo was held:

FreedomBox at IIW 14

FreedomBox at IIW 14

Project Danube/FreedomBox at IIW 14

One picture by Jim Fenton of the agenda, see the top right corner for the FreedomBox session:

Sessions

One picture by Tracy Sheridan showing myself after having received half a bag of chocolate in recognition of the FreedomBox demo:

Markus Sabadello (l), Drummond Reed (r) @ IIW 2012

And one by Doc Searls:

2012_05_02_iiw_081

The scenario of the demo was as follows:

  1. The Guruplugs were handed out to volunteer participants and plugged into power outlets.
  2. Upon being plugged in, these small personal servers booted their Debian operating system and custom Project Danube demo software.
  3. The volunteer participants of the demo were able to control their box via a web interface.
  4. The first step to perform was to connect one’s box to the other boxes (using a button on the web interface).
  5. The second step was to sign in to the network with an identifier (using a Distributed Hash Table), in order for boxes to be able to find each other.
  6. After being connected and identified, the demo allowed participants to do the following:
  7. Enter personal data which is stored in an XDI-based Personal Data Store on the box (first name, last name, email, etc.)
  8. Establish a relationship with other participants, which allowed access to the personal data on their boxes via XDI Messaging.
  9. Sending text messages from one box to another.
  10. Sending an “intent” to all boxes on the network (via multicasting), indicating what one would be willing to buy at a given price.
  11. Viewing “intents” received from the network.

The devices did NOT run any of the actual FreedomBox code, but rather some custom code I had developed within Project Danube. The demo was repeated several times over the course of the conference. I mentioned consistently that I was not directly affiliated with the FreedomBox Foundation, but that I had been observing it for a while and that the purpose of the demo was to capture the imagination of participants and provoke thoughts on how it could be used.

The demo involved a wireless access point to which all boxes connected. A mesh network using something like B.A.T.M.A.N. would have worked as well, but I found the Guruplug’s wireless hardware too unstable to rely on it for the demo. For some more information about using B.A.T.M.A.N. on Guruplugs, see here.

No authentication, authorization or other security measures worth mentioning took place in the demo software.

Many good ideas came up during the demos, for example:

  • Stina Ehrensv√§rd of Yubico gave me a free YubiKey and YubiKey Nano, which immediately gave rise to a number of ideas of how this technology could be used for authenticating users in a peer-to-peer network. Since the Guruplug and similar devices have USB, these ideas made a lot of sense.
  • Sam Curren of Kynetx had the idea that if such a box supported NFC, one’s smartphone could be used to assemble an initial configuration of the box, which could be installed through NFC contact. Alternatively, Bluetooth could be used too.
  • Kelly Mackin of the Personal Data Journal explained that a peer-to-peer network on FreedomBox’es could be ideal for publishing and disseminating news items. Freenet comes to mind.
  • One technology that has been described many times during IIW as having great potential for sharing and linking personal data is XDI. XDI can be used both in client/server models and in peer-to-peer systems.
  • One challenge in any peer-to-peer network is the handling of events such as new connections, incoming messages, etc. In the demo software, this was simply achieved with small JavaScript snippets, however this seems like a hack. Perhaps KRL would be a perfect fit.

Many questions were also raised, for example regarding the hardware capabilities of the box. The Guruplug’s capabilities are of course limited, but even though it is one of the cheapest plug computers available, it was perfectly capable of running the demo software. By the time the FreedomBox or similar solutions become ready for the market, suitable hardware will also have become cheaper and more powerful.

The actual demo code consisted of an XDI-based Personal Data Store (for storing and accessing data), the Jetty web server, the FreePastry Distributed Hash Table, and a few other components.

On the IIW wiki, there is also a summary of what happened during this session.

Here are some screenshot of the Project Danube demo software that was used:

 

About admin