OStatus: like Twitter, but open
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?
Share this article
Read more
OStatus: what I've learnt in 24 hours
Yesterday’s post was rather popular.
Here are a few things I’ve learnt since, from various commments, Hacker News posts and further reading:
-
WordPress might be a tipping point for OStatus. There’s a WordPress plugin which gives a fairly straightforward path to link any WordPress blog to the OStatus network. That would allow people to follow any blog through rstat.us (for example) and to reply directly on their own node and have the conversations appear on the original blog. There are apparently 60 million WordPress installs out there: this could be a huge gateway for the federated social web. Here are some great ideas to market it: anyone able to help pfefferle out?
-
Tent.io exists. OStatus is a couple of years old, but someone else has attempted to solve the same problem recently: there’s an open source platform and a first class implementation, just launched. Apparently there are scaling problems with the architecture, but it’s good to see any sort of movement. Hopefully we can all learn from each other and move forward the conversation.
-
The Developer Experience movement exists. The developer experience movement seeks to apply user experience techniques to design software other developers love to integrate with. This is very relevant to the OStatus movement: if the protocol is too complex, then it won’t propagate as people won’t be able to implement it. Arguably the hardest piece of OStatus to implement is the signed updates via Salmon, and it has a wealth of buggy half-done implementation out on the net. This means nodes are constantly tripping over each others bugs when trying to talk to each other. The antidote to these sick implementations? We need simple-to-use libraries for every language under the sun. Time to get to work!
-
User acquisition isn’t the only problem to consider. It’s obviously a big problem, but it’s only one piece of the puzzle. My friend Adewale Oshineye has been thinking about this problem a lot, and lists a number of different problems on an insightful Google+ thread. None of these problems are insurmountable though, and clever people are working on getting them solved, which is very encouraging.
What can we do individually to push things forward? And how can we keep the conversation going?
Read more