What if Diaspora's pods just cannot challenge Facebook's monolithic structure?

What if Diaspora's pods just cannot challenge Facebook's monolithic structure?

When Diaspora was announced, the first thing I checked was simple: "Is it distributed?" The answer was "yes!". I felt ecstatic: having a distributed system implied that there was no centralised control over the information. What I didn't realise is that multiple pods would also lead to multiple problems -- and now I wonder whether a de-centralised structure creates more problems than it solves. I write this article screaming: please prove me wrong. It's not a challenge: it's a genuine request. I love Diaspora as a project, and I really want it to work.

First of all, let me explain briefly what "decentralised" means (yes, British spellings, with an 's'!). It basically means that you can run your own server, and have it connect to other Diaspora servers. This means that you are able to create a relationship with other people on other pods, rather than just your own.

So, what are the problems I am talking about, that make me look like a proprietary software troll? Have a look at the list of diaspora's pods. Remember that to join the "main" one, https://joindiaspora.com, you need to have an invite.

First of all, it's about reliability. How do you know that the pod you are using will be there tomorrow, the day after tomorrow, or in 10 years? Well, you don't. You can try and use one that looks reliable, but these pods are community-based after all, and a lot of things can happen in 10 years. You can chose to run your own pod, but that would imply that you have your own server and are able to maintain it. (And secure it: remember, from then on you will be guarding other people's personal information!).

What about apps?
You might hate them, but one of the greatest strength Facebook has is in the thousands of apps users can (and do) install. Facebook's architecture is really smart about it: external applications are hosted as iFrames, and obtain the users' information through a pretty clever API. OpenSocial was meant to clone that, but I am not sure about its success. (How many successful OpenSocial applications do you know about? Have you even ever heard of it? The list of sites backing it is interesting: Hi5.com, 99factors.com, MySpace, orkut, Netlog, Sonico.com, Friendster, Ning, and Yahoo!.)

Keeping a server safe is pretty easy if it's in the middle of the cyberspace nowhere and you don't host anything interesting. The occasional scanner might pick you up, but if you don't run anything on it, they will find it pretty hard to do get in. Host a Diaspora pod, and it's a very different story: you have a lot of valuable user information, running on beta software. People out there find this kind of information very valuable -- and they will try and get to it.

Software updates
This is a big one for me. I wonder how often Diaspora community administrators actually update their pods. Hopefully, more often than Drupal administrators... I have no idea what the upgrade procedure is, but I do know how beta software goes: an update can be a pretty horrific nightmare. Having older versions of pods will lead to users getting used to less-than-optimal experiences too ("Ah, this is Diaspora, it looks a little... meh" -- whereas the current version looks anything but "meh"...). I am not even going to mention https://diaspora.happeningin.eu, which in the wiki reads "Out of sync with main repository, running own fork" -- although I just did

Social plugins
Free Software Magazine has a couple of Facebook plugins: it allows people to "like" our magazine, as well as post comments. These plugins are invaluable, for the magazine and for Facebook. They are invaluable for us, because they allow people to post comments very quickly straight from their Facebook accounts, and have that post go on their walls. And they are important for Facebook, as they really encourage more and more people to join Facebook. The decentralised structure of Diaspora can make the development of these plugins tricky at best (especially when you then need to implement moderation and so on).

Where is the solution, you troll?
The solution, in my humble opinion, is in two steps:

  • Soon: a commitment from the Diaspora development team stating that there will be a number of "officially maintained" pods, which will be guaranteed to be safe, secure, updated, and reliably "here" in 10 years
  • Quite soon: offer a way for users to "migrate" to a different pod if they wish to do so
  • In the longer term: provide a list of officially maintained pods mentioned in the first point
  • Find a neat way of implementing "apps", maybe implementing OpenSocial)
  • Soon: Implement social plugins.

Challenging a monolithic structure is hard work. Facebook is about to have their IPO (Initial Public Offering, which means becoming a public company). So, the wind is going to change. This could be an opportunity for Diaspora -- but these issues might end up slowing down user adoption. (Yes, Free Software Magazine is on Diaspora, and yes, we are on the "main" server...)



Ryan Cartwright's picture

Some good questions raised here Tony but surely the answer to most of them lies within the fact that diaspora is free software?

If you are really concerned over availability and security of a pod then perhaps the best answer is to host your own? Perhaps getting together with a group of trusted friends and pool resources to create one. After all one of the points of Diaspora was to address concerns about putting "our" data on somebody else's service. The DIY approach may be too complex, difficult or laborious for some users but isn't that the same situation as with any piece of free software? A distributed model gives you the user the power and freedom to choose where your data is hosted. If a pod is not up to date, if it is poorly implemented or has forked features a user doesn't like: the user can and should move. If the software is locked down so much that each pod is identical we might as well dispense with the distributed model and go back to facebook.

Apps? Yeah I suppose but to be honest the only app I use on facebook is selective tweets which allows me to post facebook status updates from my twitter feed (which is often fed by my identi.ca acount).

Migration between pods is an important point though. As mentioned one big point of the distributed model is to give users freedom to choose, an easy way to migrate from one pod to another is an important part of that.

Terry Hancock's picture

ISTM that the main security requirement is a means of backing up your account data locally -- something like the "Google Takeout" idea that was promoted with Google+. (And then being able to upload it to a new pod, of course).

I don't think focusing on making a few "official" pods is the right strategy -- that's just a return to centralization.

Centralization is ideological -- it's not just about about solving technical problems. Even if there is a technical cost, it's worth having it. Similarly for using a free-software-based service.

Author information

Tony Mobily's picture


Tony is the founder and the Editor In Chief of Free Software Magazine