UPDATE: I’ve posted a followup with some more learnings and links.

Recently Twitter decided to make its terms of service rather more restrictive. This has led to a number of web applications, IFTTT in particular, change the way they interact with twitter.

Recently, Tom Armitage described Twitter as “a universal messaging bus”. Unfortuantely that bus appears to be getting less and less open by the day.

I don’t blame Twitter, they have a business to run and investors to satisfy. However these days I’m looking for more in a platform than what they appear to want to provide. Recently I did some research on alternatives:

Diaspora*?

The Diaspora* project is trying to solve a different problem to the one I’m interested in: that of a closed invite-only social network a la Facebook. I’m interested in finding a solution for the public dissemination of status updates.

App.net?

App.net is interesting (I’ve signed up) but it’s still representative of the same problem: it’s one company controlling the platform. Despite what they say about how they’re going to remain open, it’s just the wrong set up for me and exacerbates the problem.

Enter OStatus

This is more like it. The OStatus set of standards describe how a collection of nodes might publish status updates, reply to each other’s updates, follow each other and more, all in a distributed fashion. You can implement the protocol in your app step by step, so that you don’t have a huge hurdle to overcome from the outset. There is now a W3C community group and they’re working on version 2.0.

There are a few implementations out there, most notably Status.net which offers a paid hosted corporate version and a freely installable version, and the popular identi.ca service. These are implemented in PHP, but for those of us who are used to Ruby…

rstat.us

rstat.us is a great ruby project I’ve jumped on board with looking to implement a reference standard for OStatus in Ruby. We’re at work implementing most of the core OStatus functionality, trying to push it down into shared gems, and provide a UI reference for a Twitter-like experience.

The team is also hard at work implementing a Twitter-like API, which means that any of the disenfranchised Twitter clients out there will very soon simply allow the changing of the URL endpoint, and their app will just work with rstat.us.

So, a call to action: if you can code, get involved in the project and make it happen.

If you own a Twitter client, or know someone who does, get in touch and offer to beta test the API using your client.

The future

Once rstat.us has matured and core OStatus functionality is done, any project will be able to incorporate a status update setup into their website. For example, my game Sol Trader has a list of status updates of the site, currently taken from the Twitter feed. Won’t it be great when you can subscribe to those updates on your own node, just by subscribing to ‘news@soltrader.net’? And then you reply to the update using your own node, and have your comment appear directly on the site? That’s what we’re working towards.

The goal

I’d love to see App.net adopt OStatus. I’ve love to see Diaspora* adopt OStatus when it reaches version 2.0, allowing for more private interaction.

I’d love to see Twitter adopt OStatus - if that happens, we’ve reached a huge milestone.

You might say Twitter is for ‘normals’ and OStatus is just for us geeks. They said that about the web at first, too. This movement can gain traction: what’s it going to take to make it happen?