Update (29 May 2013): I’m delighted to announce we’ve been given the go-ahead from the Mozilla Hatchery to pursue this idea further!
I met Vinay Gupta in person for the first time recently. He’s a smart guy that counts the the US and UK defence establishment as clients. He’s got this idea for a People’s Cloud which, after some discussion, we’ve submitted to the newly-formed Mozilla Hatchery as Firecloud. What follows is a tidied-up version of the etherpad we used for planning.
We want to help Mozilla build Firecloud, a basic publishing platform building upon a distributed, P2P network of Firefox browsers. Firecloud would allow people learning web literacies to have a first publishing option which does not require them to buy web hosting and navigate new tools like FTP before their work is visible on the web. It will reduce barriers to learning for at least some users. There may be substantial other benefits from broader use cases for Firecloud.
Our imagined user story:
- User signs up for Persona.
- User turns on Firecloud.
- User notified that 5mb of space to publish costs you 20mb of additional disk space. They agree that when their computer is inactive and Firefox is running it will serve Firecloud content.
- A “Publish to Firecloud” button appears on Firefox when local pages are displayed.
- Users with WebRTC compatible browers see the content via WebRTC. Legacy browsers use a web gateway.
In terms of project maturity, we’re still on the white board but we think we could leverage several Mozilla technologies to build something of value fairly quickly.
Firecloud would build logically on top of Persona, WebRTC and the Local Storage system. The user namespace would be managed through Persona, WebRTC connects browsers to each-other, and Local Storages manages the cooperative content store. All of this infrastructure already exists. Firecloud would need to provide routing (perhaps the commonly used Kademlia?) and resource management, plus integration into the tool chain. These are substantial tasks, but this is an extension and integration of existing efforts, not a blind leap into the dark.
To get this up-and-running we need to find people with the technical skills to be able to do this and, if it is to be a Mozilla product, to convince those in senior positions that it’s a good idea. The logical path seems to be collaboration with the Persona and WebRTC teams to identify people who have an interest in both technologies, and obtaining support from the Web Literacies / Content Creation to help design a product which will integrate smoothly into a learner’s workflow and the respective team’s future plans. It may be worth considering Firecloud as a technology demonstrator for the underlying technologies, as well as a useful service provided for people learning web literacies.
This sits well with Mozilla as the organization is all about innovation on the Open Web. So far, the majority of the action has been on the Client side of the equation: a browser, publishing tools, a phone. Working on the Server side, helping provide an easy, low or no-cost Publish option for users is a logical extension of our work so far (including Thimble).
There is some potential for wider impact too. One of the impediments to creating a successful startup is the cost of datacentres. If an industrial-strength version of Firecloud emerged over time, some web applications could scale by having users donate computer power to serve content while their Firefox instance is inactive. Wikipedia, for example, could serve a lot of content using this architecture. It is imaginable that a mature, generalized Firecloud could help circumvent the server cost bottleneck, reduce the need for venture capital to pay for datacenters, and lead to anyone being able to scale a good idea quickly. But these are long term options, far removed from giving ordinary people learning the web with 5mb of space to play around in.
We applied to Mozilla Hatchery as we need help with the technical side of things. Also, this will only really work if it’s baked into (or at least an easy optional add-on) to Firefox.
Got a response? Want to find out more? I’m @dajbelshaw on Twitter.