Thoughts on an open Twitter replacement: Concentrate on what’s done poorly

Twitter’s recent about face regarding their API gave me a lot to think about. It was definitely upsetting since I never saw this coming. I have always pooh-poohed the Facebook crowd and their constant worry about privacy and worn my Twitter username proud ( The geeky circles I move in, your Twitter id is fast becoming your real world identity), but suddenly Facebook felt less an oppressive regime. For a platform that clearly benefited from a huge developer community around it, a “you are not welcome here” message left a bad taste in my mouth.

My immediate reaction was the “I can do it over a weekend” developer instinct. But in this case it has been tried before and failed (see Status.net and the Twitter clones like Pownce that came out when Fail Whales were a regular feature of the platform). So this time instead of starting a new project that I would probably leave half done as I found the next shiny object I tried to analyze why Twitter succeeded and if it had indeed reached a tipping point where it just was important enough that it just could not be replaced.

I have had quite a few conversations around it as well. Tom Boutell and I shared some ideas (over Twitter, hah!) and he wrote an excellent proposal to replace Twitter. I agree with a lot of points there but have some rather different thoughts of my own,

1) How is Twitter different from WordPress
Theoretically it isn’t, and yet psychologically it is. My blog goes weeks (months?) without an update and yet I am extremely vocal on Twitter every day. I have often been tempted to just post my thought on my blog and forward it to Twitter (enough blogs and Tumblrs do that). But I feel Twitter is to WordPress like Instagram is to Flickr. They both capture transient thoughts that may have no value over a longer period. Occasionally interesting links are shared but thats it. I almost never go through my Twitter history. They are less formal and so immediate. I have a friend who composes blog posts for a couple of weeks since they seem so permanent that she doesn’t want to get it wrong, but Tweets are casual. I don’t think a simple install of WordPress would cut it.

2) We should do it because its Open / Federated
Unfortunately no-one cares about that, something that I am sure Status.net found out. Open is not enough reason for me to get off something that works, and is theoretically free. The only way an open system can succeed is if it brings new capabilities to the system. And open systems do that often. But a direct clone of Twitter is pretty useless.

3) Give me what Twitter gives
A Twitter federated and open replacement will have to:

  • Require no installation for the casual user and an easy installation for anyone wishing to be a node
  • Give me a permanent URL that I can share with my friends.
  • Allow me to discover new users and be discovered
  • Route messages to my “inbox”

4) Concentrate on what Twitter does poorly
Actually there is a lot here, and the only way a new system can succeed by fixing some of this:

  • Aggregate conversation around a shared item/link. Replies right now are a pain in the ass to track.
  • Be extendible. One of the things I see a lot of is the “vertical twitters” or “The Twitter for …(design / entrepreneurs / programmers, etc). So allow the data model that is a “tweet” to be extendible. For example, I should be able to add a poll as a Tweet or something like that.
  • Allow groups: Right now there is no way to create a quick group and send a message to 4-5 people without having to direct message them individually
  • Implement annotations: Twitter introduced this concept but has never executed on it. There is a lot of value here. For example, if I want to see what people are talking about the movie “Milk” I dont really want to see the dairy results. Similarly if I dont care for my friends’ FourSquare updates, I can only do a filter on a client like Tweetdeck using some String pattern (“checked in to”). But what if I am only interested in a friend’s tweets on programming but not his interest in photography. While hashtags could be used, most people don’t add them since it takes away from their 140 character limit.

Case study: BelugaPods
As an case study I’d like to talk about BelugaPods, a mobile app that I fell in love with and wish more apps were done so well. Beluga is a group messaging app that allows you to message multiple users and keep the conversations within a “pod”. Very handy when you are trying to organize group events. But the cool thing is that Beluga starts with the premise that your friends are not on the app. Messages to non Beluga users are sent as SMS but a clear value is shown by using the Beluga app (the conversation grouping). Thereby the application is usable when your friends aren’t in the system but excellent when they are.

I have a few ideas on implementation but they aren’t baked in enough yet to add to the post. Maybe I’ll follow up this one with those ideas…if I am not distracted by the next new thing ;).

Author: Arpit Mathur

Arpit Mathur is a Principal Engineer at Comcast Labs where he is currently working on a variety of topics including Machine Learning, Affective Computing, and Blockchain applications. Arpit has also worked extensively on Android and iOS applications, Virtual Reality apps as well as with web technologies like JavaScript, HTML and Ruby on Rails. He also spent a couple of years in the User Experience team as a Creative Technologist.

14 thoughts on “Thoughts on an open Twitter replacement: Concentrate on what’s done poorly”

  1. Good thoughts. Using wordpress in iteration .001 is only meant as a starting point, a good microblog would be much lighter to work with and often an app. Your points about offering enough value for people to switch are harder to answer. We need a good compromise between new features and easy-switch familiarity. -Tom

    Like

  2. I’m curious how Status.net doesn’t address your requirements:

    – Require no installation for the casual user and an easy installation for anyone wishing to be a node

    Status.net does this for you.

    – Give me a permanent URL that I can share with my friends.

    Again, Status.net takes care of this.

    – Allow me to discover new users and be discovered

    Yep, that’s a black art at best.

    – Route messages to my “inbox”

    identi.ca / Status.net does this for you for replies. If you truly want your inbox to become completely useless to you, by all means set it up to forward everything. 🙂

    – Aggregate conversation around a shared item/link. Replies right now are a pain in the ass to track.

    Status.net handles conversations.

    – Be extendible. One of the things I see a lot of is the “vertical twitters” or “The Twitter for …(design / entrepreneurs / programmers, etc). So allow the data model that is a “tweet” to be extendible. For example, I should be able to add a poll as a Tweet or something like that.

    Right, this isn’t handled very well at the moment.

    – Allow groups: Right now there is no way to create a quick group and send a message to 4-5 people without having to direct message them individually

    identi.ca / Status.net has groups, and can be created quickly, assuming that the participants also join the group.I think you’re looking for distribution lists, which would be very handy to have.

    – Implement annotations: Twitter introduced this concept but has never executed on it. There is a lot of value here. For example, if I want to see what people are talking about the movie “Milk” I dont really want to see the dairy results. Similarly if I dont care for my friends’ FourSquare updates, I can only do a filter on a client like Tweetdeck using some String pattern (“checked in to”). But what if I am only interested in a friend’s tweets on programming but not his interest in photography. While hashtags could be used, most people don’t add them since it takes away from their 140 character limit.

    You might be able to get this with groups, but yes, I agree that finding meaning via a tweet and searching on that would be a bit of a pain in the ass. How would Twitter have handled this?

    Again, I think identi.ca / Status.net does handle some of the items that you mentioned. And, the beauty of it is it’s OSS, so you can hack on it to get the pieces that you want, and can ship them back upstream to be included.

    Like

  3. I’m curious how Status.net doesn’t address your requirements:

    – Require no installation for the casual user and an easy installation for anyone wishing to be a node

    Status.net does this for you.

    – Give me a permanent URL that I can share with my friends.

    Again, Status.net takes care of this.

    – Allow me to discover new users and be discovered

    Yep, that’s a black art at best.

    – Route messages to my “inbox”

    identi.ca / Status.net does this for you for replies. If you truly want your inbox to become completely useless to you, by all means set it up to forward everything. 🙂

    – Aggregate conversation around a shared item/link. Replies right now are a pain in the ass to track.

    Status.net handles conversations.

    – Be extendible. One of the things I see a lot of is the “vertical twitters” or “The Twitter for …(design / entrepreneurs / programmers, etc). So allow the data model that is a “tweet” to be extendible. For example, I should be able to add a poll as a Tweet or something like that.

    Right, this isn’t handled very well at the moment.

    – Allow groups: Right now there is no way to create a quick group and send a message to 4-5 people without having to direct message them individually

    identi.ca / Status.net has groups, and can be created quickly, assuming that the participants also join the group.I think you’re looking for distribution lists, which would be very handy to have.

    – Implement annotations: Twitter introduced this concept but has never executed on it. There is a lot of value here. For example, if I want to see what people are talking about the movie “Milk” I dont really want to see the dairy results. Similarly if I dont care for my friends’ FourSquare updates, I can only do a filter on a client like Tweetdeck using some String pattern (“checked in to”). But what if I am only interested in a friend’s tweets on programming but not his interest in photography. While hashtags could be used, most people don’t add them since it takes away from their 140 character limit.

    You might be able to get this with groups, but yes, I agree that finding meaning via a tweet and searching on that would be a bit of a pain in the ass. How would Twitter have handled this?

    Again, I think identi.ca / Status.net does handle some of the items that you mentioned. And, the beauty of it is it’s OSS, so you can hack on it to get the pieces that you want, and can ship them back upstream to be included.

    Like

    1. @CraigM I agree Status.net is a good start but the points I had mentioned in “give me what Twitter does” is not enough to get people to move to it. I love the fact that its open source and could definitely be extended to add some of these concepts.

      Like

      1. I mentioned this in my post http://decafbad.net/2011/02/08/the-diaspora-that-wasnt-and-the-way-into-the-walled-gardens/. Essentially, we need to get people to care about open protocols, not about the software itself. As developers, we focus on how to compete with the big boys, but we do that poorly because we ape the functionality, but not the community. If we create the open protocols that the other communities can’t help but implement (or become irrelevant), then, and only then can we really work to make something better than Twitter.

        Like

      2. Lets go a level higher in this and ask, what benefits does Twitter have and what benefits are missing from it? (love the idea of thinking about what Twitter does poorly)

        Arpit, I think you nailed it when you said early on in your piece that as software, you had thought you could build a system that was similar in functionality, and that in fact others have, and yet none of them have gotten any traction.

        I’ll give you one that has: Tumblr. But what benefits does it provide that are enabling it to gain in traction among users? WordPress, TypePad, Twitter or otherwise?

        My opinion is that in terms of openness, what you can shoot for, are standards for which your participation is always yours to use how you see fit and APIs (like AtomPub) and standards, like RSS, used to make it happen. The protocol and format layer. I kinda think in terms of Craig, open protocols matter. But I think without apps that use them – you’re kinda stuck.

        So how do you convince app makers it is in their best interest to use open protocols and APIs? We (I use we loosely since I haven’t been involved in open source project in a while, but am thinking of one that makes sense for me), need to eat our own dog food and through that gain momentum. RSS didn’t take hold overnight. What was it that encouraged the folks behind Userland, My.Netscape, Blogger, and earlier blogging platforms to buy into it? It was part of an ecosystem that it provided connective tissue to.

        Like

      3. You mention “I haven’t been involved in open source project in a while”. I believe what is being proposed is an Open Standards Twitter replacement, and not an Open Source Twitter replacement. Very different beasts.

        Like

  4. Lets go a level higher in this and ask yourselves, what benefits does Twitter have and what benefits are missing from it (love the idea of thinking about what it does poorly)?

    I think you nailed it when you said early on in this piece that as software, you had thought you could build a system that was similar in functionality, and that in fact others have, and yet none of them have gotten any traction.

    I’ll give you one that has: Tumblr. But what benefits does it provide that are enabling it to gain in traction?

    Like

  5. My opinion is that in terms of openness, what you can shoot for, in terms of openness, is standards for which your participation is always yours to use how you see fit and APIs (like AtomPub) and standards, like RSS, used to make it happen. The protocol and format layer. I kinda think in terms of Craig below in that the open protocols matter. But I think without apps that use them – you’re kinda stuck.

    So how do you convince app makers it is in their best interest to use open protocols and APIs? You need, like in the case of showing users that an app has value, to have benefits for participation in them.

    Like

Leave a comment