in blogging, social networks, tech, wordpress

Another look at Distributed Social Networks

I’ve been reading a lot about App.net online and only a few voices are truly against the idea. Most of them seem to accept that a social network without ads would be a great idea. But some talk about not just privacy from ads but total ownership of your data. How is that possible? Simple, to own your data, you should own the platform. Which means what? It means that I should be able to download a software package, upload it to my own server and soon, anything I post on it would be owned just by me, giving me absolute control over who sees it and who doesn’t. App.net could just have easily been that PHP-MySQL based software, but there are a few problems it would have to face –

1. App.net isn’t popular. Thus, to get people to install and run it on their servers and to trust that people will be interested in taking that pain, would be to expect too much.

2. Distributed social has been tried and is being tried again. No point beating the same drum knowing no sound will come off it.

3. Any decent PHP-MySQL app with a couple of users and about 200-300 subscribers will cost money. You’d be lucky to find yourself a free host, but if your blog is popular, chances are that you’re paying from your pocket for it. There’s no way people would pay to host social networks on their own if the free ones have options like basic privacy settings and data export.

4. App.net is not a twitter clone. It is not a single social network. It is a platform on which anyone will soon be able to build their own social network. Imagine a photo sharing network, a blogging engine, a commenting system and a Facebook-style ‘personal’ social network all based on one system, allowing you to cross-post with ease, still give you all the privacy you want. That means that the complexity of a distributed system would be manifold, expecting owners of these distributed ‘pods’ to conform to each requirement of the original code that would allow them to work with the main network.

Then there’s tent.io. It’s an up and coming social networking solution that’s distributed. Well, that’s all there’s to say for it. Diaspora tried and failed at the peak of Facebook unrest to come up with a viable and popular solution to the problem of owning your data and displaying it too.

But you know what’s never failed? WordPress. It’s a blogging engine, true, but it’s popular, extensible, stable, easy to install and use and did I mention popular. I looked at a specific plugin for WordPress that allows the admin to create a social network on their WordPress blog, literally out of the box – BuddyPress.

BuddyPress is unique because it combines the popular concepts of blogging with the convenience of short tweet-like posts and complete profiles, sharing and privacy options. This gives BuddyPress the unique advantage of being a proper social network without the hassle of worrying about underlying structure. Someone with basic computer knowledge and Internet usage skills and setup a WordPress blog and install BuddyPress on top of it in, say, 30 minutes.

There you have it folks, your complete social network with privacy and total data ownership. But is it complete? Not quite. BuddyPress isn’t distributed. So the social network in the box, remains in the box, with no scope of moving out and connecting to other similar networks. This is a problem that needs solving. If BuddyPress were to be the solution for popular, distributed social networking, we need at least the two following plugins –

  1. 1. A plugin to allow all BuddyPress users to use their username@buddypress_installation as a OpenID. OpenID is currently available in many forms for WordPress, but most of them are either broken, too complex or working for profit. We need a solution that allows a user to sign up for a BuddyPress account on one blog and then use that login information on any BuddyPress installation that has this plugin installed.
  2. 2. A plugin to resolve the data portability issue. By this, I do not mean the problem of allowing a user to export their data from one WordPress installation and import it in another. I mean the problem of allowing the same data to be present everywhere. Suppose a person makes an account on my WordPress install and then uses that account as a openID to login and comment on some other BuddyPress blog. That comment and it’s associated post should be visible to the user on my WordPress install because this is his primary account. Similarly, the other account should be able to pull data off my WordPress install to show profile information of our friendly comment-maker to the users of that blog. This can be achieved in two ways –
  • The BuddyPress installs use the openID login to pull data off each other and store on their local servers, thus ensuring that requests for that data are met with swiftly, but increasing privacy concerns.
  • The BuddyPress installs store the openID login and use it to dynamically pull the data off each other as and when needed, decreasing privacy concerns but increasing dependence on the other server’s uptime, speed and processing power.

Now, I’m not a PHP dev, so I can’t make these plugins as much as I’d like to. So this is a call to anyone who’s interested in the concept. Is this feasible? Hell yes! It’s been done before in the form of the DiSo project but abandoned because the devs got greener pastures. We can pick up their code or start from scratch, implementing something they were not able to.

All those who have read till this point, I have a gift for you. I installed BuddyPress on a WordPress installation. It’s up and running as of this post over at Nitin’s Buddies and I’d like to invite you all to join up, if only as an experiment and to discuss further possibility of using WordPress/BuddyPress as our choice of social network.

Update: Some people discovering this post have actually gone to the BuddyPress site I setup and have been disappointed at not finding anything there. Not any more! I’ve setup the site again and any one can register. If I find people to be interested in the site, I’ll shift it off a free hosting service and take serious interest in developing it as a social network. Till then, the site’s sitting on AppFog’s free servers.

  • Pingback: Nitin Khanna's Blog – Installing Fever on AppFog()

  • cant register! on buddies

    • Gaurav, I apologize for that. I’ve been getting hammered with spam on that blog and so I’ve been ignoring it. Can you tell me exactly what the problem is that you’re facing?

      • well the site’s blank… and i cant register.

        • @arkokoley:disqus I have been ignoring the site because all I’ve been getting on it is spam. But today I’ve updated it and I think it should be available. Please check and tell me if you can register, if you’re still interested in the concept. Thanks! 🙂

  • Andrew Roach

    Again, I’d love to know if this has gone anywhere. What you have described here is what I’d love to see.

    • Like I said, I’m looking towards postcardsocial.com to replace my BuddyPress install. Now that there is a project with potential!