Wednesday, June 15, 2005
Paper Airplane and The Two Way Web
What if community and editing were a central and transparent part of the web and browsers?
What if the web was extremely integrated for usability, with instant messaging, site creation, the web server, and more all integrated into one whole?
What would this web look like if despite being integrated it was massively decentralized on a peer-to-peer network, able to exist and run without businesses or governments?
I have been working on a new vision of the World Wide Web and browsers that deeply embed collaboration and editing, starting from the questions posed above, and am proud to announce the final paper describing this vision.
The paper describes a new web browser, named Paper Airplane, and a new World Wide Web, called The Two Way Web. This new system has two main components: native support for collaboration and massive decentralization of the new web's technical plumbing.
Some major features of this new web and browser:
The paper is a thought experiment, a vision of how the web will be drastically different when it supports seamless community as a major component of the browser. The goal is to expand and consider ideas and technologies that push the boundary of what is technically possible. Engineering constraints and pragmatism are extremely important but can sometimes limit designers from imagining new ways of structuring software. Rather than focus on the technical how the paper focuses on the what in order to stimulate thought beyond current engineering capabilities, providing future possibilities that research and coding efforts can steer toward.
Simple prototypes of the Two Way Web peer network and the Paper Airplane browser have been created, however. An open source implementation of the Two Way Web has been created as a prototype framework named P2P Sockets. P2P Sockets is also an experiment in creating a P2P network that exposes an API that is familiar to existing programmers, namely the BSD Socket interface. It also includes higher level ports of software such as web servers, the Java Servlet and JSP APIs, XML-RPC clients and servers, etc. to a P2P network, as well as a simple distributed implementation of the Domain Name System that is non-secure.
A simple browser prototype has also been created to mimic some of the functionality of the Paper Airplane browser. This prototype is a Mozilla plugin that allows people to easily create collaborative P2P web sites, without setting up servers or spending money. It does this by integrating a web server into the browser itself, including tools to create collaborative online communities that are stored on the machine. The sites are stored locally on a user's machine, and a peer-to-peer network using the P2P Sockets framework is created between all of the Paper Airplane nodes that are running in order to resolve site names and reach normally unreachable peers due to firewalls or NAT devices. See the screencast demo of the plugin to get a quick overview.
The Paper Airplane project is now finished with the release of the paper, the plugin prototype, and the P2P Sockets framework that drives the prototype. At this point the vision is out there and I will be moving on to other ways to create Web 2.0, such as bringing these features into existing client/server WikiWikis. I will no longer be maintaining the P2P Sockets or Paper Airplane plugin so that I can make space and time for future projects and consulting; I've got a new million ideas I want to explore, especially around WikiWikis. The P2P Sockets project will live on with a new project owner and maintainer, Alex Lynch.
I hope the paper and prototypes inspire you to imagine just how much more powerful the web can be. Now that developers are experimenting with blogs, Wikis, tags, and DHTML, its time to innovate in the browser as well.
What if the web was extremely integrated for usability, with instant messaging, site creation, the web server, and more all integrated into one whole?
What would this web look like if despite being integrated it was massively decentralized on a peer-to-peer network, able to exist and run without businesses or governments?
I have been working on a new vision of the World Wide Web and browsers that deeply embed collaboration and editing, starting from the questions posed above, and am proud to announce the final paper describing this vision.
The paper describes a new web browser, named Paper Airplane, and a new World Wide Web, called The Two Way Web. This new system has two main components: native support for collaboration and massive decentralization of the new web's technical plumbing.
Some major features of this new web and browser:
- The web browser supports instant site creation by including everything necessary to create and serve web sites; there is no separation between browser and server. Every browser is automatically a server and can handle requests for web sites, and includes wizards for creating sites. The instant site creation tools also support the full spectrum of public and private, allowing everything from completely private work groups to completely editable public sites.
- Like a Wiki, this new browser includes a way to edit pages. This editor is a full-featured word processor built into the browser, an Internet-focused light office suite. Unlike existing packages such as Microsoft Word, this new editor is focused on web-based collaboration rather than printing pretty documents. Further, this Internet-centric editor has one click editing and saving; no more FTP or uploading files. Editing and saving documents is now similar to WikiWikis, but far more powerful and brought into the browser.
- Instant messaging is integrated into every web site, including the editor. Every web site now supports instant messaging, so that as you browse a site you can communicate with that site's members. You can edit documents in the editor while communicating with others who are also editing that document, collaboratively creating a page using synchronous edit tools. Further, instant messaging for a site hooks into how public or private you decide to make your web community during the instant site creation process, empowering site creators to choose how they want instant messaging to work.
- The browser includes a set of new features known as the smart browser, which is a new concept for the browser's relationship with a site. The browser now includes many things that used to be on the server, standardizing and making many common tasks much simpler across the web. For example, the browser includes single sign-on, so that users can sign into the browser itself on startup and then authenticate against other sites automatically. The smart browser vision also includes many tools for working with and viewing web sites in much more sophisticated ways, including searching, tagging pages, viewing pages by tags, tracking site changes, automatic indexing, and more.
- The Two Way Web Directory is a Yahoo-like portal that is decentralized and which makes it easy for users to find and search the Two Way Web. During site creation using the instant site creation tools inside the browser, users can choose up to three tags to describe their site, such as Politics and Campaign Finance Reform, for example. This information is stored in the P2P Mesh in such a way that a Yahoo-like index can be shown to end-users in the browser, generated from all of the tags. This directory also supports Google-style searching. No one company or entity controls this virtual Yahoo; it appears to the end-user as a centralized, easy to use website but is in fact a fantasy, a creation put together by the Paper Airplane browser while communicating in the P2P Mesh.
- The browser hooks into a peer-to-peer network of all other Paper Airplane browsers that are running named the P2P Mesh. The Two Way Web is actually a virtual illusion created from all running Paper Airplane browsers, a co-creation of many browsers autonomously creating a P2P Mesh. These browsers work cooperatively to do routing, distributed naming, automatic provisioning of storage and replication, etc. When a user wants to create or save a website using the Paper Airplane browser, they do not have to worry about storage or uploading files; Paper Airplane works with the cooperative P2P Mesh to automatically get the user started without having to know how to set up a web server, save files, or configure DNS.
The paper is a thought experiment, a vision of how the web will be drastically different when it supports seamless community as a major component of the browser. The goal is to expand and consider ideas and technologies that push the boundary of what is technically possible. Engineering constraints and pragmatism are extremely important but can sometimes limit designers from imagining new ways of structuring software. Rather than focus on the technical how the paper focuses on the what in order to stimulate thought beyond current engineering capabilities, providing future possibilities that research and coding efforts can steer toward.
Simple prototypes of the Two Way Web peer network and the Paper Airplane browser have been created, however. An open source implementation of the Two Way Web has been created as a prototype framework named P2P Sockets. P2P Sockets is also an experiment in creating a P2P network that exposes an API that is familiar to existing programmers, namely the BSD Socket interface. It also includes higher level ports of software such as web servers, the Java Servlet and JSP APIs, XML-RPC clients and servers, etc. to a P2P network, as well as a simple distributed implementation of the Domain Name System that is non-secure.
A simple browser prototype has also been created to mimic some of the functionality of the Paper Airplane browser. This prototype is a Mozilla plugin that allows people to easily create collaborative P2P web sites, without setting up servers or spending money. It does this by integrating a web server into the browser itself, including tools to create collaborative online communities that are stored on the machine. The sites are stored locally on a user's machine, and a peer-to-peer network using the P2P Sockets framework is created between all of the Paper Airplane nodes that are running in order to resolve site names and reach normally unreachable peers due to firewalls or NAT devices. See the screencast demo of the plugin to get a quick overview.
The Paper Airplane project is now finished with the release of the paper, the plugin prototype, and the P2P Sockets framework that drives the prototype. At this point the vision is out there and I will be moving on to other ways to create Web 2.0, such as bringing these features into existing client/server WikiWikis. I will no longer be maintaining the P2P Sockets or Paper Airplane plugin so that I can make space and time for future projects and consulting; I've got a new million ideas I want to explore, especially around WikiWikis. The P2P Sockets project will live on with a new project owner and maintainer, Alex Lynch.
I hope the paper and prototypes inspire you to imagine just how much more powerful the web can be. Now that developers are experimenting with blogs, Wikis, tags, and DHTML, its time to innovate in the browser as well.
Subscribe to Posts [Atom]