Twitter usability really sucks big time

Published on Thu 08 of May, 2008

As I already told, I am getting into twitter and though I'm not having any significant social network on twitter, I'm starting to get some of the ideas and some others - I just don't! But what I can tell you about are some really disgusting usability issues I came across after only a couple of days of usage.

After finding out that Chris Messina is twittering (..or tweeting? What's the 'correct' verb here?), I thought that it could be worthwhile following him as we both share the interest in distributed social networks. For that Chris started the DiSo Project and I recently joined the according Google group. Following Factoryjoe actually payed off rather quickly as I received the following twitter-message:

03:35 < twitter> factoryjoe: Wow, gave my my hour long #DiSo talk in 30 minutes. Phew! #bcsd (~70 slides)

Hey, great, Chris gave another talk on DiSo and I bet that was interesting. He posted a link to slides from a former talk on the DiSo mailing list some time ago already. Those slides looked interesting to me as they were pretty clear, empty and not the usual bullet-point-shit. Especially for their appealing clearness it is hard to grasp much from them though. So - one more 'hey' again - let's use the big social networking advantage of twitter and let Chris know that we'd like to have some audio (or even video) from the talk to get deeper into it!

Lightweight public inquiry in less than 140 characters
03:49 <   amette> @factoryjoe Same slides as in Vancouver? Is there some video (or audio) of your talk (from whereever) available?
04:08 <   amette> LOL - those @someone thingys only work when someone is following me - ok, still learning... ;)

Yep, yep, nothing to shout at twitter yet, just my own fault, I agree! But I still had to realize myself that he won't get that message and I wouldn't have realized it, if I hadn't read about that some time ago already. So after recalling this issue and accepting that I just messed up by sending useless messages out to the world, I searched for some other solution to not pollute my feed any more. Well, after STFW I found out that one can post private messages on twitter by just prepending them with "d". Ah, cool, so lets go for it:

Ok, private inquiry then
04:09 <   amette> d factoryjoe Same slides as in Vancouver? Is there some video (or audio) of your talk (from whereever) available?
04:09 <  twitter> factoryjoe does not follow you. Send 'follow factoryjoe' to request.

Ah, well, sure, if he doesn't follow me, then it would be unfair to spam him with private messages - good point, twitter-guys!! And WTF? You guys got some command possibilities in you instant messenger interface? w00t - I love you!! I asked for just that in my previous blog post. That's just what I want!! I use my irssi with its awesomely great proxy-feature (well, nowadays just SSH ;) ) on my server for IRC and after discovering bitlbee I just ditched all desktop-clients for Jabber and ICQ. So I was right from the start very happy to see twitter integrating IMs as I therefore got one more service integrated into my (almost) ubiquitous SSH - and that even by means of the open XMPP protocol! And now I don't really need the twitter web interface at all any more, it seems. I even got a help message back that really makes sense... somehow...

... I just didn't get why I should send "follow factoryjoe" to make him follow me - it should be his choice to do so! Something like "invite" would have made sense to me and I was really alienated to issue some "follow"-command. After some more googling I gave up and just decided to try it (look at the time-stamp, it really took me eleven minutes ;) ):

Screwing up my courage
04:20 <   amette> follow factoryjoe
04:20 <  twitter> You'll receive a message every time factoryjoe updates. To silence, send 'off factoryjoe'. For more commands, send 'help'.

WHAT?!? Eleven minutes searching for nothing was really the thing I was supposed to do for gaining - nothing!?! I was following factoryjoe already - so adhering to twitter's suggestion only to be told that I am now following him didn't give me much anything at all! Well, I STFW and I'm surely not thinking too highly of myself to not RTFM. So before you go hunting my ass down over not trying to get help for real, I issued the 'help' command as suggested:

Don't wanna look like a dumbass, so lets accept the offered help
04:20 <   amette> help
04:20 <  twitter> Reply with what you're doing.
04:20 <  twitter> 'invite' to invite a friend.
04:20 <  twitter> 'follow' to receive updates.
04:20 <  twitter> 'track' to track interests.
04:20 <  twitter> 'whois' for info.
04:20 <  twitter> 'off' to silence.
04:21 <   amette> help track
04:21 <   amette> track
04:21 <  twitter> You aren't tracking anything. Reply with 'track your keywords' to start.
04:21 <   amette> invite
04:21 <  twitter> Send 'invite number' to invite a friend to follow your updates on Twitter. e.g.: 'invite 212-555-2323'.
04:22 <   amette> invite factoryjoe
04:23 <   amette> whois factoryjoe
04:23 <  twitter> Mr Messina, since Jul 2006.
04:23 <  twitter> bio: As if concentrating wasn't hard enough already.
04:23 <  twitter> location: Temecula, CA, USA
04:23 <  twitter> web: http://factoryjoe.com/
04:23 <   amette> track diso
04:23 <  twitter> You'll now receive updates matching 'diso'. To stop, send 'untrack diso'.

Ok, that looked pretty nice at first, as it seemed to explain what is going on! And suddenly there's even the 'invite' command I was looking for! 'Track'ing something sounds like an interesting possibility and I decided to get some more help on that command by issuing "help track" - which sadly yielded nothing! Not even some "Fuck you! This command doesn't work like this!" - I would have actually been happy with such an answer, for real! Well, I learn fast and just issue the "track" command which then tells me what to do. I become overwhelmed with my success and issue the "invite" command because I need some more success story and really even get it! I shall say 'invite number' to that dumb bot, but I really don't know what number it means! A little bit of hubris began growing inside me and I just said 'invite factoryjoe' as one would most probably think to be a good idea as twitter treats usernames as being unique! No! That was not a good idea, it didn't help anyting and _worse_: I didn't get any feedback on that either! And it is becoming even WORSE... but more on that later or you might be suffering a heart attack right now....

I went clicking around twitter.com in my browser for some time to perhaps find a help page that I overlooked before. And yeah, for real, there it was sitting in the upper right corner: a friendly and helpful looking little link saying "help". Great! I clicked it and my page reloaded. Yes, I mean it the way I said it: my page reloaded! I tried again and my page reloaded. I logged out and clicked 'help' and my page reloaded. I used another browser, clicked help and my page reloaded. I... you get the picture. The little friendly word 'help' always links to the current page you're on. Wow, that's really helpful! Actually it would be even more helpful if they would name that link 'reload'! Another example can be found on the twitter web page. There are links to "followers_me" and "following_me" - heck, I still don't know what that's supposed to mean! Just leave the "_me" part away and it starts making sense - just please don't try to look cool for no reason.

Lesson learned: Name things what they are

It however occured to me that the twitter 'invite' command probably takes a phone number as argument. So I searched the web and tried to find factoryjoe's cell phone number.

Finally managed to invite factoryjoe
04:38 <   amette> invite 1234567890
04:38 <  twitter> We sent an invite for you! Expect to hear from your friend soon.

Wow, that was easy - once you know what to do! Well, he's not my friend, but discussing this incorrect 'friend'-notion used in almost every social service is another thing. ;)

So after more than half an hour I finally accomplished what should be a simple task for a social web-service: making contact with another guy. Now quickly twittering my 'success story' and then back to writing my thesis.

The final lie of twitter (for this day)
04:41 <   amette> shaking my head massively about twitter usability, but need to get back to my thesis now before blogging that crappy experience I just had...
04:41 <  twitter> Oops! Your update was over 140 characters. We sent the short version to your friends (they can view the entire update on the web).
04:44 <   amette> LOL - thought it was over, but my last tweet really made me cry/laugh... expect some rant on my blog :P
04:55 <   amette> invite 23542

Nicely done, twitter folks! Giving me feedback about my message being too long and wow, you even show the full message on your webpage still. Yeah, if that would have only been true! The message on the twitter webpage is just as cropped as the one in the RSS-Feed or the one that was shown on my blog through the twitter API. This was just as blatant a lie as telling me to issue the follow command to invite someone.

Lesson learned: Don't tell people shit that's not true

And what's that "invite 23542" you wonder? Well, that was a deliberate test related to the heart attack.. all the commands I issued, which yielded nothing - they were posted to my twitter account. And even the "invite 23542", which really looks exactly like the command shall look like ("invite number"), was posted to my twitter stream. I think it's really a dumb way of exception handling to "look, if we know that number as a cell phone - otherwise post it publicly". Why don't they just use e.g. the IRC-notation for commands? Lines beginning with a slash "/" are commands, so: "/invite 23542" - "Sorry, we don't know that cell phone."

Lesson learned: Give a user feedback on their actions

There is much more wrong with twitter usability. And it's not only about the IM integration, there's enough stuff on the web site, too! Some of it may partly be technical and related to their load issues, but still it's nothing impossible to fix and should be done fast. For example it took me more than a day to follow factoryjoe in the first place. After first clicking on "Follow" in the web-interface I didn't receive any tweets from him. I just noticed this cause I for some reason hit reload in a browser tab I had still open on his twitter page. By switching following off and on, I then managed to really be following him! AJAX is nice, but sending back success messages without really running through the logic that should do it - that's lame at least! Same goes for turning on/off device updates, sometimes it works, sometimes it doesn't. One can never be sure and actually this morning my cell phone showed me 16 SMS messages. That is some pretty nice shock every time - as a sys-admin this usually just makes me think: "Fuck! Which major system failed?!?" Well, those messages were all from twitter and I surely did not turn notification to my cell phone on. How can that happen?? And I wasn't able to switch it to my IM account through the web page. It again showed that it worked, but I kept getting messages to my cell phone. I then had to switch by sending 'off' from my cell phone and 'on' from my IM account. And apparantly it is not possible to get notified on both at the same time - why not? The list goes on and on...

... but from that IM desaster, let's learn these three easy rules by heart:

  1. Name things what they are
  2. Don't tell people shit that's not true
  3. Give a user feedback on their actions

Short Bio [toggle]

Born, went to school, started hacking on free software, did some major high availability sysadmin work in between, now back to my original passion: managing knowledge. :) -- Long CV

Tweets [toggle]