Custom Interfaces
What makes this app better than most is the developers at tapbots have basically reengineered many of the standard UI elements that ships with the SDK. They have made small adjustments to the design, created new interactions, and thrown in a few tricks and surprises in mix. Three features jumped out of me when I initially used the app. Two of the three were elements that were built to mimic elements in the UI elements.
The navigation bar used on Tweetbot is a custom item. Even the back button is a slightly sleeker design than the automatic Apple version. The functionality of being able to tap on the title in the navigation bar and switch from you main timeline to one of your lists, is a nice trick feature.
This little tooltip while writing a tweet is also a nice little touch. It’s something that could have been left out completely, but adds something for the user that makes finding the right people to mention in your tweet a much friendlier experience. Technically, it’s fairly easy to add this feature. It’s just a custom UIButton that’s placed inline. There are probably a couple trick calculations built into placing it correctly, but nothing any good programmer and a little trial and error shouldn’t be able to handle.
Usability Features
Little features make all the difference. Tweetbot offers quite a few of these little design tweaks that indicate various things to the user, like who a tweet is retweeted by. This is most-likely achieved by having an extra UIView attached at the bottom of the tweet’s UITableViewCell.
This element, however, is likely to be achieved a different way. My guess is that this indicator of how many new tweets just loaded is achieved by adding an extra UITableViewCell in the middle of the UITableView. The difference to the user between these two are minimal because they both fit inline visually. But since they serve a very different purpose, it’s likely that they are implemented very differently.
The sounds are a nice touch to the app. It gives the app some personality.
The Tricky Stuff
This is where Tweetbot gets a little tricky. And where they did something that I haven’t seen in another twitter app to date. When you’re viewing a tweet, you have a ton of options at hand. You can tap once which expands the tweet (seen below), double tap which shows you the details from the tweet on another view, triple tap which gives you RT and quote options, or swipe left or right which show you conversation details if they exist.
This is the piece that kinda blew my mind. Not because it’s terribly difficult, but because it’s really trick. This took a lot of work to get just right. What you should know if you’re not an iOS developer is that how the tweet is displayed above is more than likely a UILabel. That would mean that links are not part of the mix. That UITableViewCell is converted to what we see below. My guess is that it includes a UIWebView or some kind of UILabel subclass for the text to provide us with links. If it’s the former, getting everything to line up visually was not easy. If it’s the latter, there is a lot going on in that subclass. It’s quality work.
The drawer that opens below the cell is a nice visual element, and time consuming to get right, but not terribly complex. Functionally, it provides a basic way to get to all the functionality that is provided by all the tapping and double tapping you can do with the cell.
The Cons
This may not be the right app for a new twitter user, or even a new iPhone user. There is a lot going on in this app, and it’s really not for the novice user. This isn’t the right twitter app for my mother. At times it was confusing for me to use initially, so I couldn’t imagine trying to instruct a novice user to use it.
Obviously, there are some options missing with the implementation of the twitter API and possible other tricks that are planned, like landscape mode. These upcoming features are discussed in a blog post on tapbots.com
Conclusions
This app is a game changer. It raises the expectations of users and, in turn, raises the bar for developers. If you want your app to succeed in the app store now, it has to be special. It HAS to be better than all it’s competing apps. And better takes time to build.
Tweetbot also reaffirms the work that Apple has done with the SDK. The basic navigation options and UI built into the SDK is a well thought out model for mobile, and there isn’t a need to dramatically restructure it.
Should you pay for it? Yes. They went much further than they had to go to create something compelling.