I just caught up with my neighbor and fellow futurist Mark Pesce, who over a coffee at our local briefed me on his new project Plexus, which he publicly announced at his recent keynote at Pycon Australia, for Python developers. His excellent speech, titled How Not to be Seen, is below, and the transcript on Mark’s blog.
In his presentation Mark starts with his long relationship with programming and finally moves on to describe his project Plexus, which will provide a new platform for social networks.
In his talk Mark says:
There are three components within Plexus. First and most important is the social graph, a database of connections known as the ‘Plex’. Each of these connections, like a business card, comes with a list of connection points. These connection points can be outgoing – ‘this is how I will speak to you’, or incoming – ‘this is how I will listen to you’. They can be unilateral or bilateral.
The Plex is only a database. To bring that database to life, two other components are required. The first of these is the ‘Sharer’. The Sharer, as the name implies, makes sure that something to be shared – be it a string of text, or a link, or a video, or a blog post, or whatever – ends up going out over the negotiated channels. The Sharer is built out of a set of Python modules, with each particular sharing service handled by its own module. This means that there is no limit or artificial constraint on what kinds of services Plexus can share with.
Conversely, the third component, the Listener, monitors all of the negotiated channels for any activity by any of the connections in the Plex. When the Listener hears something, it sends that to the user – to be displayed or saved or ignored according to the needs of the moment. Like the Sharer, the Listener is also a set of Python modules, with each monitored service handled by its own module. The Listener should be able to listen to anything that has a clearly defined interface.
When Plexus starts up, it reads through the Plex, instancing the appropriate Sharer and Listener objects on a connection-by-connection basis. Everything after initialization is event-driven: the Plexus user shares something, or the Listener hears something and offers that to the Plexus user.
In essence Plexus gives everyone control of their social graph. They own and control the database which contains their personal relationships and connections. They can run it on any of the devices they use to communicate, or they can entrust it to someone else to run it in the cloud, so they can access it how they please.
The idea of an open, distributed social network is something I’ve considered and hoped for for many years. A time when the discussion of open social networks was particularly prominent was just around three years ago, in mid-2007, the topic of open social networks was a hot point of discussion. I wrote about it and captured some of the conversation on open social networks on my blog at the time.
For example, Wired said:
While we’ve largely outgrown the limitations of closed platforms (take e-mail or the web itself), no one has stepped forward with an open solution to managing your friends on the internet at large. We would like to place an open call to the web-programming community to solve this problem. We need a new framework based on open standards.
It will be a game changer – a new Facebook or Google that will challenge the closed networks by offering a good enough service that is as good as MySpace or Facebook but is entirely open.
The most prominent initiative in the space was Marc Canter’s PeopleAggregator, based on the long-standing Friend of a Friend (FOAF) protocol, which I first wrote about in 2004 in a survey of the social networking space. Unfortunately PeopleAggregator has not taken off.
Over the last few years the dominant feature of the social networking space has of course been the rise and rise of Facebook and Twitter. Calls for open social networks were barely heard in the frenzy.
Now the backlash is stronger against Facebook and the extraordinary power it has gained, as people are beginning to realize what they have given up by entering into the maw of the giant.
Diaspora* has gained massive attention by offering an open alternative to Facebook, famously raising $200,000 on crowdfunding site when they were looking for only $10,000. It is under development and hopefully will be running in the next months.
However while Diaspora* is open, it is not a truly distributed platform. Plexus is an example of a distributed social network in which its participants fully own their own data and social participation, and can connect with any platform they choose, including existing networks such as Facebook and Twitter.
Plexus may prove to be a solution that many are hunting for, and take off rapidly as a protocol and platform. Perhaps others will offer alternative ways to give people back ownership of their social networks. Or possibly the vast majority will remain happy to live beholden to those who control their social data.
Certainly I hope the time for open distributed social networks is here.