Tweetbot: A Great, Not Perfect, 1.0

Tweetbot is the new Twitter client created by the talented folks at Tapbots, whose Pastebot app I reviewed in the past. With Tweetbot, Tapbots show us that innovation is still very much taking place in the Twitter ecosystem outside of Twitter’s office walls. The app is available for $1.99 on the App Store and well worth a purchase. I, much like a lot of people in my Twitter stream, have been using it since it became available and am enjoying it a lot. That said, there are a couple of interaction design decisions in the app that I’m not yet convinced by, and in this post I hope to crystallize—for myself but also as feedback for the Tapbots team—what irks me about them.

If you’re looking for a review of the great features of Tweetbot to help convince you whether or not it’s worth the $1.99, this is not it. This is a review of several details about the app that irk me; if these issues ring particularly strongly with you as you read them, perhaps Tweetbot is not for you. If you think I’m nitpicking or overly critical—and I likely am—you should do yourself a favor and buy the app already.

Like many others I found out about Tweetbot’s release on the App Store because of John Gruber’s post, wherein he writes:

Two favorite aspects. First, when you tap a tweet in your timeline, it gets selected and a bar of buttons to act on the tweet appears beneath it. Most Twitter clients, when you tap a tweet, present that tweet in a standalone view, sliding over to the right. With Tweetbot’s inline action bar, you can do something like replying or marking as a favorite and then immediately go back to scrolling the list of tweets — no need to tap a “Back” button.

As I read it my excitement grew, even though Twitter for iPhone (or Tweetie) has a swipe-LTR (left-to-right) feature for individual tweets that gives you access to action buttons “hidden” behind the tweet. Having a bar appear underneath sounded like an improvement because the tweet itself would still be shown, unlike in Twitter for iPhone.

However, functionally this turned out to be somewhat of a disappointment to me. Whilst the visual design (including animations) of this feature is fantastic, it doesn’t do one thing that Twitter for iPhone does: clean up after itself. In the latter, tapping on any of the action buttons that you reveal by swiping a tweet off to the side will instantly return the tweet back to its original place in the stream. Want to favorite a tweet? Swipe, tap, you’re done—and no visual residue remains other than the little corner label indicating you favorited this tweet. The behavior is similar for the Reply and Profile buttons, except those take you to a new view. Regardless, each of these buttons returns the tweet to its original state. And if you accidentally swiped or decide against any action, simply scrolling your stream brings the tweet back as well.

In Tweetbot on the other hand, this action involves a forced delay: you tap on a tweet and have to wait for the bar to show up. Not only does this take a fraction of a second (yet is still noticeable, especially if you do this 50 times a day), but after you’re done interacting with the buttons the bar is still there. You have to manually tap on the original tweet again to hide it. I suspect most people won’t really care either way, but to me (and my strong preference of UI cleanliness) the visual residue is a nuisance.

Two things about this: first, the interaction feels slower due to the observable delay before the action bar appears. On a purely factual level, Twitter for iPhone and Tweetbot put the buttons in front of you in a roughly-equal amount of time (with Tweetbot being only a fraction slower), but because the visual animation in Twitter for iPhone is so much greater it feels like there is a lot more going on. This effects you on a psychological level: your sense of accomplishment is rewarded more when small actions produce great results. In Tweetbot, your action is about the same—simple taps and swipes are not significantly different efforts—but your reward is “only” a very small bar sliding out slowly.

The second thing is the importance of this visual residue. Tweetbot has a very polished user interface, almost to a fault. In most areas of the app I find the polish a delight, but the stream—arguably the most important feature—feels over-designed: tweets have a relatively dark and present gradient background; retweet indicators get a full horizontal bar all for themselves; new tweets get separated by a blue “X New Tweets” bar, and geo-tagged tweets display the identified location as part of the tweet in a gray-italics font. All these differing visual elements cumulate to a remarkably busy feeling twitter stream. A visually very beautiful one, but after just a few hours of using it I already started to consider many of these elements UI clutter I wish I could disable.

The other feature that Gruber highlighted regards that same swipe gesture that in Twitter for iPhone reveals the action buttons. In Tweetbot, this gesture shows you the conversation preceding the swiped tweet, if there is one. This is a great way to quickly get to a conversation, but it only works when you swipe left-to-right. When you swipe right-to-left, you get the “reverse” action, e.g. replies that people might have made to the swiped tweet. If, like me, you are a heavy-duty user of Twitter for iPhone’s swipe feature (which has been around for a very long time), remembering the difference between swipe directions requires unlearning a lot of muscle memory. That’s not Tapbots’ fault, but I can’t quite tell whether this is the reason I keep forgetting which direction corresponds to which feature (Related Tweets or Conversation) or whether it’s the fact that the gestures are the same, but merely in opposite directions.

Some other aspects I’m unconvinced by are the double/triple tap feature. Double tapping a tweet is the same as tapping once, waiting for the action bar and hitting the little eye icon to see tweet details. Triple-tapping is customizable, but triple-tapping as a gesture is remarkably fault-prone. Did it register that third tap? Did I properly lift my finger enough the second time? Should I quickly try to tap once more? I run into these kinds of uncertainties a lot, and it makes me wish I could just customize the double tap and disable triple tap behavior.

The last complaint is something I think Tapbots can fix quite easily: there’s no way to quickly go to a user profile unless you have a tweet or DM of theirs at hand and double-tap their avatar. Want to manually enter a username? Well, you can’t. You can only execute a search for their name, which returns results for everyone whose name includes that string, but not in a smart order. And don’t even try going to any of your friends whose Twitter handles are a single letter; Tweetbot simply won’t find them.

1.0 is not 2.0

Whenever a 1.0 app comes out that does the same core thing as another app that’s already at version 2.x or 3.x, you’re bound to miss features you got used to and/or see bugs that were long ironed out in the other app. Tweetbot is very clearly a 1.0, but these are permissable issues. No Notifications? Give them time, it’s 1.0. Occasional hanging or crashing? Give them time, it’s 1.0.

The design of the elements in the stream, however, is not a “bug” or missing feature in any way. It’s far too polished and refined for them to not have spent the better part of the year on it. It is simply my personal experience with it that wants a much, much more simplified and cleaned up stream than what they designed Tweetbot to have.

Perhaps a future update will offer a cleaner theme as an option, or perhaps the Tapbots team take some of my criticisms to heart and simplify the current theme. Who knows. For now Tweetbot offers enough fantastic other, innovative features that keep me using it just the same. The Timeline/Lists integration, the configurable tab bar, the customizable triple-tap feature and the attention to detail… all of these are things I’ve not seen in any other Twitter app, and all of them are things I’m constantly using already.


All things considered, Tweetbot already shows tremendous polish and promise, and is a fantastic Twitter client for the iPhone. I look forward to where the Tapbots team takes it.

If you liked this, you should follow me on Twitter!