Personal Social Gardens that Live in the Browser

My esteemed colleague and cofounder Tyler hacked out a 100 line message sharing server. He used Ruby and Sinatra and we chatted on it briefly this morning. But the model follows the way of Facebook and Twitter with one database back end serving as a middle man between people. Even Diaspora‘s proposed solution involves a server middle layer route if you opt for their suggested hosted solution (i.e. they host “seeds” on a .com domain). They’re stand alone “seeds” or servers are no different than many web servers that serve html pages today, with the added promise of intercommunication. I suspect stand alone servers will be more difficult than an average user will be capable or want to set up. I’d like to offer an alternative.

Proposal: OpenGard.in a Network of Personal Gardens or Social Servers

Desired elements of a truly distributed social web network:

  • It can live in the browser. As a user I can spin up a local server that lives in my current browser environment and communicate with other nodes with a simple click of a button (my OpenID). Whether I’m on or offline, other users that I give permission to can access my social data with a Push method. I may observe other nodes and they can observe me by subscribing to updates. We can have private encrypted messages, share files freely back and forth, or share public messages all determined at time of sending.
  • Standard web servers can also connect and communicate with nodes, and host pages using supported web languages (protocols and standards as opposed to database apis). They can act in the same way as nodes, but provide scale to popular network super nodes (news sites),”blogstars”, and celebrities. You don’t have to spin up a local node server to browse public node information that you subscribe to, simply hit a known web page which curates that topic.
  • Distributed Moderation is a key feature of spam resistant and quality community social networks. If users flag spam or network abusers the abuser’s ID can easily be added to public blacklists.
  • People need an easy way of identifying themselves and finding others. OpenID can aid universal identification, and Oauth will help connect users to existing services. To find others it should be as simple as typing in a real name or pseudonym at a web directory page or using a personal garden accessing a network directory. Anonymous users can carry a pseudonym and post, but their identities are still subject to distributed moderation. Pseudonyms can be blacklisted, continued creation of pseudonyms should be discouraged (I’m open to ideas here). Nodes aren’t forced to ignore users that are blacklisted, they can opt in or out at anytime.
  • Open source code, to be extended and customized as needed
  • Data storage can exist simultaneously locally and in the cloud on services like Dropbox

Peer 2 Peer networks may provide guidance on infrastructure or usage patterns for dynamic social networks. In these type of networks, nodes dynamically appear and vanish. Users of personal gardens won’t be able to hit a static URL like http://mark.com/ to pull my updates unless hosted by standard web servers, which are setup to serve social information in that way. Instead they are free to browse their own personal garden if they subscribe to my updates. My information goes to them (Push), they don’t have to come to, or hit my page with a request.

Related Links & References:

Reblog this post [with Zemanta]

  • Leland

    Mark, my initial reaction to your article. Features are good, but I want to know how it can improve my life, in straight-faced words. Due to my technical background, I can figure out for myself all the ways in which this technology could help me with my digital identity et al. However, many readers who don't have an extensive background in SNS services and/or don't care to read through paragraphs of features to figure out the benefit might find a one or two sentence description of the potential direct benefits welcoming and helpful.

    :)

  • http://www.victusspiritus.com/ Mark Essel

    Heh, well put. I use the blog as a white board to scratch out ideas
    rapidly, buy often fail to distill a brief “benefits” list out of the
    thought riff.

    After a short discussion with Tyler I'm not sure the “routing server”
    idea of status.net isn't good enough for a first cut. As we work
    towards a living, proof of concept for less centralized social
    networks the personal garden, living in a browser becomes more
    feasible. For now a peer to peer network would require admin
    permissions on the host to share out files, and this type of
    functionality is a little beyond the sandbox JavaScript browser
    language. Maybe a one click plugin?

    The benefits are coming, most certainly when we're closer to a soft
    launch.

  • Pingback: Startup Strategies that Survive, Prosper, and Win » Victus Spiritus