MacStories Tweetbot Coverage

A collected history of all MacStories Tweetbot coverage in a single document.

Beginning on the last page of their tweetbot tag.

Tweetbot for iPhone Review

I remember when I bought my first iPhone, Twittelator was the first Twitter client I downloaded from the App Store. Back then I wasn’t writing for MacStories, and I didn’t know about Loren Brichter’s Tweetie. I used Twittelator for months: it was a great app that had everything I needed. I saw no point in switching to another application, let alone start browsing the App Store looking for alternatives. Twitter was a young platform in the middle of expansion with lots of downtime issues, there were no lists or location features and the concept of “retweets” was just taking off thanks to the initiative of some users not affiliated with Twitter at all. For what I had to do, Twittelator was fine. Then I started MacStories, and the hunt for more compelling, alternative, different Twitter apps began.

Twitterrific came after Twittelator for me. I used it for a couple of months and then finally purchased Tweetie – which had seen a terrific rise in popularity thanks to an elegant UI design, a fast engine and a simple, yet powerful set of features. I fell in love with Tweetie: it was stable, fast, intuitive, continually updated. It received the support of the entire Apple community, and it quickly became a standard among iPhone geeks to have Tweetie on a device’s homescreen. The rest is history: Tweetie 2 shipped and revolutionized the ecosystem with pull to refresh, gestures, a refreshed interface and, overall, the richest feature set available on the market. In the meantime, Twitter as a platform was growing to accommodate more users, more servers and – as a side effect to media starting to use the service to deliver news – more responsibilities. Without going back through all the changes that happened at Twitter HQ between 2009 and 2010, you might remember when the company announced they were buying Loren Brichter’s Tweetie and putting him in the position of lead mobile developer. Twitter rebranded the app as “Twitter for iPhone”, Tweetie 2 for Mac disappeared from our radars to eventually come back as Twitter for Mac. Twitter as a company has changed (so much that they don’t even want too many unofficial clients anymore ), but the core concept of the service stays the same: it’s all about sharing content in real time. That hasn’t changed at all. If anything, it got better.

This is why I’m looking back at the 2008 - 2010 period with a bit of nostalgia mixed with excitement for what’s next: the developer community has always driven Twitter’s innovation on mobile platforms. Twittelator, Twitterrific, Birdbrain, Tweetie, Osfoora, Tweet Library: these are some of the great apps that have changed the way we check on Twitter with our iPhones and iPads, and have created new uses and interfaces for a service that was initially meant for sharing short status messages. You can’t say this for many companies nowadays, but third-party developers have been the greatest contribution to Twitter in the past three years.

On the other end of the spectrum, there’s the personal aspect of the story. As Twitter was growing in 2009 and 2010, so was this website. Of course I’m not trying to compare Twitter’s growth to MacStories’ one – that would be silly – but I’m saying I was there when all those clients started coming out in the App Store, when Tweetie 2.0 was released, when Twitter launched its criticized iPad app. Those are pretty big milestones in the history of technology, moments of innovation that a bad ranking on Google Search can’t take away from us. I have installed dozens of Twitter apps, I have seen developers struggling to come up with the right features at the right time, or the best design to appeal new users in a market that was getting crowded very quickly. And you know, there are actual people behind the indie Twitter apps we usually cover – not faceless companies looking for easy funding and a solid exit strategy. From a blogger’s perspective, the adoption of Twitter clients and the rise of Twitter as a real time communication service are quite possibly the most notable changes that happened in the tech scene in the recent years.

But as the timestamps on our tweets teach us, stuff in the real-time world gets old in a matter of minutes. And when something gets old and fails at keeping our attention span active, it’s time to make room for the new. But make no mistake: if there’s anything I’ve learned from iOS developers, it’s that innovation doesn’t stem from a “New & Noteworthy” label in the App Store. Shipping a new product isn’t a proxy for innovation. It takes a lot of ideas, willingness to change the rules and, most of all, a real “leap of faith” to release something you’re not sure it’s ever going to catch on, but you feel in your heart and tired coding fingers was worth the effort.

Innovation comes from the stubborns that don’t accept what’s been given to them.

::Innovation is a big word when it comes to Twitter clients.:: The market has been saturated by thousands of copycats that don’t add any new functionality to Twitter as a platform or service for iOS devices; the official applications are generally fine for average users who are looking for a way to tweet from their iPhones and iPads and Macs. Being an innovator in the mobile Twitter scene today means being able to disrupt what’s already available. I can understand why that could be a risk not so many devs are willing to take, especially considering Twitter’s aforementioned update regarding third-party clients. It’s a tough call.

You may be wondering why I’ve already written 900 words to introduce you to the latest application from Tapbots, makers of App Store hits like Pastebot and Convertbot. I mean, it’s not a secret that I’ve been testing Tweetbot over the past months and that Mark Jardine and Paul Haddad were working on a Twitter app for iPhone. But I believe sometimes a proper introduction is needed, just like a beautiful landscape needs to be admired and examined before a shot. In the case of Twitter clients, looking back at the platform’s history is necessary.

Innovation is a risk. True excellence, on the other hand, is exclusive to those who took risks in the past and know what they’re facing now, when a new risk comes forward.

Tweetbot is the app I’ve been waiting for: an excellent innovator of the Twitter platform. My new favorite Twitter client.

There’s a lot to do in Tweetbot, and several features to talk about. After months of development and testing in a private beta group, Tapbots has managed to release the most complete and functional Twitter client currently available on the App Store – a powerful application that is Tapbots’ take on the whole Twitter experience. You can think of Tweetbot as Pastebot applied to your timeline: a beautiful app that shines on the Retina Display thanks to Mark Jardine’s usual attention to pixels and taste, combined with a set of functionalities and new ideas that make Tweetbot the most innovative and disruptive Twitter app for iOS I’ve seen since Tweetie 2 came out years ago. I’m not afraid to call Tweetbot the “best Twitter client available for iPhone”, as in these weeks spent testing it I’ve noticed a clear improvement in the way I can access and read Twitter from my iPhone, as well as being able to get actual work done on it.


So let’s start from the main screen. Tweetbot allows you to set up multiple Twitter accounts, and switch between them from the same page – which also contains a Settings tab to customize your Tweetbot experience and the various sharing options implemented by Tapbots. Adding a new Twitter account doesn’t take you to an embedded Twitter web view, you just have to enter your username and password and wait for the app to authenticate you. One little touch I’m sure a very few people have noticed so far: if you enter the wrong username or password, the login popup will “fall” off screen. Try it. It’s this attention to detail that make Tweetbot a great app.

The Settings are organized in General preferences that apply to every section of the app, and account-specific settings that you can tweak and customize for each account you’ve added in Tweetbot. I want to start from the Settings as I believe Tapbots has nailed this aspect of the app by providing many options that enable you to deeply personalize the experience, and make your Tweetbot different from someone else’s – especially when it comes to touch gestures and sound effects. First off, Tweetbot can post tweets in the background: if you leave this preference set to “off”, Tweetbot’s new tweet window will stay on screen until a tweet is posted. But if you activate it, you’ll be able to instantly return to the timeline or whatever window you’re in after you’ve pressed the Send button. What’s the benefit? Simple: when you’re uploading media like videos and photos, the posting process might take a while. With background posting, Tweetbot gets out of the way, does its job in the background so you can keep interacting with the app while a tweet is being processed. Other options in the General settings include sounds, font size, display name, and triple tap preferences.

So here’s what Tweetbot is doing to be the “innovative client” I described above: instead of simply relying on graphics to visually communicate the status of the timeline and your interactions with tweets and users, Tweetbot makes great use of sound effects to let you know when a tweet has been posted, when new ones have arrived, or when you’ve successfully retweeted something. It may sound strange at first, but sounds add a whole new layer to Tweetbot – think of Pastebot’s sound notifications for copy and paste actions and you get the basic idea. Yet in Tweetbot almost everything was given a proper sound effect, and quality is top notch. In the sound settings, you’re given the option to choose whether you want effects for all actions, notifications only, or nothing. Why are sound effects such a big deal? Because I’ve found myself instantly recognizing what was going on in the app without even looking. I can scroll my timeline, hit retweet on something, keep scrolling and a few seconds later hear a sound effect and think “Hey, that retweet went through.” Again: it’s all about the details, and rethinking interaction schemes to innovate a platform that’s been stagnant for too long.

I appreciate the fact that you can set font sizes and display users as real names, but I want to focus on tap actions. Like in Twitterrific for iOS, you can perform a triple tap on a tweet to do something. In Tweetbot, you can configure this triple tap to mark a tweet as favorite, initiate a reply, retweet, or translate. I keep mine set to “mark as favorite”, and I love it.

Last, there are the account settings. In this window you can basically select all the additional services you want to use with your Twitter account, and Tweetbot has a great selection of URL shorteners, image / video upload websites and read later services to choose from. Instapaper and Read It Later are supported, but there’s no Readability integration yet. For video upload, you can choose between Mobypicture, TwitVid and yfrog. Mobypicture and yfrog also work as image services, with the addition of (which I use), Plixi, Twitgoo and TwitPic. In the URL shortening section, you can log in with your CloudApp account (my favorite), (no authentication),,,, Linkyy, and TinyURL. If you select a URL shortening service, all the links you post in Tweetbot will be automatically shortened.

And that’s it for the Settings. Like I said Tapbots worked really hard to get as many options as possible out in the first version, and expect more coming in future updates. Right now, these settings help a lot in customizing how Tweetbot works for you, but it’s when you get to the app’s timeline that you notice why Tweetbot is, indeed, different.

Let me get back to the subject of taking risks for a minute: how do you break the rules and conventions in a Twitter client for iPhone, a well-established category that hasn’t seen real innovations since the inception of swipe actions and pull to refresh? By building on those innovations, and trying to come up with something new that can “fix” the issues many people had with Twitter apps in the past. At the same time, you have to make sure your product is still accessible and easy to use, because new features added for the sake of being original at all costs can turn out to a terrible idea. This was the risk – the challenge Tapbots had to accept. And with the final product in our hands today, I have to admit the Twitter experience offered by Tweetbot is perfect. At least for me, I haven’t seen any other app that’s so well executed, beautiful, fast and useful for what I have to do with Twitter.

Timeline & Actions

Tweetbot’s timeline is based on three key features: lists, gestures, and actions. Together with these features, there are dozens of additional touches like pull to refresh, timeline resume and customizable tabs that are the proverbial icing on the cake. In Tweetbot, any Twitter list can become your main timeline in two taps. With a button in top toolbar that separates the “back” and “new tweet” buttons, you can access all your private / public lists you’ve created or subscribed to and make them a timeline that will replace the people you follow until you select the main Timeline again. Let’s say I want to temporarily switch to a timeline based on a list collecting people that tweet about RIM: I tap on the timeline button, select the list, and there my main timeline is replaced by the RIM folks. I can go back at any time, choose lists – even create new ones and add users to them thanks to Tweetbot’s full list management. Other Twitter clients in the past tried to play around with this concept of turning lists into timelines, but none of them got close to today’s implementation in Tweetbot. It’s simple, fun, and adds value to my productivity.

The timeline is organized in tabs: people you follow, replies, direct messages, and two customizable tabs. Instead of putting a tab for favorite tweets and then an obscure “More” tab to let you navigate between other sections like most Twitter clients do nowadays, Tapbots created a system that allows you to access 4 sections using 2 tabs. Once you try it, it’s genius: the last two tabs in the bottom bar have little arrows next to the main icon, which means these tabs can be “expanded” to reveal more sections. So let’s say Tweetbot defaults my fourth tab to Favorites but I want to put Lists in there, all I have to do is tap & hold the tab, and choose lists (or the third item, retweets). It’s a tiny, translucent menu that contains icons for the additional sections you might want to open and – guess what – it’s got its own sound effect as well. In my opinion, this is incredibly better than having a More tab to manually customize the contents of the tab bar – Tweetbot has 5 tabs, but they’re virtually 9. Also, the selected tab has a pressed state, and a blue highlight to indicate new tweets or direct messages. It looks great, it works equally well. Direct messages can be marked as read with a double tap, and they’re presented in threaded conversation views. Thumbs up.

To quickly scroll to the top of the timeline, you can tap on the iOS status bar as you would expect from any iPhone app. But as you do that, you might notice something different about Tweetbot’s timeline. First, there’s a search field above the first tweet that enables you to filter down status updates based on specific keywords. If you keep scrolling up, you will stumble upon Tweetbot’s version of the mythical pull to refresh gesture: it’s got a spinning blue indicator that visually tells you what’s going on, and a timestamp with the last time you’ve refreshed the timeline. When the timeline is successfully updated, Tweetbot plays a “ping” sound but doesn’t automatically scroll to the top: instead, it places a blue bar between the last tweet you read and the newly fetched ones telling you how many new tweets you have. Swipe up, and there you have some new tweets to read – refresh again, and the previous bar goes away making room for a new one indicating new tweets. It’s a lot simpler than it sounds from a written review. Combine pull to refresh and the “new tweets” inline notification with Tweetbot’s perfect resume function and you get the idea of why I love this app so much. You know when you leave Twitter for a few hours and you come back to find hundreds of new tweets, right? To me, that usually happens in the morning when I wake up and fire up Twitter for Mac. Now, in most Twitter apps for iOS the action of loading past tweets isn’t well implemented at all: you have to manually scroll to the bottom, and keep scrolling until an API limit is reached and the app can’t get any more tweets. In Tweetbot, you get a visual “break” between recent tweets and past ones in the form of an empty dark grey bar with a + icon in the middle. When you tap on that, the app begins loading tweets, “opens” the timeline with a cool animation and puts loaded tweets in there. Your position is maintained, and the process takes seconds even on 3G. In my tests, Tweetbot has always been reliable at keeping my exact position in the timeline even after days, and it always loaded new / past tweets correctly. For work purposes, this is simply great: I don’t lose my position in the timeline, and I don’t lose tweets. It’s a win-win feature.

The best thing about Tweetbot, however, isn’t the timeline itself: it’s how you can do stuff with tweets that impressed me since the first beta I installed on my iPhone. It’s how you can perform actions on tweets easily, quickly, with just a few gestures or taps without being forced to leave the timeline at all. And when you do need to leave the timeline to open another view that can’t be displayed inline (for obvious reasons), Tweetbot makes sure you get there with ease. Everything in Tweetbot is intuitive. A big feature of version 1.0 is support for gestures: you can swipe right on a tweet to view a conversation, or swipe left to view “related tweets” – namely, all replies to the author. These features are useful and fun to use for three reasons: they have their own sound effects and indicators next to the main tweet; they’re fast; they’re so addictive you’ll wonder why didn’t anyone else think of them before. Ever since I started using Tweetbot, I tried to go back to other clients and I immediately missed Tweetbot’s quick way of displaying a conversation with a single swipe. This is a functionality you can’t understand from the screenshots – you have to try it and let it grow on you.

And then there’s the action drawer. This is hands-down my favorite feature of Tweetbot and the one that’s helping me save a lot of time when dealing with tweets related to MacStories or material I want to write about. It works like this: tap on a tweet, and the timeline collapses to reveal a drawer “beneath” a message. This action panel contains buttons to reply, retweet, mark as favorite, open the detail view for a tweet or “do stuff.” The gear button, in fact, allows you to send to a read later service, post a link to the tweet, copy an entire tweet, email it or translate it. The “copy tweet” functionality is the one that I’ve been using the most over the past months, as it enables me to copy tweets from the @macstoriesnet account and re-post them as they are. To dismiss the action drawer, tap again on the tweet. Why is Tweetbot’s action drawer any better than Twitter’s swipe-to-reveal menu? First, it doesn’t hide a tweet and it’s unobtrusive in the way it shows up on your timeline. More importantly, it contains functionalities that several clients only let you access from a “sharing” button in the tweet detail view, which in Tweetbot is entirely optional and doesn’t need to be opened. These actions can also be activated with a tap: tap & hold on a link to send to Instapaper, tweet the URL or open in Safari; tap on a link (while the action drawer is open) to view it in the built-in web view. On the other hand, if you tap & hold on a tweet you’ll get the same options from the gear button. But there’s more: tap&hold on a profile pic to check on follow status, unfollow, add to list, DM and report for spam; double tap to open a user’s profile. This view gives you all the information you need about a user: location and website (both tappable), picture, bio, followers, following count and lists. You can block users within Tweetbot, if you want. You can also view everyone’s tweets, replies, favorites and lists without leaving the app. Furthermore, the “find people” feature in the Search tab lets you find users and follow them with literally two taps. Of course, you can browse trends, interests and saved searches, too.

Last, there’s the tweet compose window. Tapbots went for a minimal approach here, with a simple design focused on letting you get a tweet out as fast as possible. However, there are many options behind the curtain: you can save and attach drafts (I love this); switch accounts with a single tap thanks to the user button at the top; you can upload photos or videos or – here comes one of the many big features of Tweetbot – remove the location the app automatically gets for you and choose coordinates or points of interests instead.


There’s a lot to do in Tweetbot, and many little design touches and interactions I haven’t mentioned. Like the way the app displays retweets, Boxcar integration, or the blue drawer that comes down from the status bar after you’ve posted a new tweet. They play an important role in the app, but they’re all part of a much sophisticated plan when you look at the big picture. Tweetbot comes from developers who decided they wanted to make the perfect Twitter client with a beautiful user interface, an amazing feature set, and an innovative approach to timelines. That’s what I call a risk. A challenge that’s been in development for more than a year, a huge risk considering Twitter’s intention to undervalue “regular clients” and focus on new uses for the platform.

Yet, Tapbots wanted to make a better client.

They succeeded. Tweetbot is everything I’ve ever wanted from a Twitter app: it looks great, it’s fast on WiFi and 3G, it innovates in several aspects that have been regarded as “standards” from both users and developers for too long. Could Tweetbot be any better? Maybe. The developers could work on improving the speed of animations and refresh times as much as possible, or implement support for Readability and other URL shortening services. But as far as the Twitter experience goes, Tweetbot has got everything I’m looking for.

So go download it now. Tweetbot was a risk for Tapbots, but they managed to build the best Twitter client for iPhone I’ve ever had.

Tweetbot for iPhone Review #archive #tb6

Tweetbot 1.1 Released: Landscape Mode, CloudApp, Fixes

If you read my original Tweetbot for iPhone review, you know it’s a great Twitter client I’m in love with. Over the past weeks I had the chance to try out an early version of Tweetbot 1.1, released today in the App Store, and once again Tapbots has managed to fit so many features into the app it’d be hard at this point to think of anything that didn’t find its way into Tweetbot. Version 1.1 introduces the much requested support for landscape mode, but there’s a catch: considering the portrait nature of the iPhone, landscape only works in three sections: compose window, for those who like to type with a larger keyboard; media, to view photos in landscape; web, to have a broader view of web pages. It makes sense to not offer landscape support in the timeline – you’d have to give up on viewing a certain amount of tweets in horizontal orientation, plus, let’s face it, it would just look weird. So landscape it is, but only for some sections of the app.

Tweetbot 1.1 is also rich in additions to the main experience. The app’s got new user and hashtag buttons added to the compose screen, to make it easier to include people of specific keywords in a tweet. The hashtag picker has been improved as well, if you’re into following Twitter trends, or have a set of tags you use often. More importantly, photos and videos can now be uploaded to CloudApp, meaning the service is not only being used for URL shortening anymore. In the timeline, Tapbots has fixed the location stuff to display more accurate locations and moved the “tweet gap” bar above old tweets, instead of below. I’m not sure I like the new gap bar better, but perhaps it’ll keep growing on me over the next weeks.

Overall, Tweetbot 1.1 builds on the excellent foundation of version 1.0 to deliver a powerful Twitter client that’s heavily based on Tapbots’ custom style, but it’s accessible for anyone who’s never used a Tapbots app before. The app is propagating now in the App Store, so check for updates in iTunes in a few minutes if it isn’t out for you yet.

Tweetbot 1.1 Released: Landscape Mode, CloudApp, Fixes #archive

Tweetbot 1.2 Released With Several Enhancements

Tweetbot, the Twitter client from Tapbots we reviewed here, has been updated to version 1.2, adding several features requested by users in the past weeks and fixing some of the minor gripes we had with the application when it first came out. Whilst version 1.1 focused on adding CloudApp and landscape support, Tweetbot 1.2 brings a series of refinements and enhancements across all the sections of the client that should dramatically improve the experience. For example, you can now undo retweets, and retweet from another account if you hold down the retweet button. That’s quite handy: not only you can delete accidental retweets, you can also retweet quickly without constantly switching between accounts. And if you don’t like Twitter’s standard retweets, Tweetbot 1.2 has an option to send old “quote style” retweets.

Tweetbot 1.2 introduces absolute and relative timestamps, Google/Instapaper Mobilizer support for when you need to strip away all the clutter from a webpage and read it in a text-only view, as well as integration with Bitly.Pro for those who keep a custom domain on the popular link shortening service. Besides the new great user & hashtag picker from the compose view (make sure to check out the animations), short link geeks should be happy to know Tweetbot 1.2 has support for custom API endpoints. Other features in this update include:

Tweetbot 1.2 is available now at $1.99 on the App Store.

Tweetbot 1.2 Released With Several Enhancements #archive

Tweetbot 1.3 Released with New Features & Favstar Support

It was only three weeks ago that we covered Tweetbot 1.2, an update to the popular Twitter client from Tapbots that added retweet undo options, old-style retweets, Pinboard support and a new user/hashtag picker in the compose screen. Today, another update to Tweetbot has been released, reaching version 1.3 and adding new design refinements, Twitter features, as well as general fixes aimed at improving the user experience.

Tweetbot 1.3 comes with a new account switcher popover that adds one extra step to go back to the account screen, but should prevent users from accidentally hitting the button when touching the top timeline bar. Tapbots received several reports of users annoyed by the fact that the button was too close to the timeline selector, and rather than removing it or replacing it altogether, they figured out a way to quickly switch accounts or go back to the accounts & settings page. It is an extra step but the trade-off should be worth it. Also improved in Tweetbot 1.3 are direct messages: you can now delete entire threads and single messages, copy them and translate them, but also enjoy a new recipient selector when composing a new DM. Obviously, Tweetbot has already been updated to include Twitter’s recent policy changes and OAuth login to use direct messages (if you haven’t re-authorized the app, do it now).

Another new feature that had me excited to check out Tweetbot 1.3 is Favstar support: for those who don’t know, Favstar is a fantastic ego-booster service that lets you see how many people have retweeted and marked your tweets as favorite. It provides a “most recent” list, as well as an all-time chart to see your most successful 140-character messages ever. I’m addicted to Favstar, and Tweetbot now comes with handy integration to invoke the “award tweet of the day action” (tap and hold the favorite button in the tweet drawer) and open your Favstar profile (double tap your profile tab). I love this.

Other changes in Tweetbot 1.3 include:

It’s great to see Tweetbot getting better and more powerful on each release, and you can read more about the future of the app here. Or, you can check out more screenshots of version 1.3 below and download the app here.

Tweetbot 1.3 Released with New Features & Favstar Support #archive

Tweetbot Gets Initial Push Notification Support

Tweetbot, the Twitter client “with personality” we reviewed a while ago and followed as the developers introduced new features and fixes, has received a major update to version 1.4 that adds a new important functionality, highly requested by the app’s userbase: push notifications. Alongside various bug fixes, selected tabs now remembered when switching accounts, and lists from Twitter users viewable as tweets, Tweetbot 1.4 comes with a new Push Notifications service in the Settings that allows you to be notified about incoming DMs, replies, follows and unfollows, and so forth. The supported Twitter services are many, however the developers have decided to limit the rollout of push notifications for now, mentioning scaling issues and API limitations from Twitter. As Tapbots wants to ensure an optimal experience for everyone, make sure their push notification servers hold up to the new traffic (enabling push notifications for an app – especially a Twitter client – isn’t as easy as most people think) and avoid delays in notification delivery, the initial rollout of Tweetbot push notifications will allow 1,000 users to sign up on a first come, first serve basis. In the following weeks, the limit will be raised to 10,000 users. Please keep in mind that right now – the app has just started propagating in the iTunes Store – notifications might take a while to become active as Tapbots set up the new service.

Tapbots explained the decision on their blog:

Yes, Tweetbot 1.4 has push, but not everyone will have access to it as soon as we launch. We need to make sure our code will properly scale. If we let everyone access the service at once, any small problem on our part may cause the servers to crash. Also, Twitter has only approved us to monitor 10,000 accounts via their site streaming service. Their service is in beta and they need to scale properly as well. We’ll be working with them over the following weeks to increase this limit.

For launch, we are allowing around 1000 twitter accounts to access push notifications.

To enable push notifications, and see if they’re still available to new users, head over to the app’s settings, open the Push Notifications panel and try to activate a switch. Furthermore, Tapbots has also implemented nice in-app notifications that will slide from the top of the screen to show you an incoming DM or mention without specific to the Messages or Replies tab.

Another interesting addition to Tweetbot in version 1.4 is tweet notes. Users can now attach a note to tweets using services like CloudApp, twtmore or pastebin. Push notifications are a welcome addition to Tweetbot, and we’ll keep an eye on the service as Tapbots scale their servers to accomodate more users. You can download Tweetbot at $2.99 on the App Store.

Update: In a blog post, the Tapbots developers say an issue with the 1.4 build is preventing push notifications from working. An update has been already submitted to the App Store to fix the error.

The push service isn’t working in 1.4. Provisioning profile issues. Human error. We are truly sorry. We submitted a new build with a fix that will work. We’ve politely asked Apple to expedite the process so hopefully the wait won’t be too long.

Update 7/15: Tweetbot 1.4.1 has been approved and it’s now available in the App Store. The new build fixes the issues with push notifications reported yesterday, allowing access to the first 1,000 users to enable them. According to Tapbots, roughly 10 minutes after the release they were already halfway through the initial 1,000 users limit. Check out a screenshot of Tweetbot’s in-app notification banner below.

Tweetbot Gets Initial Push Notification Support #archive

Tweetbot 1.5: Muting is Forever

Well, it’s finally here. You asked for it — you wagged your finger about it — you hate the people you follow on Twitter so much that you don’t want to hear another peep out of them, yet deep down you don’t really want to get in one of those uncomfortable, “Why did you unfollow me!?” moments. Or maybe someone’s had a little too much caffeine and you just need a break. With Tweetbot 1.5, you can mute those pesky over-tweeters and keep meme-esque hashtags from cluttering your timeline. Although I hear there’s a self desctruction mechanism built in if you ever mute .

Muting! It’s like the unfollow no-one else but you has to know about. Let’s look at Tapbot_Paul for example: he’s been going overboard with these Google + Motorola tweets. Yeah, I could miss out on some new Tweetbot news, but I’ll take my chances and keep Paul out of my timeline for a day. Ah, peace and quiet! And if I miss the warmth of his tweeting voice, I can undo the mute at anytime.

So how does muting work? It works pretty similarly to reporting someone as spam: you hold down on that person’s avatar (or alternatively visit their profile and hit the gear button), and select the mute option. If you want to see everything you’ve muted, there’s a new button in the tab bar so you can manage everything and everyone. What about hashtags? Just hold on the hashtag, and mute that bad-boy too. Anyone who tweets with that annoying will be filtered from your timeline.

Say hello to muting Zen.

There’s some additional goodies too, just in case muting wasn’t enough. You’ve been able to email direct message conversations for a while now, but what if you only want to email a single message? You were once able to tap on a direct message and only get options to translate and copy the tweet, but now you have the additional option of emailing it off. This is great if you want to share directions, instructions, etc. without sharing the entire conversation about Godzilla vs. Mothra. I imagine this will be useful for a lot of you mobile lackeys.

Talking about lackeys (this is a terrible transition — I am so sorry ), those engineering-crazies over at Twitter are undoing this whole short URL business with a bunch of links. Every link you post on Twitter will now be shortened with Twitter’s magic shortener — if you want the “why” behind it all, read here and here. I’m not crazy about, but other people love them. The nice thing about links at least is that you won’t notice them — Twitter’s apps and Tweetbot automatically expand the URL so you can see what you’re getting into.

Because of this short URL hoopla, there might be an unhappy person or two. Tweetbot, now in full support of URLs, has cut down on the shortening services provided. Everything from to TinyURL has been gutted to support only a few services (including Twitter’s own) for analytics outside of the Twitter ecosytem ( pro) or for CloudApp. In response to the, “OMG @$#! WHY would you do this!?” exclamation-exclamations, the short answer is because is going to shorten links regardless of external short URL you use.

While I sidestep the possible rage-face caused by the last dose of information, I can gladly say that Tweetbot has international hastag support! At least for Japanese, Cryllic, and Korean (I’m not sure about other languages) — Twitter rolled out a feature not long ago that would allow you to see English Tweets written in a more familiar language, and now Tweetbot can do it too.

So that’s Tweetbot 1.5: Muting, all the way, and international hashtag support ready for your grimey fingers in the App Store. Just hit the update button — it’s sitting right there (or will be soon). If you don’t have Tweetbot yet, you’re missing out: slick animations, in-app notifications, and other goodies await. A great companion to your stockpile of Twitter clients, you can grab Tweetbot for $2.99 in the App Store.

P.S.: We’ve unblocked Paul. For now.

Tweetbot 1.5: Muting is Forever #archive

Tweetbot 1.6 Gets Tweet Marker Timeline Sync

Following the muting features and improvements introduced in version 1.5, everyone’s favorite Twitter client from Tapbots, Tweetbot, has been updated to 1.6 to include timeline sync through Manton Reece’s Tweet Marker. For those unaware of such system, Tweet Marker is a fantastic free web service that allows developers to turn on a feature in their Twitter clients to enable timeline sync for users. Best showcased in the Iconfactory’s Twitterrific for Mac and iOS, Tweet Marker lets users effortlessly switch between apps or platforms (such as the iPad and Mac) while retaining the last-read tweet position. In Twitterrific, as we detailed in our coverage, Tweet Marker integration means the app can either “show the marker”, or automatically scroll to it.

Because Tweet Marker is cross-platform, your timeline position from Twitterrific (or any other app that will soon support the service) can be synced to Tweetbot, and vice versa. Tweetbot will automatically scroll to the last synced tweet in your timeline, and display a “marker” next to it. To enable Tweet Marker in Tweetbot a quick trip to the Settings is required, so you can activate “Sync” under Account Settings -> Services. Furthermore, Tweetbot syncs mentions and lists as well through Tweet Marker, so future applications that will integrate this technology will have the opportunity to get further syncing besides the main timeline. As usual, Tweet Marker’s sync is invisible, and fast. You won’t even notice it once it’s active, and it works really well combined with Twitterrific (which I’m a big fan of).

Tweetbot 1.6 also brings various improvements to username search in the compose view, which now uses your following list, and location. The latter has been refined to “stick” your location including POI across multiple tweets if you haven’t moved. It’s a nice touch.

The latest update to Tweetbot is nice, but it becomes a must-have if you’re already hooked to Tweet Marker’s usefulness and simplicity. Get it now on the App Store at $2.99.

Tweetbot 1.6 Gets Tweet Marker Timeline Sync #archive

Tweetbot Gets iOS 5 Twitter Integration with Single Sign-On

iOS 5 is officially launching tomorrow, and the App Store’s review team has been busy these past few days quickly approving app updates that take advantage of the new features available to developers. A first example was OmniFocus for iOS, updated to include the location reminders Apple will make popular with its own native Reminders app. Today another popular third-party app for the iPhone, Tweetbot, has been updated to include bug fixes and a new iOS 5-only feature – Twitter integration.

Whilst we’ll have a detailed overview of Twitter integration in iOS 5 tomorrow, Apple has already announced that developers will be able to use a feature called single sign-on to let their apps fetch Twitter credentials directly from the operating system, which has a new Twitter panel inside the Settings. Thanks to single sign-on, if a Twitter account (or multiple ones) are already configured in iOS 5’s Twitter settings, third-party apps like Tweetbot won’t need to re-authenticate users through a clumsy web view as they’ve been forced to do until today. They can simply get the account-related information from iOS’ Settings app.

So when you’ll install iOS 5 tomorrow, try to add your Twitter account to the iPhone’s settings – this will enable other functionalities that we’ll also cover tomorrow in our overview. Then install the new Tweetbot 1.7, which is already available, and you’ll notice you won’t have to re-enter your Twitter credentials again – Tweetbot will ask you if it’s okay to add the accounts already on your device. The procedure takes seconds, and is managed by an “Import iOS Accounts” option in Tweetbot’s settings. The best part is that because third-party apps are deeply integrated with Twitter in iOS 5, new accounts you’ll add through Tweetbot will also be carried over the system’s Twitter settings.

This kind of Twitter integration with the OS makes for a better first launch experience as users don’t need to go find their Twitter passwords again and re-authorize every account on each Twitter-enabled app. Tweetbot is the first popular third-party client to take advantage of this, and you get it now on the App Store for $2.99.

Tweetbot Gets iOS 5 Twitter Integration with Single Sign-On #archive

Tapbots Release First Ever

Tapbots, creators of awesome iPhone apps such as Calcbot, Weightbot, Pastebot, and Convertbot have decided to promote their fantastic twitter client by having a limited time sale of Tweetbot. Normally $2.99, Tweetbot has a sale price of just $.99. This comes after the official Twitter client for the iPhone was updated yesterday. Version 4.0 of Twitter has received much discussion on the internet in the last 24 hours. Cody did an excellent review yesterday that everyone should read regardless of your thoughts about version 4.0 of the official client.

If you are looking for yet another reason to try Tweetbot, here it is! It’s $0.99 for a limited time.…

— Tweetbot for iPhone (@tweetbot) December9, 2011

Tapbots is hoping to gain even more users after many may be shopping for a new iPhone client. We at MacStories think that Tweetbot is one of the best Twitter clients available for the iPhone and if you haven’t had the chance to pick up the app, you get it now on the App Store for $.99.

Tapbots Release First Ever #archive

Tweetbot 2.0 Review

How do you improve something that’s already great? You keep working on it, trying to look at your product from as many perspectives as possible. If you believe in it, you can make something great an even greater product. Last year, I reviewed Tweetbot 1.0 for iPhone, the Twitter client many of us had been impatiently waiting for:

Tweetbot is the app I’ve been waiting for: an excellent innovator of the Twitter platform. My new favorite Twitter client.

Tweetbot is everything I’ve ever wanted from a Twitter app: it looks great, it’s fast on WiFi and 3G, it innovates in several aspects that have been regarded as “standards” from both users and developers for too long. Could Tweetbot be any better? Maybe. The developers could work on improving the speed of animations and refresh times as much as possible, or implement support for Readability and other URL shortening services. But as far as the Twitter experience goes, Tweetbot has got everything I’m looking for.

I have tried many Twitter apps in the past years, as you may know, and I’ve never seen a third-party developer as committed to making their client great as Tapbots did with Tweetbot for iPhone. Iteration. Tapbots listened to feedback, and managed to pull the old trick of implementing features without turning your original vision into a piece a software it wasn’t meant to be. With version 2.0 of Tweetbot for iPhone, Tapbots has improved almost every aspect of the original experience, adding features, bug fixes, and refinements that still make Tweetbot the finest Twitter client available on the iPhone. Now faster, smoother, and more intuitive.

And it’s not like we didn’t see Tweetbot 2.0 coming. In the past nine months, Tapbots has brought Tweetbot from a fantastic 1.0 release to a state-of-the-art Twitter app capable of suiting all kinds of needs when interacting with Twitter in short burst of tweets, or longer sessions aimed at catching up with hours worth of timeline updates. Let’s look back at Tweetbot’s history:

As you can see, Tapbots didn’t rest on its laurels, deciding to keep on building on the app’s momentum to deliver the Twitter client that could appeal to both power users and less tech-savvy citizens of the Twitterverse. I have already explained why Tweetbot is my Twitter client of choice: if anything, I’d like Tweetbot to take over the entire ecosystem to offer an integrated experience consistent across platforms.

It would be easy to look at Tweetbot 2.0 and say it’s everything Tweetbot 1.0 should have been without considering the various milestones and updates that brought us to this release. Think of Tweetbot 2.0 as a natural evolution of Tweetbot, rather than just a collection of features that didn’t make it in version 1.0. Tweetbot 2.0 is the culmination of nine months of fine-tuning.

The biggest change in Tweetbot 2.0 is the timeline. What used to require two taps now needs only one, and the way retweets are displayed has been improved to increase interaction and overall navigation between original posters and retweeters. In Tweetbot 1.x, opening a @username or http:// link from a tweet in the timeline required a double-tap (or an initial tap to “expand” the tweet and reveal the tweet drawer), then a second one to tap on usernames and links. In Tweetbot 2.0, you can directly single-tap on links and usernames (which are a bit bolder than other words) without opening the drawer; you can always reveal more options by tapping somewhere else on the tweet, but this time single taps on usernames and links will open a user’s profile view or a web view, respectively. Similarly, single-tapping on profile pics in the timeline will take you to the profile view, whereas in Tweetbot 1.x this action would open the tweet drawer. Without sacrificing performances in any way (actually, Tweetbot 2.0 with its new tap actions and timeline UI feels faster than Tweetbot 1.x on my iPhone 4S – both in terms of scrolling, swiping, and image caching), Tweetbot’s improved tap behavior is more than a welcome change – it’s a terrific improvement over the previous version’s navigation system.

Links and usernames aren’t the only things you can now tap on – retweets, displayed natively in Tweetbot, have been redesigned to allow users to tap and tap & hold on the name of the user that retweeted a status update; furthermore, the entire retweet UI has been tweaked to integrate the “Retweeted by …” indicator inside the message cell – take a look the screenshot below for comparison. If the people you follow often retweet stuff, this is another great improvement as it enables you to easily check the user who retweeted something you like.

As you scroll Tweetbot’s new timeline, you’ll notice that another addition has found its way in this update: image thumbnails. How many times have you looked at Instagram links (or any picture link) and wondered if it’d be appropriate to open it, or if you’d be interested in it? Fear no more, as Tweetbot now displays thumbnails inline and allows you to tap on them to jump straight to the image viewer in full-screen. The image viewer itself is the same of Tweetbot 1.0; by tapping & holding the thumbnail, however, you’re given some handy options such as Send to Instapaper (which becomes Pinboard or Read It Later depending on the service you’ve configured in Settings), Tweet URL, Open in Safari, Copy URL, and Email URL. Even with thumbnails, scrolling in Tweetbot’s new timeline is smooth and fast.

But there’s more. Remember the “new tweets bar” from the original Tweetbot, the blue stripe that let you know how many new tweets you had in your timeline and loaded differently depending on gap behavior? It’s gone. Instead, Tweetbot 2.0 features a new beautiful translucent tweets bar that works the same for gap loading (admittedly, still the best implementation on any iOS Twitter client) but that you can also hide on scroll or make persistent as you swipe down to reach the top of your timeline. Why is the new tweets bar useful? It provides a nice-looking and unobtrusive way of knowing how many tweets you still have to read – at least for me, this is very useful when I’m opening Twitter after hours of inactivity.

And then there are a lot of little changes and minor fixes. Overall performance, as I said, has been improved, making Tweetbot faster than ever and smoother in any kind of animation. Perhaps this will convince those who said Tweetbot was “heavy” that it’s worth trying the app again. Even when the new tweets bar isn’t hidden, you can tap on it to dismiss it. You can tap & hold on the gear icon in the tweet drawer to reveal two extra actions: Post Link to Tweet and View in Favstar, with Copy Link to Tweet now assigned to a single tap on the gear icon. Links in users’ profiles are tappable and the visual Tweet Marker indicator is now always visible regardless of whether you’ve activated the service or not (obviously, you’ll have to turn it on to sync to other clients).

I can go on with changes and enhancements. Direct Messages have been completely redesigned to load faster and have conversations displayed from top to bottom as in To reply to a DM in a conversation, Tapbots has brought a Messages-like text entry field to the DM view, which now also happens to refresh every 5 minutes as part of the timed auto-refresh feature that also works for Timeline and Mentions. In Tweetbot 2.0, when a DM fails the app will make it red, allowing you to tap on it to resend or delete. Readability has been added as a mobilizer service, and there is now a toggle in every web view to instantly switch between full site and mobilized view. I love this feature (but I use Instapaper for that). Oh, and one more thing: don’t forget Tweetbot supports a variety of URL schemes, more than you know, and they work very well with Launch Center.

Tweetbot 1.0 was packed with features, proving that Tapbots could make their distinctive style work in the saturated market of Twitter clients. Updates to Tweetbot 1.0 built on the original vision, adding new powerful features and interactions that allowed Tapbots to reach an even larger audience, especially since the addition of native push notifications. Tweetbot 2.0 accomplishes the difficult goal of dramatically enhancing Tweetbot 1.0 while keeping everything familiar and accessible, proving that Tapbots can still make the best Twitter client around.

Tweetbot 2.0 is now available on the App Store at $2.99.

Tweetbot 2.0 Review #archive

More Tweetbot

With the launch of Tweetbot 2.0 for iPhone and Tweetbot for iPad, the team at Tapbots has once again set new standards for Twitter clients on iOS. We have taken separate looks at the two apps, but you can also check out other in-depth reviews at The Next Web, iMore, and Wind on a Leaf. David Chartier makes a good point:

Speaking of lists, Tweetbot is one of the few clients I’ve used that truly integrates Twitter lists and makes them useful.

As for the iPad app’s launch, the app is currently #5 in the Top Paid iPad Apps chart, up from #9 only a few minutes ago. Tapbots has already confirmed this is the fastest growing launch of their apps ever:

Tweetbot for iPad is the at #20 in the Top Paid iPad apps. That’s faster than we’ve ever gone on the iPhone side of things.

The Next Web’s Matthew Panzarino has published a great interview with Tapbots’ Paul Haddad. I particularly liked this bit:

I think the biggest problem is that Google chooses to develop iOS apps using web technologies. This might work well on Android but it just makes for a crappy feel on iOS. If you want people to use and love your apps on iOS they should be tailored for iOS and should feel like an iOS app. You can’t just hack together some cross-platform Javascript and HTML and expect it not to feel like something that was hacked together.

On top of this they are an engineering focused company without a great history of design. This works really well on the Web where you just want to go in, search for some results and get out. But on an iPhone the interaction is much more intimate, people want something that looks and feels just right, the front end is more important than the back end.

Last, make sure to check out Rene Ritchie’s fantastic side-by-side comparison of Tweetbot, Twitter for iPad, and Twitterrific over at iMore. Rene goes in great detail to show all the differences between the three apps, and why one of them might be more suitable to your needs. Tweetbot 2.0 and Tweetbot for iPad are available for download on the App Store.

More Tweetbot #archive

Tweetbot for iPad Review

Since its release two years ago, the iPad has always needed a better Twitter client. Tweetbot for iPad is the better Twitter app I have been waiting for, and it sets a new standard that future Twitter clients will have to be compared with.

From a Twitter power user’s perspective, the iPad came at an interesting point in the history of the platform. Twitter clients for iPhone and Mac had reached a kind of maturity and complexity that enabled users like me to demand a certain grade of efficiency from new Twitter apps for the tablet; Twitter itself was beefing up its first-party app portfolio with acquisitions and a fresh strategy based on making the official clients the go-to apps for the average Twitter user. Some notable Twitter clients came out on the iPad throughout 2010, including the excellent Twitterrific, which we have reviewed several times on MacStories.

In 2010, Twitter also released its very own application for the iPad; developed by Loren Brichter, the man behind Tweetie, Twitter for iPad launched to a (still ongoing) controversy as to whether iPad interfaces should adopt more courageous designs in displaying information and sections to the user. Taking the best features of Twitter for iPhone (fluidity, clean design, pull to refresh) and mixing them up with new interaction schemes such as panels and pinch gestures, Twitter for iPad collected rave reviews and considerable disapprovals because of its interesting use of classic Twitter elements (vertical timeline, separate section for Mentions) alongside a new model for driving users’ taps around the app in the form of sliding panels, modal menus, and popovers. You can read more about it in my original review from 2010.

The problem with Twitter for iPad, I believe, is that it failed to appeal power users in the long term, stalling on the same feature set it had at launch without adding substantial improvement over what could have been a fantastic application. I, for one, used the official Twitter iPad app for months, but then I came at a point where I couldn’t stand seeing decent third-party apps staying on top of new Twitter functionalities and “unofficial” services, and Twitter’s own app left behind with Brichter gone and seemingly no interest from Twitter’s mobile team in keeping it up to date – fixing the bugs and annoyances that were reported on day one. Some improvements and new features eventually found their way to the app, and word is that we are waiting for a major 4.0 redesign of the client which, I believe, will put the app on par with the disastrous iPhone version. Tweetbot for iPad thus arrives in a landscape with no clear leader, but with some very good apps that have caught the attention of both power and average users in the past two years.

I wrote about this before. I wish third-party developers would accept Tweetbot as the de-facto app for power users and move on to innovate on other areas of the service. I’m biased: I love Tweetbot, I use it every day on the iPhone, and I couldn’t wait for an iPad version to be released. Today is kind of a dream come true for a Twitter nerd, but the question is – was it worth the wait? Not just good – is Tweetbot the great app the iPad was waiting for? Let’s dive in.

Long story short: yes, it is. Tweetbot for iPad is an amazingly advanced and full-featured Twitter client that, in spite of its 1.0 version number, already sports a series of features most apps don’t have. It’s got Tapbots’ distinctive design style applied to every aspect of the interface, and whilst some may quickly dismiss it as a non-native, Android-like look, I think it’s beautiful. More importantly, Tweetbot comes to the iPad not to single-handedly reinvent Twitter clients and the entire Twitter ecosystem, but to provide a delightful experience optimized for the bigger screen.

That’s not to say Tweetbot for iPad is a blown-up version of its iPhone counterpart – you’d be mistaken in thinking Tapbots simply took Tweetbot for iPhone and made its graphics bigger to fit the iPad. The two Tweetbots look similar to each other – some of interface elements are used consistently across both devices – but the experience offered by Tweetbot for iPad is uniquely built for a device that’s swiped, touched, and held in a different way than an iPhone.

Those who use Tweetbot for iPhone will be instantly familiar with Tweetbot for iPad. In fact, I don’t think it’s necessary to go through the feature set of the app again as Tapbots managed to incorporate the same functionalities across the two platforms very cleverly: what the app does is the same, how it does it is different. I want to focus on how Tweetbot for iPad takes advantage of the features built by Tapbots to deliver the best Twitter experience on the iPad yet, rather than explain once again how you can turn a list into a timeline, or iOS 5 Twitter integration. From a feature checklist standpoint, Tweetbot for iPad bears great resemblance to Tweetbot 2.0 for iPhone, which we have reviewed earlier today.

The Timeline

Like Twitterrific for iPad, Tweetbot takes a simple approach at displaying your Twitter timeline on the tablet’s bigger screen. Rather than trying to break taps on usernames, mentions, or links into multiple panels that some users might find distracting, Tweetbot presents a clean, full-screen timeline design that can fit more status updates than an iPhone at once, and doesn’t try to revolutionize the concept of vertically scrolling a list of messages and clicking on links. There are tabs for the various sections of Twitter – including some new stuff that Tapbots has prepared for this new Tweetbot release – but no panels for the actual interaction with content, meaning that tweet details, webpages, and conversations will load in full-screen in a single window, not a panel sliding into view. And here’s where Tweetbot for iPad reveals one of its little design touches that manages to greatly enhance usability: because the iPad’s screen is so big, forcing users to tap on a tiny Back button to load a previous level of navigation can be cumbersome.

To solve the problem of a bigger screen with tiny navigation buttons, Tweetbot for iPad implements “smart gestures” in the same way that the iPhone version allows you to quickly load replies and conversations with a quick swipe, only adding new actions for going back one level or to the “root” of a section, such as your Mentions. Typically, when I’m sitting down with my iPad and fire up Twitter I like to explore around, engage in conversations and look up other people’s tweets. It’s not like I’m always in my timeline: I might open a link or two, load a conversation and follow a user’s profile from there – “nested views”, as they should be properly called, are frequent and they must be considered carefully from a usability standpoint as the app should always provide the user with an easily understable way to go back. Tweetbot for iPad offers three: the Back button, tabs, and swipe gestures. Let’s say you’ve opened a conversation from your timeline, a user’s profile from that conversation (double-tap on avatar), and another conversation from the profile (swipe on a reply). Now, it’s likely that you’ll want to go back to Point A (your main timeline), or Point B (the conversation). Tweetbot offers a two-finger swipe gesture to go back one level, and three-finger swipe to go back to root. These gestures work amazingly well in any context, and they performed fluidly on my iPad 2 in any possible scenario.

Of course, you can also use the aforementioned tabs and Back button to navigate if you don’t feel comfortable with gestures: whilst simply tapping Back will “go back” one level, a tap & hold on the same button will go back to the root of a view; similarly, tapping a tab in the sidebar – whether it’s in portrait or landscape mode – will always go back to the root. Tweetbot for iPad introduces a new option in Navigation settings that lets you hide tabs you don’t want, so make sure to keep the ones you think you’re going to use as a way to navigate back in the timeline. As for URLs: they open in full-screen mode à la Twitterrific and feature the same options seen in Tweetbot 2.0 for iPhone, new mobilizer command included (plus, they are colored and single-tappable).

From a web view, you can take a look at Tapbots’ custom popover menu design by tapping on the Sharing button in the upper right corner.

Timelines: Tweetbot for iPad (right) offers font size controls and bigger profile pictures than Twitter for iPad (left).


Because the iPad’s screen is so big compared to an iPhone, some areas of Tweetbot might appear to be “wasting space” when there’s nothing left to load – for instance, a conversation of only two tweets won’t even fill half of the screen in portrait mode. In testing the Tweetbot beta, I initially didn’t appreciate the choice of loading short conversations in their own dedicated view, because the rest of the window looked empty; with time though, I have developed a habit of using this empty space as a gesture area for navigation – it almost seems meant to be used that way. Otherwise, I don’t have a problem with Tweetbot using the same timeline design of the iPhone app as long as more tweets are displayed – reinventing the wheel (in this case, the timeline design) is not necessary when you just want to focus on reading status updates.

Touch interaction is a distinctive trait of Tweetbot, and I’m glad Paul and Mark have kept gestures consistent across the iPhone and iPad. I’ve already mentioned swipes; here’s what you can do with taps:

Support for gestures, tap actions, and a variety of different web services is essentially the reason why Tweetbot is so highly regarded as an app for power users; Tweetbot for iPad doesn’t disappoint with a large selection of preferences and services to adjust and activate in the Settings. As on the iPhone, these options include Pinboard and Instapaper integration, support for upload services such as CloudApp and Moby, and mobilizer tools like Google and Readability. I particularly like how Tapbots figured out a way to implement a lot of settings and gestures without overwhelming the user experience. Going through all my settings for a newly added account takes only a couple of minutes (you’ll find some new options in Tweetbot 2.0 and Tweetbot for iPad, like a switch to make the new tweets bar persistent or invisible on scroll), and the Welcome screen should get you up to speed on the most important gestures in no time.

I should also note that a kind of gesture Twitter for iPad implemented directly on the timeline, pinch to reveal tweet, is nowhere to be seen in Tweetbot, with Tapbots opting for more intuitive taps and swipes throughout the whole app. I think it’s a good choice.

Everything Else

Tweetbot is the best Twitter client I’ve ever used on the iPad for a number of reasons. I’ve already mentioned gestures, user interface design, and integration with many different services I use on a daily basis. Next on the list would certainly be fluidity and timeline gaps – two aspects I expect to find fully functional and stable in the Twitter client I want to use every day. In spite of its custom UI, I didn’t find Tweetbot for iPad to be “heavy”. Whilst some people are firmly convinced Tweetbot is a “heavy app”, I think such purported “heaviness” can be subjective in terms of visual appearance, because as far as the engine that powers scrolling and animations goes, Tweetbot is extremely snappy and fluid both on my iPhone 4S and iPad 2. The beefy A5 processor certainly helps in getting views to load quickly and a timeline with hundreds of tweets to scroll fast, and I’ll admit I haven’t tested Tweetbot on the original iPad, but I’m also fairly certain a lot of optimization was done on Tapbots’ side to make sure Tweetbot’s custom graphics wouldn’t interfere in any way with the UX.

My coworkers often make fun of me because I’m always on Twitter. As I have written elsewhere, Twitter has become more than a simple social network for me – it’s a people network that helps me connect with amazing individuals for work, discussion, or pure leisure. You see, I need a Twitter client that’s capable of loading several hours of tweets with hundreds of status updates when I wake up. I need it to be fast at fetching these updates and stable at scrolling through them as I catch up with the news; I need it to be able to go back even 20 hours if I need to read older articles, and I want it to feature state-of-the-art timeline gap detection that picks up right where I left off, no matter how far in the timeline it is. Fortunately, Tweetbot nears perfection with its implementation of timeline gap that puts the competition to shame when it comes to loading past tweets while maintaining your previous position in the timeline intact. Twitter and Twitterrific never quite got gap detection rigt, and I’m glad this functionality of Tweetbot for iPhone has been ported over to the iPad. With the new tweets bar (which is dark gray on iPad), you also have a nice way to see how manu unread tweets you have while scrolling.

As I said above, Tweetbot for iPad shares the same UI principles and feature set of Tweetbot for iPhone, but there are many things that are unique to it, especially in the interface design department, given the different screen real estate Tapbots had to work around. Several views aren’t simply bigger, as the timeline could suggest, they are different.

Take the user profile view for example: rather than placing a single user’s stream in a tab separate from the profile page, Tapbots is integrating tweets directly below the profile with a tabbed interface. In the upper section of the view, you can check out various information such as following and followers count, bio, web link, and other data. There’s also a Follow button in the upper right corner, and the usual action icon will let you message people, mute them, or add them to a list. The profile view opens with the Tweets tab directly selected, so you’ll see a portion of a user’s tweets below the initial user info box. But as you scroll these tweets, the tabs will snap back to the top of the timeline so they will “stick” as you scroll, allowing you to easily switch between Tweets, Mentions, Favorites, and Lists. The effect is really neat, helps saving taps and precious interface space, and you should see it in action. As with the iPhone app, Tweetbot for iPad has solid list support with creation, management and deleting features built-in. You can create new lists on-device, manage users inside those lists, and subscribe to other people’s lists without leaving the app. And of course, you can make a list Tweetbot’s main timeline, which is another characteristic feature of the app iPhone users will immediately recognize.

Tweet Marker support, which was initially added to Tweetbot for iPhone, plays a big role in this iPad version if you own multiple iOS devices running Tweetbot, or a Mac with a Twitter client that has Tweet Marker sync. Now, the timeline position that the service saved from your iPhone’s Tweetbot will be pushed to the iPad automatically (if you activate Tweet Marker) every time you launch the app. I have tested Tweet Marker pretty heavily (I use it every day), and Tapbots’ implementation is flawless: getting the last synced position takes less than a second, and the app is capable of automatically scrolling to the last tweet you saw or mention you were about to reply to. We have covered Tweet Marker support in Tweetbot before, and those who were waiting for cross iPad-iPhone compatibility in Tweetbot to start using Manton Reece’s service finally have a reason to.

I should probably mention that one of the things Twitter for iPad did exceptionally well in my opinion was letting you load links in a separate panel and scroll the timeline at the same time. That was one of the most controversial features of Loren Brichter’s app (animations weren’t 100% smooth and the web panel could be lost by simply switching tabs), and I liked it a lot. Tweetbot doesn’t take the crazy-innovative approach of Twitter for iPad, but I haven’t found the absence of panel-based link opening to be a problem in daily usage. I did notice, though, that I’ve been marking a lot of tweets as Favorites lately, but I’m not sure that’s related to Tweetbot.

Typically, I’d mention that a new app I am reviewing is pretty great, but has some flaws in its first version – which is completely normal. With Tweetbot, however, I tried to come up with things I didn’t like in my three week period of testing – which involved several days of using only an iPad and hours spent on Twitter – but couldn’t. Honestly, there’s nothing “I don’t like” about Tweetbot, just a few things I wish 1.0 already had, and that perhaps are coming in the future. Personally, I would like to finally be able to use both Pinboard and Instapaper as bookmarking services at once, and have some kind of Evernote integration for saving tweets and links. I also think it’d be neat to have real-time streaming for tweets, iCloud sync for settings, and an option to add tweets to Storify – even though I understand the latter may be asking too much. Like I said: I’m very happy with the workflow Tweetbot enables and I never found myself wishing a feature had been implemented differently.

New Twitter Clients

In my New Twitter Clients piece, I wrote:

So here’s another possible scenario. Let’s continue to diversify the offer of available Twitter clients, and settle with one app for power users. Justin doesn’t like Tweetbot, but perhaps one year from now Tweetbot will be available on more platforms with changes and tweaks that everyone will like and use on a daily basis, even Justin. Around that Twitter client for power users, I imagine a flourishing ecosystem of innovative Twitter apps that don’t simply focus on building an alternative to Tweetbot — a daunting task at this point — but provide a unique experience that can live alongside the main, full-featured client.

I’ve been using Tweetbot on my iPad for three weeks now, and it’s good. More than good, it’s the great Twitter client power users and those who simply didn’t like the alternatives out there were waiting for. Tweetbot doesn’t reinvent the genre and will look fairly familiar to those coming from the iPhone app; Tapbots brought the iPhone version’s highly engaging experience and powerful features to the iPad, fine-tuning the interface and interaction for the bigger screen in the process. You have to despise Tapbots’ style to not like this app, as anyone who’s been around long enough in the industry can tell that, as a Twitter client, Tweetbot is an amazing achievement for its developers, and the third-party community as whole, which has now a new standard to be compared to.

Tweetbot for iPad is available today at $2.99 on the App Store.

Tweetbot for iPad Review #archive

Interview: Tapbots’ Paul Haddad Talks Tweetbot for iPad Launch

Following yesterday’s release of Tweetbot 2.0 for iPhone and Tweetbot for iPad (our reviews here and here, more coverage here ), I was able to chat with Tapbots’ co-founder Paul Haddad (@tapbot_paul) about the launch of their first “real” iPad app, the reception of Tweetbot 2.0 for iPhone, and the iPad App Store.

Check out the interview below.

MCSTR: Hi Paul, congratulations again on the launch of Tweetbot 2.0 and Tweetbot for iPad. So how did yesterday go in terms of sales? Was the launch as successful as you hoped?

PH: Yeah I was surprised we hit #1 in the iPad App Store so fast, I was hoping we’d hit it at some point but wasn’t expecting it to happen in 8 hours. It was pretty fast – the Top Paid is a moving average over what I think is 3 days, so to do it in less than one is pretty amazing.

MCSTR: I mean, it’s not easy for a social networking app priced at $2.99 to get the first spot over games and utilities (most of them sold at $0.99), right?

PH: At least in the US I think the iPad market is certainly different than iPhone, not as heavily skewed towards the $.99 games/apps.

MCSTR: Do you think with the current number of downloads you can stay on #1 for many days?

PH: I hope so, but don’t really have any idea. The iPad App Store is virgin territory for us so we don’t have many set expectations both in the short and long term.

I will say that yesterday was our second biggest day ever in terms of revenue.

MCSTR: Nice. I guess your biggest day ever was Tweetbot for iPhone launch? Or perhaps that Tweetbot sale you had last year?

PH: Tweetbot for iPhone launch was the biggest day, but that was also a full day Vs more or less a half day, so who knows what will happen today.

MCSTR: Yeah, it seems you guys are still #1 in the US Store, so that’s promising. Besides the rave reviews, how has general reception been?

PH: Surprisingly good. It’s really hard to gauge these things pre-launch and we’re too close to the app to really get a feel for what other people will think of it. There certainly was a concern that people would dislike the idea of it being a separate app. But there have been very few complaints about that.

Since it was our first large iPad app, I was also worried that people would feel our style wouldn’t translate well on the device. But again – overwhelmingly positive responses.

MCSTR: How about Tweetbot 2.0? Obviously the iPad launch was bigger because it was a completely new app, but Tweetbot 2.0 is pretty sweet too.

PH: It was really cool to be able to do both at the same time. I think Tweetbot 2.0 answers a lot of the criticisms folks have had with the app, while still making it feel like Tweetbot. I’m really happy that we were able to make it look and perform better at the same time.

MCSTR: The obvious question is – now that we have two Tweetbots, will we get to see some sort of iCloud integration between them?

PH: We don’t generally talk about future features because we don’t really know how long things will take, or even if things are possible. I will say it’s one of the things we are looking at.

MCSTR: Sounds good. Last question: Is there anything you would have done differently in Tweetbot 1.0 for iPad?

PH: I’m really happy with the way Tweetbot 1.0 came out. We actually have a very strong set of features planned out for the near future that will make it even cooler. But 1.0 is exactly what we wanted it to be, the best Twitter app for iPad and a solid base to grow from.

Interview: Tapbots’ Paul Haddad Talks Tweetbot for iPad Launch #archive

Tweetbot Gets Streaming

Tweetbot, Tapbots’ excellent Twitter client for iOS that we recently reviewed for the launch of its long-awaited iPad version and 2.0 update on the iPhone, received today support for one of the most requested functionalities by its users: streaming.

Available today in version 2.1 of the iPad app, live streaming allows users to stay on top of the latest tweets thanks to Twitter’s real-time push technology that can be seen in the new Tweetbot timeline, which, when on WiFi, will constantly check for new tweets and automatically load them above your timeline position. An option is available to disable streaming in the app’s Settings, as well as a switch to enable “Pin to Top”. In my tests, Tweetbot’s new streaming feature has been extremely reliable – that is, unless Twitter itself was experiencing issues – and has enabled me to forego completely the need of manually refreshing or waiting for Tweetbot to update my timeline every few minutes. Like on Twitter for Mac, I think streaming is an invaluable tool if you’re planning on getting the most out of Twitter’s real time nature, and Tweetbot’s implementation doesn’t disappoint.

With streaming come a few other changes to make the experience of fetching and syncing tweets more pleasant. The new tweets sound, for instance, is now limited to mentions, direct messages, and tweets fetched with pull-to-refresh. The Tweet Marker service, which allows you to keep your Tweetbots (and other supporting clients ) in sync, has been vastly improved. Generally, this means the process of getting your latest-seen tweet and timeline position should sync faster to the cloud and back to the app – in testing the latest Tweetbot, I can confirm Tweet Marker sync seems a little faster and more “accurate” than before.

Tweetbot is my favorite Twitter client on any platform, and streaming makes it a lot better from a user experience standpoint. You can get iPad update from the App Store now (the app’s graphics are also ready for the new iPad coming out later this week); version 2.1 of the iPhone app, sporting the same new features and Camera+ 3.0 integration, is still waiting for approval in the App Store’s queue.

Tweetbot Gets Streaming #archive

Tweetbot Gets iCloud Sync for Timelines, DMs, and Mute Filters

Two months ago, I took a look at the state of iCloud-enabled apps for Mac and iOS, sharing somewhat unsurprising results that showed few applications successfully were using iCloud sync across devices (not to mention platforms ), and that developers were frustrated for the lack of extensive documentation by Apple. In these past 60 days, very little has changed on Apple’s side – if anything, we’ve only seen more third-party developers trying to figure out ways to properly use iCloud and make it work in their apps. Tapbots, makers of Tweetbot (our reviews for iPhone and iPad versions of the app), are releasing today an update to their Twitter client, which brings iCloud sync for various Twitter functionalities to the iPhone and iPad.

I have been able to test iCloud sync in Tweetbot for a few weeks now, and whilst I was initially skeptical about the service, I am pleased to report that Tapbots has come up with a solid, clever system that might just convince you switch from Tweet Marker – the only third-party solution to sync Twitter timelines that’s been widely adopted to date – if you’re planning to use Tweetbot as your main client.

iCloud sync, unlike Tweet Marker, works exclusively inside Tweetbot across its iPhone and iPad versions. You won’t be able to start iCloud sync on Tweetbot for iPhone and, say, find your timeline synced on Twitterrific. If you’re still looking for a real cross-platform syncing solution for Twitter, Tweet Marker remains your best option. If you, however, are you using the two Tweetbots as your default Twitter apps anyway and happen to be intrigued by iCloud sync, you might want to consider giving this new option in version 2.2 a try. Once enabled in the Sync settings, iCloud integration will sync mute filters, timeline positions, and DM read status across all instances of Tweetbot. This means that, if you’re using iCloud on your iOS devices running Tweetbot, the app will keep your position in the Twitter timeline synced similarly to how Tweet Marker works, only it will also sync your direct messages’ read status (if you read a DM on your iPhone, it will also be automatically marked as read on the iPad) and mute filters set in the app’s Preferences. In my tests, both Tweet Marker and iCloud have worked reliably when syncing timelines, but I switched to iCloud full-time for the added convenience of syncing DMs and filters across Tweetbot, and because of the lack of Tweet Marker-enabled apps (that I like) on my desktop. In fact, at least for the time being, I’m still using Twitter’s official client on my Mac. With iCloud sync, I can keep more data synced across Tweetbot for iPhone and Tweetbot for iPad, which I use on a daily basis. Please note that, while iCloud is supposed to be “invisible” to the user, working all the time in the background, there may be a short delay of 10-15 seconds when syncing the timeline position across clients, although I have noticed this sporadically. I suggest you use Tweetbot as you normally would, switching from one client to another when you really need to, avoiding keeping both apps open at the same time just to see if iCloud is working.

Version 2.2 of Tweetbot also brings other improvements and bug fixes throughout the app; most notably, images can now be closed with a pinch gesture on the iPad (similarly to how you can close images in Photos) and both iTunes and YouTube links have gained thumbnail previews in the timeline.

For the past months, I have been increasingly using my iPad as my primary computer, and thus Tweetbot has become the Twitter client I spend the most time using on my iOS devices. This newest update increases the overall stability and performances of the app, but more importantly it brings a native, consistent way to sync data across platforms that, at this point, can only get better in the future – and it’s already working admirably now.

You can get Tweetbot 2.2 on the App Store today.

Tweetbot Gets iCloud Sync for Timelines, DMs, and Mute Filters #archive

Tweetbot 2.3 Adds New Gestures, Integrations, UI Refinements

Less than a month after a major 2.2 update that added iCloud sync for timelines, DMs, and mute filters, Tweetbot is back today with a significant update on the iPhone and iPad that redefines some of the gestures and interactions introduced with the original version 1.0 (2.0 on the iPhone). Overhauling the standalone tweet detail and conversation views that, based on intuitive gestures, were two of Tweetbot’s hallmark features, Tweetbot 2.3 unifies single tweets, actions, replies, and conversations within redesigned screens that, with a bit of practice, I believe will ultimately help saving time and precious taps around the app.

New Tweet Detail View

Quick access: swipe right to left on a tweet.

The single tweet view – the screen that displays a user’s single tweet alongside the action bar, geo-location and client info, and other data – has been redesigned to accomodate inline conversations and replies. Providing the usual context for author, buttons to reply, retweet, fave, share, and view, the new tweet detail view elegantly puts a banner-like notification up top to indicate how many replies a specific tweet received; if the tweet belongs to a conversation, Tweetbot 2.3 displays a “In reply to…” section at the bottom (down to the original tweet that started the conversation), with additional replies above.

The developers have managed to cram a lot of information and elements into a single screen without sacrificing usability and clarity – unlike other apps, it’s always clear which tweets belong to a conversation and which ones generated other replies.

To go back to the timeline from the tweet detail view, you can now quickly swipe with one finger from left to right. Here’s a recap of all the gestures and tap actions supported in Tweetbot from our review of the iPad version (interactions are mostly the same on iPhone).

New Conversation View & Sharing

Quick access: swipe left to right on a tweet.

Similarly, the new conversation view of Tweetbot 2.3 displays both conversations and replies inline. Accessible with the usual swipe-to-reveal action, the conversation view loads replies in a neatly separated section just like the aforementioned tweet detail view.

New in 2.3, conversations can now be uploaded directly to social curation platform Storify for further sharing with the world; the uploading process is automatic and doesn’t require a dedicated login, meaning that Tweetbot will simply publish a conversation, such as this one, to Storify using your Twitter account. Whilst I hope for a future version of Tweetbot to let me save “all replies” to a specific tweet from the detail view (right now, it’s only enabled in the Conversation window), I think Tapbots did the right thing in simplifying the curation aspect of Storify and make it available as a direct option without additional configuration required.

Also new in the 2.3 conversation view (but enabled for single tweets and DMs as well): the app now has an improved email format when sending tweets to someone else via email.

More Features in 2.3

Several additional refinements and improvements went into the development of Tweetbot 2.3. First off, Droplr support: for URLs, images, and videos, users have now the option to choose Droplr as a sharing service in the Settings. When shared, videos now have a dedicated “play” thumbnail to differentiate them from images, and thumbnail support has been added for Vimeo links, too.

The app now correctly recognizes $stock links, allowing you to easily fire up a search for $AAPL or your favorite stock, and save it for future usage.

The tweet drawer has been reorganized, with the last two buttons gaining more order in the process.

Last, some minor touches in version 2.3 will contribute to improving usability and to allowing users customize their timelines to their needs and tastes: retweets from specific users can now be disabled at any time, and it’s possible to quickly open the last saved draft by holding down the tweet compose button. The timeline sync bookmark icon is now an optional setting, and Tweetbot is capable of uploading high-res images when on WiFi.

With important improvements and UI refinements aimed at increasing the app’s ease of use and display of information, Tweetbot 2.3 is another solid and rich update that adds powerful functionality without compromising the app’s interaction and workflow. You can get Tweetbot 2.3 on the App Store today.

Tweetbot 2.3 Adds New Gestures, Integrations, UI Refinements #archive

Tweetbot 2.4 Brings New Search View, Keyword Mute Filters, Refinements

Following updates focused on iCloud sync and gestures, Tweetbot 2.4, released today on the App Store ( iPhone, iPad ), brings an updated search view with additional location features, relocated Trends and People categories, and various improvements that make the client’s search functionality more powerful and intuitive.

The new Search tab unifies Trends, People, and Top Tweets under a Browse section, with Saved Searches and the classic search box still available at the top of the screen. The dedicated Top Tweets option is quite enjoyable – I have indeed found myself browsing such flow of status updates on a couple of times for the occasional laugh or remarkably snarky tweet. Top tweets now also show up in regular search results, and they are marked by a silver star indicator.

Trends, on the other hand, can be changed to another location directly from the search view of Tweetbot 2.4 – I don’t use Trends, but I assume the option will come in handy for those who, for some reason, like to check the recurring trend in Italy.

The big addition in Tweetbot’s new search interface is support for nearby tweets. Here, you can view nearby tweets with the ability to change your location (just tap on the embedded Google Map), and you can perform location-based keyword searches for tweets containing specific words that also happen to be located near you. Unfortunately, Viterbo resembles a ghost town when it comes to looking for fellow local MacStories readers. I asked Tapbots, and they confirmed my town’s insistence of loading @viticci as the only local MacStories tweeter isn’t an app’s bug.

There are two more little touches I like in Tweetbot 2.4: you can double-tap the search tab to open search with the keyboard, and the search box has been optimized to let you easily jump to tweets, users, or a specific @user without additional taps.

Keyword Mute Filters

Tweetbot has been offering advanced mute filtering options for quite some time now. Version 2.4 now allows you to block specific keywords – not just users or clients – and there’s even support for regular expression if you really want to make sure you’re not reading about the latest spoilers in Game Of Thrones. Mentions can be muted as well.


There are plenty of other refinements in Tweetbot 2.4. Offline support, for instance, will ensure tweets marked as favorite or sent to a Read Later service when no Internet connection is available will get “queued”, then sent/favorited as soon as you come back online. Sure enough, while browsing my timeline in Airplane mode, I fave’d a couple of tweets, sent some links to Pocket, and Tweetbot queued them. When I turned WiFi back on, the app refreshed, the tweets were marked as favorites in my account, and they appeared in my Pocket.

On the iPad, web and map views can now be dismissed with a two-finger swipe down gesture, which I found incredibly convenient and faster than reaching out for the Close button in the upper left corner. Also on the iPad, list views show one line of a list or profile description, and when viewing an image in full-screen, you can hold down for options.

Additionally, aside from the usual bug fixes, you can now swipe to the right on profile views to go back; items sent to Pinboard are marked as unread; and last, the compose screen comes with basic smart quote support (for quotes, em dash, and ellipsis).

With powerful new features and UI refinements added to an existing set of great functionalities, Tweetbot 2.4 retains familiarity while striving to remain the best third-party Twitter app for iOS. Get it from the App Store today.

Tweetbot 2.4 Brings New Search View, Keyword Mute Filters, Refinements #archive

Tweetbot for Mac: Public Alpha Review

Today, Tapbots released the first public alpha of Tweetbot for Mac. This is not a final review of the app: being in the development stage – albeit ready to be tested by the public – Tweetbot for Mac is still lacking several features that will be available in the final Mac App Store version (such as iCloud sync and Notification Center support), and for this reason I’ll save my full analysis of the app for the future.

However, I have been testing Tweetbot for the past week, and I can say that it already is the best Twitter client available on the Mac.

Gimme Shelter

Ever since Loren Brichter (creator of the original Tweetie, who sold his app to Twitter and went on to work there) left the company, Twitter for Mac – what I had deemed as the best Twitter client for OS X – fell into an unexplainable state of abandon and lack of updates. You would think it’s in Twitter’s best interest to keep a native client up to date with the latest features of the service; and yet, after a solid first version – which came after years of speculation on Tweetie 2 – Twitter started ignoring the app, failing to bring several of Twitter’s new features (such as inline media and updated search) to the desktop. It only got worse recently: after many updates to Lion, Twitter for Mac has started showing new bugs and glitches that haven’t been fixed by Twitter, alongside the ones that have always been there and were never corrected. And then with the release of the Retina MacBook Pro, Twitter’s lack of support for high-res text and graphics became the proverbial final nail in the coffin of what used to be a great app.

The saddest part, however, is that in spite of its current state and overall “what could have been” feeling attached to it, Twitter for Mac still is, for many, the best shot at a decent native Twitter experience on the Mac. On OS X, there aren’t as many Twitter third-party apps as on iOS, but still software like Twitterrific, Hibari and Osfoora have provided good options to users looking outside the classic Tweetie environment. The problem is, there is a whole segment of Twitter for Mac users that, like me, have been stuck with Tweetie’s paradigms and features for more or less three years now, as other desktop apps – while promising – have always lacked that feature or two that would make them a must-have. And it’s likely that those users have only been able to use another equally feature-rich Twitter client on another platform: Tweetbot.

Thus, Tweetbot for Mac. I won’t go into any more detail about Tapbots’ success with Tweetbot on the iPhone and iPad: I have reviewed both apps extensively here at MacStories, and their success is very much history at this point. Tweetbot, for me, is the best Twitter client ever produced on iOS; its design, feature set, and care for the details contribute to providing a fantastic Twitter experience for users looking for more than just scrolling the timeline or casually checking out a link or two. Tweetbot is made for people who see the richness in the information that travels across Twitter, and Tweetbot for Mac wants to offer the same powerful iOS experience on the Mac, with no compromises. As Cody wrote in his review of Twitter 4.3, Tweetbot users want features – and Tweetbot for Mac aims at delivering on this premise, for all those users who have been impatiently waiting for it.

Like I said, it would be unfair to judge Tweetbot for Mac for what it is now as the app is still lacking several functionalities both because of Apple’s own limitations (only Mac App Store apps can use iCloud and Notification Center; the latter is also exclusive to the upcoming Mountain Lion) and due to the ongoing development of the client. For instance, there is limited support for keyboard shortcuts, there are some rough edges around the interface, and one of my favorite features of Twitter for Mac – being able to navigate and switch sections with gestures – isn’t yet available. Indeed, Tapbots say that features like better management of multiple windows will be coming in the future, and they confirmed in a blog post that they are planning “ on making everything as beautiful and pixel perfect” as they can. Don’t be surprised if, in this version, some pixels will look misaligned or out of place. Eventually, it will all be fixed.

Notably, Tapbots wants you to keep in mind that this is a public alpha – a free trial of a piece of software that will be sold for a price on the App Store. While feedback and crash reports are welcome now, when the app hits 1.0, you’ll have to decide whether or not it’s worth your cash. According to Tapbots, a final price hasn’t been set yet.

Today’s public alpha of Tweetbot is definitely what it sounds like: an unfinished product that needs feedback and more testing before being ready for primetime. And yet the essence of what Tweetbot for Mac will be like is already here, and I can tell it’ll make for a fantastic app.

Back to the Mac

Tweetbot for Mac acts like Tweetbot for iPad for the most part. It looks like Tweetbot for iPad with a sidebar on the left for Timeline, Mentions, Messages, Favorites, Search, Profile, Lists, Retweets, and Filters; the timeline design is the same, sections inside the app look the same, user profiles and conversations look just like their iOS counterparts.

Tweetbot is a consistent experience across platforms.

Some features of Tweetbot for iOS have been ported to the Mac with no modifications. Double-clicking on the title bar will scroll to the top of any timeline, and clicking on one of the sections on the left when inside a conversation or multiple levels into navigation will go back to the “root” of the section, just like iOS. Unlike Twitter for Mac, navigation isn’t implemented with breadcrumbs – it uses an iOS-like back button. Those familiar with Favstar and the double-tap action on Tweetbot’s Profile tab will appreciate the same option available as double-click on Tweetbot for Mac.

The app makes use of an iOS-inspired popover to load lists that you can use as your main timeline: just click on the lists button in the title bar and choose between your lists, private lists, or followed ones. If you want to keep tabs on multiple timelines, you can open a separate window by hitting CMD-Shift-N; I found this option particularly handy to keep my personal account in one window, and a special list (or the @macstoriesnet account) in another one. Tapbots said that, in future versions of the app, window management will be “much more elegant”.

A popover is also used for the compose widget, which resembles Twitter’s one but adds the typical options you’re used to seeing in Tweetbot: switching accounts and adding location and images to tweets. The popover can be detached, and you can keep multiple ones on screen simultaneously (notice how the little arrow disappears as you detach the popover).

You can add images through the action button in the compose widget, or via drag & drop. Once attached, an image will be displayed as a thumbnail in the compose area; images are also displayed inline in the timeline, and clicking on one will first display a new loading indicator, then a floating preview that you can resize and move around on screen.

Other features that underline the consistency of functionality and design choices chosen by Tapbots are shown in the Settings, which include more already-seen stuff like Tweet Marker sync, new tweets bar, font size options, and various online accounts to configure.

When you reach the top of the timeline, like on iOS, Tweetbot will show that it’s streaming, with no need to manually refresh.

If you’re familiar with Tweetbot on iOS, you’ll instantly know how to use Tweetbot for Mac.

That’s not to say, though, that Tapbots is simply taking a successful iOS app and putting a native Mac wrapper around it. Tweetbot for Mac wants to be a native Mac application, and for this reason Tapbots had to rethink some of the interactions that couldn’t be suitable for a point-and-click system such as the Mac.

Because on the Mac it is possible to implement the concept of “hover” through the cursor, the tweet drawer’s options (reply, retweet, fave, share, more) are shown when hovering over a tweet, and they are presented inside contextual menus: this helps reducing the number of clicks needed to navigate around tweets, and it stays true to the nature of OS X while adapting Tweetbot’s existing feature to different patterns and possible scenarios.

I hope the final version of Tweetbot will allow us to assign keyboard shortcuts to sharing actions, much like Reeder for Mac does for RSS articles (tweets can already be scrolled using the keyboard).

Similarly, direct messages are presented like on iOS, but as you click on a conversation the cursor automatically focuses on the text field, so you can start typing, then send a message with CMD-Return (this also works with normal tweets). There are other instances of iOS features being slightly modified to work on OS X already, such as dictionary definitions with three-finger taps that work on any word in a tweet directly from the timeline, or keyboard shortcuts for switching sections. I’m sure there will be more cases of features coming from Tweetbot for iOS being slightly tweaked to work better on the Mac come the final version of the app.

What’s really interesting for now, I believe, is the reason behind Tapbots’ decision to do a public alpha. Typically extremely secretive about their releases, Tweetbot for Mac hasn’t been Tapbot’s best concealed effort to date, but there’s a long way between teasing app screenshots and icon and doing a public alpha testing period. According to Tapbots’ blog post, they released the public alpha to get the motivation to finish faster, and receive valuable feedback, as developing for the Mac is no easy task. I have no inside knowledge about Tapbots’ decision, but I suspect it’s somewhat related to Twitter’s controversial stance on its API and letting developers build applications that compete with the native Twitter experience, offering apps that mimic functionality found in Twitter’s own apps.

I don’t think Twitter will ever completely kill off existing products like Tweetbot or Twitterrific, but they may start looking into disapproving future new apps that don’t comply with Twitter’s policies. If this theory is correct, Twitter may keep the existing ecosystem intact by “grandfathering” apps, but there could be problems for developers of new apps. And again, if this will be the case, Tapbots may be thinking that, in order to fall into the category of apps that “Twitter can’t kill”, it was necessary to speed up development, build up a userbase in the meantime, and combine the benefits of public alpha testing (lots of feedback) with becoming an established player in the current Twitter API ecosystem.

As things stand right now, even if Tweetbot isn’t available on the Mac App Store, I think it’s here to stay no matter what Twitter decides to do in the future.

Wrap-Up (For Now)

Tweetbot for Mac’s first alpha feels good. Very good. It still doesn’t offer some of the functionalities that former Tweetie/Twitter users may have become accustomed to, and, as I mentioned above, I’ll be watching the development of the app closely, saving my complete review for the Mac App Store version. At the same time, however, this public alpha already sports a number of features and little touches that have enabled me to forego the need of using Twitter for Mac. In an unordered list of importance:

Right now, Tweetbot for Mac is, in my opinion, already superior to any other client for OS X – and it still can be improved. More importantly, Tweetbot makes better use of Twitter features than Twitter’s own Mac app, and that says a lot about the importance of third-party clients in this ecosystem.

If Tweetbot for Mac is an example of “iOS-ification” of Mac software, then I’m glad developers are bringing iOS-inspired features and design ideas back to the Mac. The strategy is working.

Download Tweetbot for Mac here.

Tweetbot for Mac: Public Alpha Review #archive

Tweetbot Mute Filters For U.S. Elections

I’ve recently become annoyed with the amount of tweets in my timeline about the upcoming United States elections, so I set out to find a way to mute those tweets without necessarily unfollowing people. In case you missed it, Tweetbot 2.4 introduced support for keyword mute filtering, allowing you to mute (read: make invisible in the timeline) any keyword, with support for regular expression. I manually added hashtags and keywords to the list of filters on my iPhone, iPad, and Mac, but it turns out someone already made a set of filters you can easily install on your devices.

Thanks to Jono Hunt, you can head over this GitHub page and check out the 2012 U.S. elections regular expression he built for Tweetbot. You can add keywords in the middle if you feel like you should be blocking more from your timeline. To install the filter, open the Mute Filters view in Tweetbot, hit the Edit button, then the + button in the upper left corner and select Mute Keyword. Paste the filter, and turn on Regular Expression. You can set a duration (I chose “forever”) and mute mentions for the filter as well. To make sure you’re entering the expression correctly, Tweetbot will also display matching tweets already in your timeline.

Jono has built other mute filters for recurring tweets besides the elections, so check them out here.

Tweetbot Mute Filters For U.S. Elections #archive

Tweetbot for Mac Review

When the first alpha of Tweetbot for Mac came out in July, I said I would take a look at the app again. Here we are, three months later, with the final version of Tweetbot for Mac available on the App Store.

I concluded my review of the public alpha version with:

Right now, Tweetbot for Mac is, in my opinion, already superior to any other client for OS X — and it still can be improved. More importantly, Tweetbot makes better use of Twitter features than Twitter’s own Mac app, and that says a lot about the importance of third-party clients in this ecosystem.

In calling the alpha version of Tweetbot a “superior” product, I took quite a stance. I had been using the alpha for weeks before the public release, and I had the perspective and context to make a conscious and reasonable decision about my statement. I knew I was going to like Tweetbot and use it on a daily basis. Three months later, that’s still the case.

I’ll get to the point right away. Tweetbot is, in my opinion, the best Twitter client for Mac. From my perspective, no other app gets closer to the amount of polish and functionality that Tapbots poured into their latest creation, making it the most powerful, fast, and elegant Twitter app I’ve seen on OS X to date. In hindsight, it’s also a superior product than Twitter for Mac, which, as you may recall, used to be my go-to client. Three months ago I reviewed an app that I knew was going to be great.

In thinking about how I should approach this new review, I came to the conclusion that you don’t need me to go through the backstory of Twitter clients on the Mac. Here’s what I wrote, again, for context:

Ever since Loren Brichter (creator of the original Tweetie, who sold his app to Twitter and went on to work there) left the company, Twitter for Mac — what I had deemed as the best Twitter client for OS X — fell into an unexplainable state of abandon and lack of updates. You would think it’s in Twitter’s best interest to keep a native client up to date with the latest features of the service; and yet, after a solid first version — which came after years of speculation on Tweetie 2 — Twitter started ignoring the app, failing to bring several of Twitter’s new features (such as inline media and updated search) to the desktop. It only got worse recently: after many updates to Lion, Twitter for Mac has started showing new bugs and glitches that haven’t been fixed by Twitter, alongside the ones that have always been there and were never corrected. And then with the release of the Retina MacBook Pro, Twitter’s lack of support for high-res text and graphics became the proverbial final nail in the coffin of what used to be a great app.

Twitter for Mac still hasn’t received an update since last year. Some say it’s no longer in development.

In my review of Tweetbot Alpha, I briefly touched upon features that were missing from the app:

For instance, there is limited support for keyboard shortcuts, there are some rough edges around the interface, and one of my favorite features of Twitter for Mac — being able to navigate and switch sections with gestures — isn’t yet available. Indeed, Tapbots say that features like better management of multiple windows will be coming in the future, and they confirmed in a blog post that they are planning “ on making everything as beautiful and pixel perfect” as they can. Don’t be surprised if, in this version, some pixels will look misaligned or out of place. Eventually, it will all be fixed.

It is with this standpoint that I want to look at Tweetbot again: you don’t need me to know what Tweetbot is or what it looks like. Between the Mac and iOS, we’ve covered Tweetbot extensively here at MacStories.

What follows is my review of Tweetbot 1.0 based on how I use the final version of the app. The little features and the details I’ve come to rely upon, and the overall functionality that makes Tweetbot the best Twitter client for Mac.

Keyboard shortcuts

One of the key features missing from the initial alpha of Tweetbot was support for keyboard shortcuts. At some point, every Mac user – not necessarily the “power” ones – gets curious about keyboard shortcuts, as they can be fantastic timesavers. Tweetbot for Mac doesn’t disappoint: it comes with many different shortcuts for timelines (i.e. “views”) and tweets.

Command + 1…9 to open specific sections of the app. Sections are called “tabs”, and they are available in the Window menu. Available tabs are: Timeline (1), Mentions (2), Messages (3), Favorites (4), Search (5), Profile (6), Lists (7), Retweets (8), and Mutes (9).

If you’re already in a tab and you hit Command +1…9 the app will go back to the top level of the view (eg. you’re viewing someone’s profile, the app will go back to timeline) so you don’t have to hit the Back button. If you’re already in the top level, the shortcut will scroll to the top.

Tabs available in Tweetbot’s sidebar can be customized. From View > Displayed Tabs, choose the tabs you want to exclude from the sidebar by deselecting them. Even if a tab is hidden, you’ll still be able to access it with the shortcuts mentioned above.

A bunch of shortcuts are available in the View menu:

In Tweetbot, you can open Tabs in new windows or columns. You can also open specific views such as user profiles or a saved search in columns or windows. To open the current view in a new window, use Command + Shift + N; to open in a new column, the shortcut is Command + Option + N. You can then remove specific columns from the View > Columns menu, or by hitting the gear icon icon in the bottom right corner of the main window. You can tab and shift-tab to move between columns.

Tweetbot’s windows can be resized. However, the “separate” ones don’t support shortcuts for changing tabs, as they are, essentially, single-purpose views turned into a window.

You can go to a specific user by hitting Command + U and typing its username. Tweetbot will try to autocomplete it.


Tweetbot comes with several “action shortcuts” for tweets and integration with third-party services.

To compose a tweet, hit Command + N, and Command + W to close the compose box. If you’ve typed something in the box and try to close it, Tweetbot will ask you to save the tweet as a draft. Drafts can be opened with Command + 0, which will display a separate window for all your saved tweets; click on one, and the tweet will open again in the compose box, ready to be sent.

You can perform various actions on selected tweets. Command + R will initiate a reply to the author of a tweet, with additional mentioned usernames selected so you can remove them instantly (it basically defaults to Reply All). Command + D will send a Direct Message to the author; F will mark a tweet as favorite; T will retweet, and Option + T will “quote” the selected tweet. Command + K will mark all tweets in a tab as read.

Tweetbot uses streaming by default, but you can also manually refresh a view by pulling down tweets to unveil the loading bar, or by hitting Command + Shift + R. Please note, though, that if the app is streaming you can’t actually pull to refresh: if streaming fails, you can. You can also pull to refresh views that don’t stream, like Search and Lists.

When a tweet is selected, the entire app is navigable using the keyboard: up/down arrows will let you move between tweets, the right arrow key will open a tweet’s detail view and left will always work as a “Back” button. If you are in the tweet detail view and you hit the right arrow, you’ll go to the user’s profile.

It gets more interesting with actions available inside the Tweet > Action menu. You can open the links contained in a selected tweet with Command + Shift + L: if the link is a regular http:// hyperlink, it’ll open in the default browser; if it’s an inline image, the shortcut will bring up the app’s image viewer.

The image viewer comes with a sharing button to save the image (it’ll be placed in your Downloads folder), copy it, view it on the web, or tweet the URL. To close the image, you can hit Esc or the Space bar. In this first version of the app, I’ve encountered a bug that, when the browser is minimized in the Dock, will bring it up in slow motion (I assume it’s because the shortcut includes Shift, which triggers the slow-motion effect system-wide).

There are two more actions that have been assigned a keyboard shortcut: you can quickly open a user’s profile by pressing Command + Shift + U on a tweet; and if a tweet belongs to a conversation, you can hit Command + Shift + C to view it.

Contextual Menus

adamtyree, I haven’t really blocked you. We’re cool.


Where Tweetbot doesn’t get with keyboard shortcuts, it does with contextual menus. In July, I wrote:

That’s not to say, though, that Tapbots is simply taking a successful iOS app and putting a native Mac wrapper around it. Tweetbot for Mac wants to be a native Mac application, and for this reason Tapbots had to rethink some of the interactions that couldn’t be suitable for a point-and-click system such as the Mac.

Because on the Mac it is possible to implement the concept of “hover” through the cursor, the tweet drawer’s options (reply, retweet, fave, share, more) are shown when hovering over a tweet, and they are presented inside contextual menus: this helps reducing the number of clicks needed to navigate around tweets, and it stays true to the nature of OS X while adapting Tweetbot’s existing feature to different patterns and possible scenarios.

In Tweetbot for iOS, you can tap & hold on certain elements to bring up additional options; in Tweetbot for Mac, tap & hold becomes right-clicking (or Control-clicking).

Overall, I find the selection of Tweetbot’s contextual menus rich and intuitive – it’s in line with the iOS counterpart (therefore making it easy to switch between the two), yet, at the same time, it stays true to the nature of the Mac.


There’s one area of the app where I think Tapbots could have done more: gestures. Right now, Tweetbot only supports:

In my Twitter for Mac days, I quickly became a fan of the three-finger gesture that allowed you to swipe vertically to move between sections in the sidebar. I wish Tapbots did the same for tabs in Tweetbot. I’d also like to see gestures from iOS, such as triple taps, finding their way to the Mac. I do appreciate how Tapbots decided to render text natively in the app, thus enabling OS X system features such as triple tap to define in Dictionary within the Timeline (however, text is only selectable in the tweet detail view).

To overcome the lack of vertical swipes to change tabs, I set up two BetterTouchTool gestures for the job: swipe up to go to the next tab, swipe down to go up (per Apple’s own scrolling paradigm). On my computer, which has keyboard input set to Italian, I had to go with one extra step to pipe the shortcut for changing tabs through Keyboard Maestro, as I showed yesterday; if you don’t want to use Keyboard Maestro, you could achieve the same “hack” using BetterTouchTool and GUI scripting, or anything that associates gestures with Tweetbot’s Previous/Next Tab menu. I also noticed a visual bug in which, occasionally, the selected tab won’t be properly highlighted in the sidebar.

Using Tweetbot

Here’s how I use Tweetbot: I leave it open all day, reading my timeline and checking for links to interesting stuff that happens online. If someone mentions me, I want to double-check what I’m replying to, and I want to be able to see an entire conversation. I mark a lot of tweets as favorite (more here ), I have a saved search for “MacStories”, and I mute a lot of hashtags or keywords I’m not interested into (such as sports and politics ). Every once in a while, I try to be a witty and funny guy with Matthew Panzarino or my colleague Don.

I need a Twitter client that can handle the workflow described above and, more importantly, remember my position in the Timeline.

Tweetbot fits like a glove. Maybe it’s because I got used to the app over time. Or perhaps I’m just particularly good at feature requests. Any way I look at it, I can’t seem to find any other client that can achieve the same degree of functionality.

There’s a fine line between consistency and uniqueness on each platform, and Tweetbot walks it gracefully. The design cues are the same, the interactions are shared across devices, but there’s always a little implementation detail or a subtle graphical change that reminds you which Tweetbot is which. Quite paradoxically, there are more differences between various instances of Tweetbot than between Tweetbot and Netbot.


Tweetbot for Mac lets you put sections and views in columns. As those who’ve used apps like Tweetdeck before may remember, columns can become an important “productivity booster” for people who use Twitter for, say, customer support and need to keep an eye on replies and saved searches.

With the aforementioned “Open in New Column” command, you can do exactly that. During major Apple events or news, for example, I like to keep columns open on saved searches and MacStories’ mention stream so I can stay on top of the tweets being shared.

In Tweetbot, columns “snap” onto an existing window on the right. You can create multiple columns, but you can’t switch the section focus of a column once it’s been created. To “detach” a column to make it a window and close it, grab the “handle” in the bottom bar and drag the column away. There are still some bugs with attaching columns of different sizes to the main window.

For a future version of the app, I’d like to see full-screen support, as it makes sense for layouts of 3+ columns.

Custom Uploads

Tweetbot for Mac is, as far as I know, the only Twitter client that supports custom API endpoints for media uploads. I asked our Don Southard to put together a solution that would leverage our Rackspace CDN to handle images and videos; he came up with an easy way to share images in Tweetbot natively, using our own server. You can find his explanation of the feature below.

Custom Uploads

Tweetbot is the only Twitter client for Mac (that I know of) that supports the ability to upload your photos to a custom image service of your choice. This includes the ability to host your own image sharing service on a web server with nothing more than a few lines of PHP. So what we made is a simple PHP script that we self-host; it accepts the image from Tweetbot and responds with the uploaded URL.

Tweetbot provides short but useful information about how it uses HTTP POST to upload the picture and what information is passed along with the image.

For the MacStories image upload service we opted to use our Rackspace Cloud Files account to host the images. They have a great PHP library that does all the hard work of getting the image objects on to the server. After the image is uploaded to Rackspace the script only needs to echo a JSON encoded response. This code is saved to a PHP file on your web server along with the Cloud Files PHP library.

Update 10/19: Modified the scripts adding a check to make sure they can only receive images or videos (not scripts or other files). Keep in mind, the URL of the PHP file is private – don’t share it with anyone.


// include the API


// Rackspace Info

$username = "USERNAME"; // username

$key = "XXX"; // api key

// Connect to Rackspace

$auth = new CF_Authentication($username, $key);


$conn = new CF_Connection($auth);

// Get the container we want to use

$container = $conn->get_container('Mobile_Uploads');

// store image information from Tweetbot

$localfile = $_FILES['media']['tmp_name'];

$filename = $_FILES['media']['name'];

// Image filetype check source:


$imginfo_array = getimagesize($localfile);

if ($imginfo_array !== false) {

    $mime_type = $imginfo_array['mime'];

    $mime_array = array("video/quicktime", "image/png", "image/jpeg", "image/gif", "image/bmp");

    if (in_array($mime_type , $mime_array)) {

        $now = time();

        $uploadFilename = $now.'-'.$filename;

        // upload image to Rackspace

        $object = $container->create_object($uploadFilename);


        // Respond image URL to Tweetbot (Change to your URL)

        $outputFilename = '' . basename($uploadFilename);

        $response = array(url=>$outputFilename);

        echo json_encode($response);



else {

    echo "This is not a valid image file";



Most of you probably do not have a Rackspace Cloud Files account and that’s not a problem because you can also just upload images directly to the web server with only a few tweaks.

Without the Rackspace dependencies this code is even simpler. Save this PHP code to a file (ie. upload.php) on your web server.


//server-side directory

$directory_self = str_replace(basename($_SERVER['PHP_SELF']), '', $_SERVER['PHP_SELF']);

$uploadsDirectory = $_SERVER['DOCUMENT_ROOT'] . $directory_self . 'img/';

// Image filetype check source:


$tempFile = $_FILES['media']['tmp_name'];

$imginfo_array = getimagesize($tempFile);

if ($imginfo_array !== false) {

    $mime_type = $imginfo_array['mime'];

    $mime_array = array("video/quicktime", "image/png", "image/jpeg", "image/gif", "image/bmp");

    if (in_array($mime_type , $mime_array)) {

        //generate random filename

        while(file_exists($uploadFilename = $uploadsDirectory.time().'-'.$_FILES['media']['name'])){$now++;}

        //upload the file to the webserver

        @move_uploaded_file($_FILES['media']['tmp_name'], $uploadFilename);

        //generate the filename that will be given to Tweetbot

        $outputFilename = '' . basename($uploadFilename);

        //respond with JSON encoded media URL

        $response = array(url=>$outputFilename);

        echo json_encode($response);



else {

    echo "This is not a valid image file";



To get Tweebot to send photos to your PHP endpoint, go to Account Settings > Image Upload > Custom.

Enter the full address to your PHP file:

That’s it. Tweetbot will send images to your server and you can enjoy the warm fuzzy feeling that comes with hosting, sharing, and owning your own photos online.

In addition to hosting your own PHP script for uploading images, you can also setup a custom domain. In your domain provider’s DNS settings, simply forward that directly to the directory that will be hosting your images.

We have been using Tweetbot’s custom uploads for weeks, and we’re really enjoying it from both Tweetbot for iOS as well as Tweetbot for Mac.


Tweetbot for Mac upholds Tapbots’ tradition to support a plethora of third-party services for sharing and bookmarking. Here are the ones supported in version 1.0:

URL Shortening

Image Upload

Video Upload

Read Later

I think the selection is solid; however, I would like to be able to send links to both Instapaper and Pinboard, without having to pick one.

Sync and Notifications

Like the iOS version, Tweetbot for Mac supports Tweet Marker and Notification Center. The settings are exactly the same.

The Mac version also introduces iCloud sync on the desktop, which lets you keep timeline position, as well as read status on DMs and mute filters in sync. In my tests, I had some initial issues in getting Tweetbot for Mac and Tweetbot for iPhone to communicate with each other, and developer Paul Haddad reiterated how iCloud, in its current version, is still far from perfect. Indeed, it took a few restarts and forced quits before both versions were synced up correctly. After that, everything was pretty smooth and fast – I especially like the convenience of keeping filters consistent between devices.

As for notifications, I just like how they stay in Notification Center and allow me to go through them later.

Tips & Tricks

Tweetbot’s image viewer supports animated GIFs.

When someone faves one of your tweets, it gets the same yellow ribbon tweets you fave get. At first I thought I had accidentally faved a tweet of mine. Confusing.

Tweetbot’s menubar item is quite powerful: it lists all your accounts and shows you, through badges, how many unread tweets you have in the Timeline, Mentions, and Direct Messages. It lets you jump to those sections by just clicking, and you can even tweet from the menubar item without launching the full app. I wish Tapbots made a keyboard shortcut for this.

From the tweet compose box, you can switch between accounts by clicking on your profile picture.

You can access the same location menu of Tweetbot for iOS by clicking on the location data in the tweet compose box.

Unfortunately, Tweetbot 1.0 doesn’t have an AppleScript dictionary.

You can edit your Profile without leaving Tweetbot. Just open the Profile tab and click Edit in the upper right corner. You can also change your avatar from the app using the Mac’s standard photo picker.

Clicking on a location in a tweet will open Google Maps in the browser. Same with Translate.

You can drag the compose box to wherever you like.

With the exception of Search, the same URL scheme of Tweetbot for iOS works on the Mac. It is documented here. Below, you can find the code for two bookmarklets I have created to tweet a webpage’s URL and a webpage’s Title + URL (too add these, create a new bookmark and replace its address with the code below).

Tweet title + URL javascript:window.location='tweetbot:///post?text='+encodeURIComponent(document.title)+' '+encodeURIComponent(window.location.href)

Tweet URL javascript:window.location='tweetbot:///post?text='+encodeURIComponent(window.location.href)

You can drag tweets out of Tweetbot.

Dragging a tweet to the desktop will create a .webloc file pointing directly to the tweet’s URL; dragging it into iMessage or Mail will insert the tweet’s link as text; dropping a tweet onto Safari’s icon in the Dock will open a new tab for the tweet. This also works with URLs – you can drag those out from within a tweet.

Still The Best

Tweetbot for Mac isn’t the app for people who casually check on Twitter every couple of days: it is priced at $19.99, a clear signal as to the kind of audience Tapbots want to capture. On the other hand, it’s also understandable why Tapbots may want to save precious Twitter tokens for users who really value the feature set of Tweetbot.

Three months ago, what we had was a great Twitter client with several missing features and some rough edges. But, following the premature demise of Twitter for Mac, it already was the most powerful one, suggesting good things would be coming soon. Today, Tweetbot for Mac is faster, more reliable (albeit still not perfect, as some graphical glitches persist), and more functional. It is the rightful evolution of an app that showed its potential earlier this year.

Twitter clients are a very personal matter. Using them on a daily basis, they become deeply entrenched in our workflows and, often, they turn into the apps we’re least likely to give up on. Ask the people who still think Twitter for Mac will eventually get an update. For me, Tweetbot works because it’s got what I need from a Twitter client.

With Tweetbot for Mac, I give my last and official goodbye to the app that used to be Tweetie.

We don’t know what the future looks like for third-party Twitter clients. For now, with the Mac version, Tweetbot has created its own ecosystem inside Twitter.

Tweetbot for Mac Review #archive

Convert URLs to Tweetbot Links

I communicate with my team through iMessage. We’ve tried many “communication services” over the years, yet, since last Fall, we’ve always come back to Apple’s solution. It’s not perfect for us, its reliability is far from 100%, but it works.

As we keep using iMessage every day, there’s one category of “media” we’re constantly sharing: Twitter URLs. We find some cool piece of information or news on Twitter, we share it with the team. Linking back to tweets has, in a way, become our favorite type of commentary for fun, news-hunting, and everything in between. URLs, though, aren’t the best way to jump back to a tweet, especially when you’re on a mobile device. When you’re on a Mac, clicking on a Twitter link will open a new browser tab, which doesn’t really bother us as we’re used to opening background tabs on our computers. But on the iPhone and iPad, it can become annoying: there’s a limit of 8 Safari tabs on the iPhone, you get yanked out of Messages, and, most of the time, URLs just don’t work. In our team chat, we’ve speculated the “Not Found” errors we’ve seen may be related to how Tweetbot generates Twitter URLs when you hit “Copy Link to Tweet”: instead of using status in the URL slug, it uses statuses, which seems to be the reason behind erroneous redirecting on mobile devices.

We’ve come to the conclusion that we want to be able to easily copy URLs and turn them into links based on Tweetbot’s URL scheme. Using a simple tweetbot:// URL, you can use Twitter’s status ID – the same you receive when you copy a link – to open a single tweet directly in Tweetbot. And the best part is, the same URL scheme works consistently across Tweetbot for iOS and Tweetbot for Mac. As everyone on the MacStories team is already using Tweetbot, the solution seemed obvious – plus: no more browser tabs.

The problem was finding a way to convert URLs easily, without having to remember complex combinations of keystrokes and commands. Furthermore, as I promised my team I’d come up with a way, I had to figure out a solution to do text conversion directly on iOS.

As a result, I’ve come up with an AppleScript, a Keyboard Maestro macro, and a simple Python script to transform Twitter URLs into their Tweetbot counterparts.


In AppleScript, I had to use text item delimiters to identify Twitter-specific strings to replace in the text.

Remember, we want to turn into tweetbot://, and statuses into status, because that’s how Twitter’s website likes links. Then, we want to be able to easily paste back the modified text so we can share it with someone, or just open the new URL.

Unfortunately, to make the process as automatic as possible, I had to settle on GUI scripting. Writing AppleScript commands that rely on visible user interface elements is never advised because a) menu and button names often change with app updates and b) there may be problems with localized apps (menus have different names). However, Tweetbot doesn’t offer an AppleScript dictionary yet, and the “Copy Link to Tweet” action we’re using doesn’t have an associated keyboard shortcut. Which means we have to simulate clicking an item of a submenu of a menubar dropdown. Not the best solution, but it works. I look forward to improving this if Tweetbot ever gets AppleScript support.

tell application "System Events"

    set AppleScript's text item delimiters to ""


    tell application "Tweetbot"


        tell application "System Events"

            tell process "Tweetbot"

                click menu item "Copy Link to Tweet" of menu 1 of menu item "Share" of menu 1 of menu bar item "Tweet" of menu bar 1

            end tell

        end tell

    end tell


    delay 1

    set my_URL to the clipboard


    set the clipboard to my replaceText("", "tweetbot://", "statuses", "status", my_URL)

end tell






on replaceText(searchStr, replaceStr, searchStr2, replaceStr2, my_URL)


    set oldDelim to AppleScript's text item delimiters


    set AppleScript's text item delimiters to searchStr

    set this_text to (text items of my_URL)

    set AppleScript's text item delimiters to replaceStr

    set bot_URL to (this_text as string)


    set AppleScript's text item delimiters to searchStr2

    set this_text2 to (text items of bot_URL)

    set AppleScript's text item delimiters to replaceStr2

    set fixed_URL to (this_text2 as string)


    set AppleScript's text item delimiters to oldDelim

    return fixed_URL

end replaceText

As usual with quick script I’ve put together, I haven’t added a check for assistive devices. Make sure the option is enabled in System Preferences > Accessibility.

Once I automated the part to copy the Twitter link, I needed to convert that link to the tweetbot:// format with minimal effort. Using text item delimiters and a handler, the script can identify the portions of the URL we don’t want, and replace them. The “fixed” URL is then placed on the clipboard.

The provided AppleScript works well with Alfred. Create an extension (or download this one ), and assign a hotkey to it. Then, in Tweetbot, select a tweet, press the hotkey, and a tweetbot:// link to the tweet will be on your clipboard after a second. Thanks Justinfor input and feedback.

Keyboard Maestro

Keyboard Maestro comes with a “Search and Replace Clipboard” action that fits our needs for this workflow. Once again using GUI scripting, I created a macro (and later, our Gabe Glick improved on it) to copy a tweet’s link and turn it into tweetbot:// format.

The macro is smart in that, if Tweetbot is at the front, it’ll interpret the hotkey as a command to copy a selected tweet and convert the URL; if Tweetbot isn’t the frontmost app, you can use the same hotkey to paste. I personally use this over AppleScript, as I can quickly generate a link, then switch back to Messages and hit the same hotkey to paste.

Download the macro here.


I’m new to Python, but I’ve been learning the basics in the past few weeks and I’ve been playing around with the fantastic Pythonista app on my iPhone and iPad. I’ve therefore created a simple Python script to replace occurrences of (and its mobile and https variations), ` print the result, and launch the new URL directly in Tweetbot.

import clipboard

import console

import webbrowser

mytext = clipboard.get()

mytext = mytext.replace('', 'tweetbot://')

mytext = mytext.replace('statuses', 'status')

mytext = mytext.replace('', 'tweetbot://')

mytext = mytext.replace('', 'tweetbot://')

mytext = mytext.replace('', 'tweetbot://')


print mytext

Once configured, it takes a few seconds to launch Pythonista, hit Run, and have the new URL ready in the output. Python users will have no problems modifying the script to, say, set the result to the clipboard.


I like to find automated solutions for common problems that no one is fixing. Having to deal with tabs as a Tweetbot user was one of those problems, and I’m glad I’ve set up a system that improves my link-sharing workflow.

It’s easy to modify the scripts and macro to work with other URL schemes, such as Twitterrific’s. As usual, ping me if you’re inspired by this to build something new.

Convert URLs to Tweetbot Links #archive

Tweetbot for iPhone 2.6 Adds Custom POIs, Header Images

Tweetbot 2.6 is out today on the iPhone, and it’s a minor update from the previous 2.5 version. There are, however, two changes I would like to cover.

Tweetbot 2.6 comes with support for Twitter’s new header images for profiles. You’ll have to upload them directly from Twitter’s website – you can’t upload new ones in Tweetbot – but the app will display them nicely in user profiles, just like Tapbots’ other app, Netbot.

Tweetbot 2.6 also lets you create custom POIs for locations. If you think a location is incorrect, or simply would like to customize the location Tweetbot finds, click on the location in the compose screen, and create a custom POI. Be aware that other Tweetbot users will then be able to use the POI, as it’s based on Twitter’s geolocation features and the address of the location.

Tweetbot 2.6 is a minor, but nice update. Get it from the App Store.

Tweetbot for iPhone 2.6 Adds Custom POIs, Header Images #archive

Tweetbot 2.6.1 Tweaks UI

A minor update to Tweetbot has been released today by Tapbots: among bug fixes, version 2.6.1 introduces a slightly tweaked user interface with a different design for buttons and icons seen throughout the app. Unchanged since the first version, the new icons are similar to the old ones, yet somewhat more rounded and, in my opinion, peculiar.

Like I said, it is a very minor change. However, if you, like me, stare at Tweetbot for several hours a day, it is something you’ll quickly notice upon updating to 2.6.1. It certainly contributes to subtly differentiating Tweetbot from Netbot, which I appreciate.

Tweetbot 2.6.1 is available on the App Store.

Tweetbot 2.6.1 Tweaks UI #archive

Disable Auto-Correct In Tweetbot for Mac

I write in English, but I live in Italy. Some of my Twitter followers are Italian, too, and I like to talk to them in my native language. In the past weeks, I noticed an annoying bug: Tweetbot for Mac, my Twitter client of choice, couldn’t disable auto-correct (Edit > Spelling and Grammar > Correct Spelling Automatically) permanently. The option is there, but it appears it “doesn’t stick” after you enable it to send a tweet without auto-correct. This led to an increasing number of misspelled Italian tweets with English words mixed in (as per my Mac’s system language).

Fortunately, I’ve found the solution here. With a simple Terminal command, you can override Tweetbot’s default setting and disable auto-correct (but not spell checking) automatically.

This is exactly what I was looking for, so make sure to hit the source link to check out the full command.

Disable Auto-Correct In Tweetbot for Mac #archive

Tweetbot 1.1 For Mac

An update to Tweetbot for Mac – my go-to Twitter client – was released today on the App Store. Tweetbot 1.1 doesn’t bring major new features, but it’s got a fair amount of bug fixes and minor improvements that I like.

For Mountain Lion users, there’s an “All Notifications” option in the Settings to, literally, receive all notifications for your stream. This means you’ll see every tweet from every user you follow show up in Notification Center as soon as they tweet. I can’t use this because I follow too many people (I would get a notification every few seconds), but it can be useful for timelines following less users. What I really like is the option to show a Visual Sync Marker (like on iOS) and to globally invoke the app/new tweet window with a hotkey.

Last, there are many other fixes and improvements such as new keyboard shortcuts, better “pin to top” for non-streaming columns, and better compatibility with Moom. Tweetbot continues to be my favorite Twitter client on the Mac and it’s available at $19.99 on the Mac App Store.

Tweetbot 1.1 For Mac #archive

Tweetbot Adds Support For Chrome and 1Password Browsers, Vine and Flick Inline Previews

Tweetbot 2.7, released today for the iPhone and iPad, comes with a new Browser setting to specify an external app for opening links. I have been testing the feature and I’m a big fan of this update.

In the Settings, you can now choose to open links directly in Safari, Google Chrome, or 1Password. There are two ways to do this: you can choose to keep opening links in Tweetbot’s own web view and then forward them to your browser of choice; or you can skip Tweetbot’s web view altogether and go directly to a different browser upon tapping a link.

Opening links in Safari and 1Password doesn’t have anything special to it aside from the fact that you’ll be taken out of Tweetbot and into another browser. The 1Password integration is particularly useful as it is, essentially, the same idea behind my bookmarklet, only available inside Tweetbot: if you see a link for a website that you also want to log into, you can use 1Password’s built-in browser to access it.

Using Chrome alongside Tweetbot is my new favorite option, as it leverages Chrome’s support for x-callback-url to enable a completely automated workflow to open Chrome and go back to Tweetbot. If you open a link in Google Chrome, a new tab will open showing a back button labeled “Tweetbot”; once you’re done reading, you can hit that button to automatically close the tab and be taken back to your position in the Tweetbot timeline. Chrome is smart in hiding the back button if you navigate to other pages from the Tweetbot-created tab; the browser also remembers the “special” tab if you switch to other tabs and then go back to the one created by Tweetbot. There’s a minor bug in this version that will redirect to the Tweetbot’s Timeline when you open a link from Mentions, but Tapbots is aware of it. For me, this is a very welcome addition to Tweetbot as it allows my two most-used iOS apps to better communicate with each other without requiring me to manually move between apps. I can get all the benefits of using an external browser (Facebook sharing, using bookmarklets ) while still being able to go back to Tweetbot seamlessly.

For Flickr and Vine users, Tweetbot 2.7 also adds inline previews. Vine’s short videos are shown with a standard iOS video player that has a play/pause button.

Tweetbot 2.7 is a minor, yet useful update for Chrome and 1Password users who have been wishing the app could open links in other browsers. You can find the update on the App Store ( iPhone, iPad ).

Tweetbot Adds Support For Chrome and 1Password Browsers, Vine and Flick Inline Previews #archive

Tweetbot for Mac 1.2 Brings Notifications For Specific Users, Vine Previews, UI Tweaks


Tweetbot for Mac, Tapbots’ Twitter client that I first reviewed in October 2012, has been updated today to version 1.2, which is available on the Mac App Store. Among the notable features of this new version, Tapbots is introducing notifications for specific users, support for inline Flickr and Vine previews, and compliance with the Twitter 1.1 API.

Announced last year, the new Twitter API will force Tweetbot users to upgrade to Tweetbot 1.2 or later by March 5, 2013. After that date, all previous versions of Tweetbot will stop working. For the end user, updating Tweetbot for the new API means Tapbots had to alter some graphical elements of the app: among various changes, your own tweets will no longer be shown with an avatar on the right side of the timeline; profiles can now be opened on; and, you can click on the timestamp in a tweet’s detail view to open that tweet directly in the browser with a single click.

I have to say, in using Tweetbot 1.2 for the past few weeks I have come to like the easier opening of profiles and tweets on the Twitter website, but I’m still getting used to seeing my tweets with my profile picture on the left side. I haven’t noticed other changes that have impacted my usability of the app.

A great addition in Tweetbot 1.2 is the possibility to receive notifications when a specific user tweets. To do so, you can control-click on a user you’re following and choose Enable/Disable Notifications to receive alerts for new tweets. My wish is that this feature will someday come in the form of push notifications to the iPhone and iPad: it would be particularly handy for my workflow to keep the app closed and yet receive notifications for specific users that I care about.❲1❳

There are several changes and fixes that, while subtle, can fix those annoyances that add up over time. Double-clicking the Profile tab now respects the setting for background links in the browser; thumbnail support for Vine and Flickr is consistent with the latest update to the iOS app; you can now add .mp4 files to tweets, GIF uploading has been fixed, and images or video files can be dragged onto the app icon to compose a new tweet; “finally”, accounts can be reordered in the Preferences. As shown in the screenshot above, the Notifications panel in the Settings now comes with more control over the notifications you want to show in Tweetbot’s dock icon and menubar item.

It’s good to see that Twitter’s API requirements haven’t been a detriment to Tweetbot’s efficiency so far. ❲2❳ Tweetbot 1.2 is available on the Mac App Store.

Tweetbot for Mac 1.2 Brings Notifications For Specific Users, Vine Previews, UI Tweaks #archive

Chaining Tweetbot, Pythonista, Drafts, and iMessage for URLs


Last night, Tweetbot for iOS was updated with support for the Twitter 1.1 API, which, among various requirements, includes the need of linking a tweet’s timestamp – the date and time when it was sent – to its unique URL on In Tweetbot, you can now open the tweet detail view and tap on the timestamp to automatically open the Twitter website in your default browser; in terms of interaction, I like this change because it lets me open tweets in Google Chrome with just one tap.

In thinking about the update last night, I realized that:

And I concluded that:

Therefore, I created a browser bookmarklet, a Python script, and a Drafts action to automate the entire process and demonstrate how you can convert Twitter URLs to tweetbot:// URLs and send text from Pythonista to Drafts.

As usual, I am posting the following workflow as a proof of concept that you can modify and adapt to your needs. For instance, you can change the action that is triggered in Drafts, the x-success parameter that will be triggered, or the way Twitter links are converted to Tweetbot-specific URLs.

The first step is a browser bookmarket that will take the current URL (in our case, most likely a Twitter link opened from Tweetbot) and send it to Pythonista.

Here’s the code:


As you can see, we’re launching a Pythonista script called “TweetbotDrafts”, telling the app to run it with two arguments: the webpage’s title and URL. The title isn’t necessary – it is currently turned off in the script – but I included it so you can include it in your workflow if you want (say, to send both a webpage’s title and URL in a message).1


The second step is the Python script itself.

import re import sys import urllib import webbrowser import clipboard numArgs = len(sys.argv) if numArgs < 2: url = clipboard.get() else: text = sys.argv[1] url = sys.argv[2] link = re.sub("(?Phttps://.*twitter\\.com/)(?P.+)/(?P(status|statuses))/(?P.+)", "tweetbot://\g/status/\g", url) encoded = urllib.quote(link, safe='') drafts = 'drafts://x-callback-url/create?text=' + encoded + '&action=iMessageIt'

Line 7 checks how many arguments have been sent: if they’re two, they will be recognized by lines 14-15, if it’s only one, the script will assume it’s something you copied in the system clipboard.

We want to convert Twitter links to tweetbot:// ones, leaving “normal URLs” untouched so you can use the script with any webpage – not just the Twitter website. Using a regex by our Don Southard, we can replace specific portions of a string (the URL) with parts of the Tweetbot URL scheme that we want to use. Basically, something like this:

becomes this:


…entirely automatically. When someone will receive that link, he/she can click it to launch that single tweet’s detail view in Tweetbot for Mac or iOS. If the link didn’t need to be converted, it means we launched the bookmarklet (and therefore the script) from a non-Twitter webpage, which won’t need any substitution.

Line 20 URL-encodes the link to prepare it for Drafts; line 22 constructs the Drafts URL, calling an “iMessageIt” action. Finally, line 24 launches Drafts, passing along the URL we just processed.

Drafts is the last step, and the one you can personalize the most. I am sending a link via iMessage, but you can create another Drafts URL action to upload the link to Dropbox or Evernote, send it to another app, or any other service that Drafts supports.

My custom action simply triggers Drafts’ built-in Message action and tells the app to open Tweetbot again after a message is sent. Make sure to call this action “iMessageIt” to make it work with the script above.


With this action ready to go, Drafts will receive the link from Pythonista and bring up a Messages panel with the link already filled in. Unfortunately, right now you can’t populate the To: field with specific contacts – meaning: you’ll have to type addresses manually. I wish Greg Pierce will consider the option of letting users specify default recipients for the Messages action in some way.

To sum up, here’s what the script accomplishes: by leveraging my appreciation for Tweetbot’s easier opening of single tweets, it uses a bookmarklet to grab a webpage’s title /URL and send it to Pythonista. If the link that was sent is a one, Pythonista will process it and turn it into a Tweetbot URL, because I like Tweetbot. Once converted, Pythonista will send the link to Drafts. In receiving the link, Drafts will open a Messages panel to send it to someone; once set, it will go back to Tweetbot, as if nothing happened.

One last tip: keep in mind that Tweetbot recently received the option to close a Google Chrome tab that it created, taking you back to the timeline. Right now, my workflow goes back to Tweetbot, but it doesn’t close the tab created in Chrome. If you don’t want to keep that extra tab in Chrome, simply replace the last URL of the Drafts action with googlechrome:// and you’ll be able to go back to Tweetbot (while closing the tab) from there.

Chaining Tweetbot, Pythonista, Drafts, and iMessage for URLs #archive

Tweetbot 2.8 Adds Media Timeline


Ever since its original release two years ago, I’ve always wished Tweetbot could provide filters to separate the standard timeline from a “media” one containing pictures and videos. After the launch of Twitter’s own photo service and rise in popularity of services like Instagram, usage of pictures – either photos or screenshots – among the people I follow has skyrocketed. Apps like TweetGlass (nèe Quip ) succesfully explored the concept of letting users browse “media updates” in a dedicated feed, so why not Tweetbot?

The latest version of Tapbots’ client, available today, does just that: it adds a media timeline to show only supported images and video tweets (the ones that you’d normally see displayed inline as thumbnails).

To access the new media timeline, you can scroll at the top of the regular timeline and – both on the iPhone and iPad – hit the media button next to the search bar. In the media timeline, status updates containing pictures or videos will show their respective media fully expanded inline, ready to be tapped to be viewed in full-screen. Imagine a mix of Tweetbot’s existing style and Instagram’s photo feed and you get the idea.

Tweets are shown right above the picture/video they contain, and you can tap the text of a tweet to open the usual tweet detail view – which now displays the amount of faves/retweets a tweet has received (unfortunately, you can’t tap these to show a list of users who have faved/retweeted that tweet).

Upon tapping on an image in Tweetbot 2.8, you’ll also notice how the image viewer has been completely redone to act like its Mac counterpart. Tapping on an image in Tweetbot 2.8 shows the same loading indicator of Tweetbot for Mac (which is good for consistency across platforms) and brings images in the foreground with a delightful animation that is reminiscent of Facebook for iOS’ image viewer, only a bit faster. Like Facebook, you can dismiss images with a vertical swipe (on the iPhone); both on the iPhone and iPad, you can also tap anywhere on the screen to close the modal image viewer. I’m a big fan of Facebook’s swipe-to-close-image implementation, and I’m glad Tweetbot for iPhone now works in the same way (primarily because always reaching out to the Back button in the top left corner can get tiresome for me ).


I only have some minor gripes with the media timeline. In order to keep the same size of tweets across the entire timeline, sometimes longer tweets are cut off, forcing you to open the detail view to read them in full (you can see this here ); you can’t tap on a user’s avatar to go to his/her timeline; and, you can’t tap & hold on the inline preview – you have to open the image and then tap & hold to bring up the contextual menu.

Another addition that I’d like to see would be an option to switch to the media timeline from anywhere (not just from a button at the top) while maintaining reading position. I imagine this could be done by adding a tap & hold option to the Timeline tab bar item – but, again, I understand why Tapbots went for a simpler approach.❲1❳

Overall, I’m a fan of the new media timeline. It makes scrolling through photos a more relaxed, visual experience that is well distinct from Tweetbot’s more option-rich regular timeline. The new image viewer is fast, smooth, and easy to use; Instagram previews have been fixed; and, obviously, various bug fixes and improvements are awaiting in this release as well.

Tweetbot 2.8 is available now on the App Store.

Tweetbot 2.8 Adds Media Timeline #archive

Using Tweetbot Searches to Replace RSS

Sean Korzdorfer shares a Tweetbot tip that I didn’t know about: you can construct complex searches with boolean operators and filters and launch them with a URL scheme, both on OS X and iOS. And not just regular searches – you can apply a query to look for specific keywords inside a Tweetbot search.

Basically, Sean is using Tweetbot searches to replace RSS feeds. By saving searches that filter out RTs, mentions, and tweets in foreign languages, he receives a stream of tweets containing links from a specific set of users. Sean has turned his searches into Alfred workflows for Tweetbot on the Mac, and I thought I could do the same on iOS.

Sure enough, here’s a Launch Center Pro action to launch a Tweetbot search for links (no RTs, no mentions) from users I care about:


And here it is decoded for reading purposes:

tweetbot:///search?query=from:macrumors OR from:verge OR from:daringfireball OR from:polygonall OR from:kotaku OR from:macdrifter_feed OR from:reneritchie OR from:mattalexand OR from:nateboateng OR from:dujkan OR from:markgurman OR from:panzer filter:links -filter:mentions -filter:retweets lang:en [prompt]

The URL action ends with a [prompt] for Launch Center Pro, but that can also be a [[draft]] for Drafts. You’re not forced to launch the search URL with a keyword – if you don’t enter anything in the prompt, Tweetbot will display all links from the search (which is why you probably don’t want to use Drafts for this, as it can’t launch an action from an empty draft). Also, you can see that the first portion of the URL isn’t percent-encoded, but the one after the query parameter is. For this, Launch Center Pro’s encode/decode actions can come in handy.

I am subscribed to a series of Twitter lists to discover interesting links on a daily basis, but these complex searches have the advantage of filtering out RTs and mentions, providing a cleaner, links-only experience.

Using Tweetbot Searches to Replace RSS #archive

Tweetbot for Mac 1.3 Adds Media Timeline, More Tweaks

Following the 2.8 update released on iOS in April, Tapbots today updated Tweetbot for Mac to version 1.3, which adds various tweaks to the interface as well as the media timeline that debuted on the iPhone and iPad.

To access the new media timeline, which provides an inline media view of all timelines in Tweetbot, you can hit ⌘F and click on the icon next to the search bar, or, alternatively, choose View > Media Timeline (⌥⌘M with the keyboard). The media timeline retains the same functionality and design that Tapbots first brought to the iPhone; to switch back to the default timeline, you can click another icon next to the search bar or go to View > Default Timeline (⌥⌘T).

Complying with Twitter’s new display guidelines, the tweet detail view now comes with retweet and favorite counters – again, implemented just like in Tweetbot for iOS. And alongside a series of bug fixes and improvements, Tweetbot 1.3 brings a welcome enhancement to profile views: besides Cover Image support, you can now double-click the titlebar on a profile to scroll back to the top. Double-clicking again will scroll a profile’s timeline to the top as well.

Tweetbot for Mac 1.3 is available now on the Mac App Store.

Tweetbot for Mac 1.3 Adds Media Timeline, More Tweaks #archive

Tweetbot 3 Review: Human After All

Tweetbot 3 for iPhone

Tweetbot is, by far, the iPhone app that I use the most on a daily basis. It’s not just that I keep Twitter open essentially all day to check for news, talk to friends, or post GIFs: since I got the first beta of the original Tweetbot three years ago, the app has become so ingrained in my workflow that I wouldn’t be able to switch back to any other client that doesn’t have the same capabilities. What started as a moderately advanced take on Twitter clients by Tapbots has evolved with time into a powerful app that spans three platforms and that comes with dozens of unique features and a solid engine that, for me, has no equal. I don’t say it lightly: because of Tweetbot’s feature set, I have been able to reliably communicate with other people (via DM or Mentions), reference tweets for articles, or build complex workflows that have allowed me to be more efficient, faster, and generally happier with Twitter.

That’s why I take major changes to Tweetbot’s overall structure and design, such as Tweetbot 3 for iOS 7, very seriously. Tweetbot 3, released today as a new app sold at $2.99 on the App Store (launch sale), is many things at once: it’s Tapbots’ first foray into the iOS 7 design aesthetic, which marks a radical departure from the small studio’s former visual style; it’s a profound reimagination of Tweetbot’s looks, animations, and sounds, which had gone largely unchanged since 2011; and it’s a confirmation of Tweetbot’s existing feature set with changes aimed at further enhancing the app’s functionality and making room for future additions. It’s iPhone-only, with a new version for iPad coming next.

I have been using Tweetbot 3 every day on my iPhone 5 for the past couple of months. I think that I have a good understanding of the decisions behind the app’s redesign, feature changes, and complete embrace of iOS 7’s visual and hierarchical approach to building interfaces. With version 3.0, Tweetbot, the robotic toy for your Twitter stream, eschews its mechanical roots and graduates to a modern, fluid, and fun assistant that, in the process, is still Tweetbot. I wouldn’t be able to go back to the old Tweetbot now, but I also think that getting used to the new app will take some time.

New Bot

Tweetbot 3 is different. The fact that something has changed is immediately clear from the app’s initial walkthrough: what used to be a swipeable gallery of screens is now a carousel of translucent cards that bounce and rotate as you flick them off the screen. As usual, these cards offer a handy summary of Tweetbot’s most peculiar features such as customizable tabs and tap & hold actions.

Tweetbot 3 for iPhone

Even more than first-run quick tips, though, the app’s About screen provides a concise and clever summary of Tapbots’ new focus and philosophy: the young scientist who operated a welding gun to craft the original Tweetbot is replaced by a grown-up version that, Minority Report-style, calculates the proportions of the new app icon on a floating, transparent display. The tone is more serious – futuristic, perhaps – and, if you’ll allow me a manga comparison, it almost feels like going from Dragon Ball to the GT saga.

Tweetbot 3 for iPhone

And yet, even the artwork itself doesn’t tell the whole story: the description of the app does.

The old Tweetbot used to say:

Tapbots are utility robots designed and engineered for your iPhone and iPod touch. Our applications are easy to use, focused, and lots of fun. We hope our robots will create the same love for software that we have.

Whereas this is how Tapbots describe themselves in Tweetbot 3:

We are a tiny two-person company (sometimes three) that loves creating exceptional apps for iOS and the Mac. Paul codes in Texas and Mark designs in California.

The app’s new About screen serves as a declaration of intent from Tapbots: the robots may be gone, but the love for software is still here.

Tweetbot 3 for iPhone

“Human” is a term that is often overused in the iOS 7 world, but, for Tweetbot 3, it’s absolutely fitting.

The original Tweetbot, released after much anticipation and a long beta-testing process, was deeply invested in the company’s preference for robots as software utilities: every part of Tweetbot’s interface had been designed trying to imagine how a machine would display a vertical stream of text, switch between tabs, or respond to user interaction with sound. When you swiped horizontally on a tweet, Tweetbot would play a very machine-like sound effect and push the interface to the side with a precise, snappy transition; buttons were shaped as buttons with pressed states and borders; every interaction had been modelled after the idea that Tweetbot was a robot for tweets, and you were in charge of operating it. Tweetbot was a playful appliance and it was gorgeous to look at because it was unique.

Tweetbot 3 for iPhone

By comparison, Tweetbot 3 doesn’t look so unique if your judgment of the app is limited to a first impression based on two screenshots of the main timeline. The app makes conspicuous use of white space, avatars are now circular, and icons are thinner.

Tweetbot 3 for iPhone

While the basic layout is the same, the old design has been torn away and replaced with a new airy look that puts less focus on buttons and custom UI elements. If you don’t look any closer, you’d almost be disappointed by Tweetbot’s lighter, machine-free approach. Tap on a tweet, however, and you’ll see what’s changed.

Tweetbot 3 is all about custom animations, transitions, physics effects, and layers. “We wanted to stay unique and fun”, Tweetbot developer Paul Haddad told me in an email exchange about the new app. “With the new frameworks and tools added in iOS 7 we were able to add that fun factor in by using physics and custom transitions”, he added. This is fairly standard terminology for the iOS 7-savvy user, but, in Tweetbot 3, it has a practial consequence on the user experience that is beneficial to the app.

The tweet drawer was one of the old Tweetbot’s marquee features in that it enabled users to easily access shortcuts to reply to, retweet, fave, or share a tweet. The problem with the drawer was that, because Tapbots had built a triple tap gesture to quickly act on a tweet without showing the drawer, the app had to understand whether the user had tapped just once or was about to tap more times on the screen to trigger the triple tap behavior. This resulted in a small but perceptible delay in tapping the screen and showing the drawer. It wasn’t a major issue, but it was noticeable.

Tweetbot 3 for iPhone

In Tweetbot 3, Tapbots has removed the triple tap gesture and made the tweet drawer the only way to display tweet actions in the main timeline. As a result of the removal, the app doesn’t have to think about the number of taps anymore, as it knows that if you tapped once, you want to open the drawer – which appears immediately after you tap on a tweet. And here’s where Tapbots’ new skills are revealed: when you tap, a tweet turns dark gray and the drawer folds down from “behind” the tweet and into the timeline with a delightful 3D transition that I still can’t stop looking at.

Tweetbot 3 for iPhone

While the core aspect of the tweet drawer has stayed the same, the fact that it now opens immediately after you tap is a huge improvement in my opinion. I haven’t missed the triple tap actions because the tweet drawer makes it easier to access a wider set of shortcuts; the new animation retains the old app’s idea of “pushing down” tweets below the drawer, but it also reinforces a new kind of physicality that feels less like a robot and more like an object you’re directly manipulating. It’s an abstract idea and it doesn’t come across well enough in screenshots and text descriptions, but it’s there.

Tweetbot 3’s superior single-tap recognition is also well demonstrated by the simple act of switching between tabs at the bottom of the screen: in the old Tweetbot, there was a small delay between tapping a tab and viewing its timeline; in Tweetbot 3, that delay is gone and the app changes between tabs instantly. Try the new tweet drawer and tap-switching mechanism in Tweetbot 3, go back to Tweetbot 2, and the app will feel slow and clunky. A robot, indeed.

Every part of Tweetbot has been refreshed and, in my tests, I couldn’t find a single pixel that had been ported over from the old app. From the main timeline and borderless buttons to table views (now edge-to-edge) and the status bar (white and unified with the title bar), everything in Tweetbot 3 is at the same time new and familiar.

I have been thinking deeply about this: Tweetbot 3 still works like the old Tweetbot did, but the things that have changed – they have changed for the better. The app has lost two features (that I could find) in the transition to iOS 7 ❲1❳, and, in the process of applying a new design language to it, Tapbots enhanced the fundamentals of Tweetbot to make the app faster and more fluid. It would be easy to form an opinion after five minutes of testing. For Tweetbot 3, I believe that it’s important to consider the tiniest details and every feature to understand how the new version will result in an improved experience on a daily basis.


The custom physics engine developed by Paul Haddad makes Tweetbot feel more natural and flexible. Take, for instance, the app’s new tap & hold menu: traditionally, tapping & holding a tweet or a URL would have slightly dimmed the background of the app and brought up a glossy contextual menu with buttons to, say, copy a tweet or a link to it. In Tweetbot 3, this is what happens when you tap & hold a tweet:

Tweetbot 3 for iPhone

The main view is pushed in the background and blurred, and the contextual menu comes up from the bottom with simpler white buttons and a gray Cancel button that bounces against the main menu as it fully comes into view. Overall, the animation is slightly slower than Tweetbot 2, but it feels right at home on iOS 7.

Something that always struck me as unique to the old Tweetbot was how fun it was to look at the app’s button-y look or custom pull to refresh spinner, and how that fun didn’t grow old over time. It always felt new and whimsical…until iOS 7 came around and it started feeling oddly out of place on the new OS. Tweetbot 3 feels good on iOS 7, and, more importantly, it retains the fun factor – it’s just used in other areas, and I believe with equal craftsmanship and willingness to delightfully impress and entertain the user.

In Tweetbot 2, you could tap & hold the last two items in the tab bar to show a popup menu to switch between other tabs and assign them to the bar bar. It was a sweet, fun, efficient alternative to Apple’s default tab customization UI, and it worked well with Tweetbot’s design.

Tweetbot 3 for iPhone

In Tweetbot 3, the feature is still there, and it still works in the same way, but it is animated differently: when you tap & hold a customizable tab, circular icons spring into view, tied together by Haddad’s engine that makes them bounce and stop after they’ve been revealed. With your finger still down on the tab, swipe up and down anywhere on the screen and tabs will be quickly highlighted in blue with a subtle fade in/out effect that is gorgeous to look at. The overall transition speed was slightly faster in Tweetbot 2, but once I got used to the new app’s physics and highlight effect and the fact that you can swipe anywhere on the screen to activate a tab, the old Tweetbot’s menu felt overly robotic.

Tweetbot 3’s strongest demonstration of physics, though, is in the new picture viewer. In terms of functionality, it’s unchanged from Tweetbot 2: thumbnails shown in the timeline can be tapped to enlarge a picture, which can be tapped to dismiss the preview and return to the timeline. In Tweetbot 3, however, the floating preview (which, as you can guess, blurs the content behind it) is bound by some form of gravity to the tweet it belongs to, so, if you don’t flick the picture away with enough speed, it’ll bounce back and return to the original position. Pictures can be flicked away in any direction, and they also “fly away” differently depending on how fast you throw them away with your finger. It feels like a mini-game within Tweetbot.

Tweetbot 3 for iPhone

When Rene Ritchie wrote about the gamification of the iOS 7 interface, I think that something like Tweetbot 3’s picture viewer is exactly what he meant: natural, perhaps even a bit quirky, but undeniably fun and obvious when you get it.

Tweetbot 3 for iPhone

One more thing about inline pictures: like iOS 7, Tweetbot is defined by its very own hierarchy of layers and levels of interface that are progressively shown to users as they interact with an app. If you tap & hold on a picture that has been enlarged from the timeline, you’ll see that, unlike Tweetbot 2, the first layer (timeline) will be more blurred and pushed back further than the picture that’s now also blurred and pushed back to show a contextual menu as Layer 1. It’s not something that will directly increase your productivity in Tweetbot, but it is a detail that shows how Tapbots has deeply considered their approach to iOS 7 and chosen to stack layers of the user interface on top of each other.

Given the aforementioned changes to the app’s structure and layout, it only makes sense that tabs are now independent from each other, with their respective nested levels and views no longer taking over the whole app. In practical terms, this means that every tab can open its own web view or navigate into a user’s profile without preventing you from switching to other tabs.

In the old Tweetbot, when you followed a link in a tweet, a web view would open, forcing you to either read the page and share it, or go back to the timeline. Similarly, tapping on a user’s profile would show a new set of tabs at the bottom to view all tweets from that user, mentions, faved tweets, and lists; to make things more confusing, you could also view all tweets from a user by tapping on “Tweets”, which would show a full-screen list of all tweets in reverse chronological order. The entire navigation stack has been changed in Tweetbot 3.

Now, whenever you follow a link, a web view will be opened and confined to the tab it’s been launched from. If you open a link from your timeline, you can switch to the Mentions tab and do something else; if you open a link from a DM, you can go back to the timeline and read tweets while the page is loading.

Tweetbot 3 for iPhone

This change to the app’s navigation makes for an incredibly more convenient workflow for people who, like me, deal with links every day and found it cumbersome to be forced to wait for a page to load, act on it, then close it. The “multitasking” experience inside Tweetbot is much improved because of this change and, in comparison, the old app’s way of handling web views looks silly now. For me, this has been particularly handy when receiving DMs: I get a lot of direct messages every day, and with Tweetbot 3 I’m no longer forced to close a webpage I’m reading if I have to reply to a DM immediately.

If I had to nitpick, I’d say that it’d be cool to show an indicator for an open web view in the tab bar: while the active tab is highlighted in blue and there’s the usual blue dot for new tweets, there’s no way to tell whether a tab has an open web view unless you switch to it.

For user profiles, Jardine and Haddad have simplifed and enhanced the app’s functionality with an elegant solution. A user profile now shows avatar and cover photo at the top, but, unlike Tweetbot 2, name, username, and bio are overlaid on top of the cover photo, which is blurred in the background; swipe down and the text is dimmed, revealing the cover photo. If you don’t care about this trick, you can just tap both photos to view them. But this isn’t the main enhancement I’m excited about.

At the bottom of a user profile, you’ll see that there are no standalone tabs for navigation anymore; tap Tweets, and the app navigates into a view that shows a segmented control at the top to switch between that user’s Tweets, Mentions, and Faves; while viewing these, you can freely switch back to any other tab in the app.

Tweetbot 3 for iPhone

Profiles now show Recent Photos: gathered from your own tweets and retweets, Tweetbot 3 can’t load all photos from your profile, and, in my tests, it generally displayed between 6 and 9 recent photos, but sometimes even less (a limitation that I believe is part of the Twitter API). While this is a nice addition, the fact that it’s not a full grid of all media uploads doesn’t make it much useful to me – and, worse, there is no way to view the original tweet associated with a photo to have more context. Recent Photos feels half-baked right now, and I would love to see Tapbots exploring this idea further in the future.

With Tweetbot’s new structure, the ability to load a Twitter list in the main timeline is gone from version 3.0. Lists get their own tab now, and, while I’m sure that many will miss what was one of Tweetbot’s most unique features, I believe that the trade-off for increased navigation and multitasking is worth it.

Another addition that I really like is waking up each morning to new tweets already waiting for me in Tweetbot. Thanks to iOS 7’s Background App Refresh, Tweetbot 3.0 can fetch tweets in the background while maintaining your scrolling position; launch the app, and you’ll see blue dot indicators for new tweets without having to wait for a refresh. It’s a minor feature, but it’s handy and I don’t want to live without it anymore.

Single Tweets and Compose

As I mentioned above, the swipe from left gesture has been removed, leaving room for a swipe from right that opens a tweet’s Detail view, which has been completely redesigned in Tweetbot 3.

In the new app, the Detail view is dark and it shows additional buttons to view people who faved or retweeted a specific tweet. For those who need their daily ego boost in the form of fave and retweet counters, this addition is welcome. Replies and conversations are shown above and below the tweet and the app no longer displays attachments in a separate box for tweets with pictures, adopting a beautiful inline visualization instead.❲2❳ As a result, tweets now display more information, gestures have been simplified, and inline pictures get the treatment they deserve.

Tweetbot 3 for iPhone

I’m still not sure on how I feel about the dark detail view and the gesture to open it. In Tweetbot 2, swiping to the left would quickly switch from the timeline to the Detail view with a seameless transition accompanied by a sound effect. In Tweetbot 3, as you swipe left an icon with three dots is progressively revealed next to a tweet and, if you keep swiping, the entire cell is pushed to the side by a color block, which then disappers to show the Detail view. I was a fan of the old Tweetbot’s transition, and I think that the new one feels unfinished, unnecessary, and slow. In the Detail view, there is a lot of contrast between the dark background of the tweet and the white tab bar at the bottom, something that is exacerbated by tweets that have an inline picture and therefore push buttons to the bottom of the screen. The tab bar’s design was changed in the final betas of the app, and it’s possible that, with time, Tapbots’ decision will grow on me.

An aspect of tweets with dark background that I like is how they show up when replying to someone. In Tweetbot 2, when you hit the Reply button and wanted to see the tweet you were replying to, you had to swipe down on the Compose area; in Tweetbot 3, when you hit Reply in the tweet drawer and the Compose screen comes up, the previously selected tweet (or conversation) appears immediately below the text field you’ll type into. While the tweet doesn’t appear at the exact same vertical position after the Compose transition has completed, this new UI has a nice continuity between the timeline and the Compose screen that increases the context of a Reply. Extra points to Tapbots for choosing the iOS 7 dark keyboard instead of the default light one; in my opinion (and The Doctor agrees with me ), the dark keyboard offers more contrast, key legibility, and, overall, it’s more usable than the light keyboard. The fact that it fits better with Tweetbot’s dark gray color for selected tweets also helps.

One of Tweetbot 3’s minor touches that I feel deserves its own dedicated paragraph is “syntax” highlighting in the Compose screen. Thanks to iOS 7’s new APIs for text detection and layouts, Tweetbot 3 can turn a link blue or a hashtag gray directly when composing a tweet, and not just after the fact when viewing the tweet in the timeline. Try it yourself: copy a link, create a new tweet, paste the link, and it’ll be recognized by iOS 7 and turned blue immediately; same for usernames and hashtags (try with #cleanmyke). There are some bugs with scrolling in the Compose area unfortunately ❲3❳, but, in general, highlighting bits of text recognized as special by Twitter helps creating a more consistent, discernible writing experience that’s far superior to Tweetbot 2.

The Little Things

It would be strange to have a new version of Tweetbot that doesn’t come with charming details and little touches we’re used to seeing from Tapbots. Thankfully, Tweetbot 3 retains all the capabilities that made Tweetbot a powerful Twitter client and adds some new things that, in the beta, stood out to me. As usual with my reviews, here’s a list of all the little things I noticed in no particular order of importance.

A word on the new sounds.

Besides a strong visual personality, Tweetbot has always had a prominent aural identity in the form of sound effects created by Tapbots. Tweetbot 3 replaces all of the app’s sounds with new versions that are less “mechanical” and somewhat more natural and joyful. I like them – especially the new pull to refresh one – but I’ll save my final opinion for the future as the new sound set was added in the last beta before App Store submission. Something that I have noticed is that the app no longer plays a sound when switching between tabs or tapping the back button or swiping a tweet to open the Detail view – and I’m not sure I like this change.

Human After All

“I don’t want to say we are moving away from the robot metaphor just yet. It really works best with our more utilitarian apps and so only time will tell what happens on that front. As far as Tweetbot goes, we wanted to shake things up a bit. Paul and I always talked about potentially building another Twitter client that was visually very clean and focused more on content and less on the UI. Token caps obviously killed that idea, but iOS 7 gave us a chance to pursue that idea. That’s not to say that Tweetbot 3 is a completely different app with the same name. Tweetbot 3 feels like a hugely upgraded version of Tweetbot. The functionality and soul of Tweetbot is still there and I think that’s what is most important.” – Mark Jardine

True to the About screen, Tweetbot 3 is an exceptional Twitter client and it doesn’t feel like a robot. With iOS 7, the robot metaphor and heavy interface is gone from Tweetbot, leaving Tapbots with a powerful app that’s been redesigned with color and depth in mind, augmenting animations and transitions to make the app feel unique and fun in a new way.

For me, Tweetbot’s feature set is still unparallaled and the additions that have been brought to version 3.0 make the app even faster and more reliable when it comes to loading timeline gaps, opening web views, or using the URL scheme. Tweetbot 3 is the most powerful Twitter client I have on my iPhone.

If you don’t like iOS 7, I don’t think that you’ll like the new Tweetbot. While the original Tweetbot was, in many ways, a departure from the default/Tweetie look of most Twitter clients in 2011, Tweetbot 3 is very much in line with the current design language of iOS 7. The old Tweetbot was the culmination of Tapbots’ years of experience with utility robots applied to a Twitter client; Tweetbot 3 is a new start for the company, which has to prove they can still make fantastic utilities that are easy to use and powerful, fun and packed with features.

Tweetbot 3 doesn’t come with breakthrough new functionalities, which, according to Tapbots, will follow with future updates. The app’s sharing department could use some additions (there are no new supported apps/browsers and Pocket doesn’t use the new SDK to handle user authentication) ❲4❳ and tweets that match mute filters aren’t automatically removed from the timeline after you create a filter. Tapbots wanted to get the app ready for iOS 7 first, then iterate on the product to add new features that will be made possible by iOS 7. I can understand this decision, and I have absolutely no problem in paying $2.99 again for an app that I have been using several hours each day for the past two years.

Tweetbot 3 isn’t a Twitter client that adopts Apple’s default new iOS 7 look without making its own adjustments to the interface and feature set: Tweetbot 3 is already full of subtle and more visible details that contribute to giving the app a very peculiar feel and flow. The animations and transitions that Haddad and Jardine implemented are elegant, apt, and playful; the core features that have been changed, such as web views in tabs and text highlighting in the Compose screen, make for a more flexible Tweetbot that outclasses the rigidity of Tweetbot 2. Tweetbot 3 is a better app because of its layout and design changes.

A lot will be written today about Tweetbot’s new design and Tapbots’ adherence to iOS 7’s principles of content, color, context, and clarity. Tweetbot 3 is a fantastic iOS 7 app; its new design, animations, and navigation improvements will be instrumental to Tweetbot’s future on the platform.

Tweetbot still has personality. It’s just grown up.

Tweetbot 3 Review: Human After All #archive

Tweetbot Workflow: Upload and Share Dropbox Text Files

Tweetbot workflow

In Tweetbot 3, Tapbots removed the ability to post tweets longer than 140 characters using built-in services for text upload. While I understand that it wasn’t one of Tweetbot’s most used features, its removal got me thinking: would it be possible to replicate the feature using Dropbox and plain text files in an automated iOS workflow? I came up with a solution that requires Launch Center Pro and Drafts, and I’m quite happy with it.

Short Version

This is a workflow to create, share, and tweet a Dropbox text file with Tweetbot. It requires Launch Center Pro and Drafts, both with access to your Dropbox account. It also requires Tweetbot to be installed (either version 2 or 3).


My goal was to create a single chain of actions that would let me type the name of a text file and its contents, and that would then upload it to Dropbox, make it shareable, get the public URL, and create a new tweet in Tweetbot for me. I don’t normally need to tweet more than 140 characters, but there are times when I want to, say, share a code snippet and I don’t want to jump between apps and tap 20 different buttons to do it. Once triggered in Launch Center Pro, my workflow only asks for a file name and text, removing all further user interaction until it reaches Tweetbot, where a shareable link to a Dropbox text file is displayed, ready to be tweeted.

The first piece of the workflow is a Launch Center Pro action that opens Drafts to create a new draft with a title and some text. In Launch Center Pro, two separate prompt dialogs ask for a file name and document text, which are then sent to Drafts, automatically running a Drafts action.

Tweetbot workflow

This Launch Center Pro action isn’t needed because you could just launch Drafts and type the name and text of your file there, keeping in mind to separate them with an empty line. However, Launch Center Pro makes it clear that you need to enter these two bits of information thanks to its multiple dialogs.

When Drafts receives the text, it automatically triggers an action called “New File” that’s used, as the name suggests, to create a new text file in your Dropbox account. Because it is a native Dropbox action in Drafts, we can use the app’s tags and built-in options to create the text file just like we want it: “First Line” is used for the file name, write mode is “create”, and the [[body]] tag (all text except the first line) is used in the Template field. A text file with the draft’s first line as name will be created in a specific folder in your Dropbox account; personally, I like to keep these shared files under /Apps/Drafts/Shared so I can easily review them later. Tweetbot workflow

With the file on Dropbox, it’s time to get down to business. Take a look at what the main action (called “DropShare”) looks like:

drafts://x-callback-url/create?text=[[draft]]&action={{New File}}&x-success={{launchpro://?url=tweetbot%3A%2F%2Fviticci%2Fpost%3Ftext%3D%5Bdropbox%3AApps%2FDrafts%2FShared%2F[[title]].txt%5D}}

Thats’ a lot of encoding that you don’t need to know about, but let me explain. Essentially, we’re telling Drafts to:

  1. Take the received text and make a new text file with it;
  2. Upon success, use the Launch Center Pro URL scheme to launch Tweetbot;
  3. When launching Tweetbot, mix Launch Center Pro and Drafts tags for file path and file name.

Steps 2 and 3 are the real winners here, as they rely on Launch Center Pro’s new URL scheme launcher to automate the process of fetching a file’s link from Dropbox. Perhaps taking a look at the decoded URL scheme will clarify what’s going on:


Drafts opens Launch Center Pro, which is told to open Tweetbot and prepare a new tweet that contains a link to the just-created Dropbox text file. Let’s focus on a specific part of the URL scheme:


This is Launch Center Pro’s tag for accessing a specific Dropbox file and generating a shareable URL for it. The file path is hardcoded into the URL, but the file name – which is always changing – is dynamically generated by Drafts’ [[title]] tag, which is expanded by Drafts before opening Launch Center Pro. Launch Center Pro doesn’t know where to look on its own – it just knows that it can load a file path and point to a specific file; fortunately, Drafts can tell Launch Center Pro what the name of the file is, so that a public link to it can be generated and sent to Tweetbot.

To launch Tweetbot in your account, make sure to replace “viticci” in the Drafts ation’s URL scheme with your Twitter username. Once in Tweetbot, the Compose screen will open, showing the public link to the file you just uploaded, ready to be tweeted.

If you’ve set up everything correctly, the workflow should take a few seconds to run (depending on your Internet connection) and “just work” by automatically chaining all apps and services together. It’s not perfect, but I’ve been using it for the past few weeks to generate and tweet links to text files and it’s been working well for me. If you have feedback or ideas for improvements, let me know.

Tweetbot Workflow: Upload and Share Dropbox Text Files #archive

Tweetbot 3.1 Brings Text Size Controls, Timeline Switcher, Quick Actions

Tweetbot for iPhone may have grown up, but it hasn’t forgotten about the features and design decisions that made it a powerful and popular Twitter client among iOS users for the past two years. Tweetbot 3.1, available today on the App Store, improves upon last month’s major release by bringing back some old features of Tweetbot 2.x and introducing new ones, always taking advantage of iOS 7’s design and structure in interesting ways.

Timeline Switcher

The possibility to turn the main timeline tab into a Twitter list has always been one of Tweetbot’s unique features. Here’s how I described it in my review of Tweetbot 1.0 two years ago:

Let’s say I want to temporarily switch to a timeline based on a list collecting people that tweet about RIM: I tap on the timeline button, select the list, and there my main timeline is replaced by the RIM folks. I can go back at any time, choose lists — even create new ones and add users to them thanks to Tweetbot’s full list management. Other Twitter clients in the past tried to play around with this concept of turning lists into timelines, but none of them got close to today’s implementation in Tweetbot. It’s simple, fun, and adds value to my productivity.

(I can’t remember why I used RIM as an example. I’m going to retroactively state it was a joke.)

The timeline switcher had to be cut to ship Tweetbot 3.0, but it’s back in version 3.1 with a new design that matches Tweetbot’s lighter new style. To activate the switcher, tap & hold the “Timeline” text in the title bar of the Timeline tab: a translucent popup will fall off the top of screen, quickly springing back to show you lists you can view in the timeline tab (either because you’ve created those lists or subscribed to them). Once you’re in a list, you can tap & hold again at any time to bring up the switcher and go back to the timeline. Like the old app, Tweetbot 3.1 keeps separate scrolling positions for your timeline and lists; if you’re not seeing all your lists in the popup, it’s because you have to scroll it.

I don’t use lists much, but I’m glad the switcher is back. I am subscribed to a bunch of lists and created some for myself – I tend to open an “Apple News” list every couple of days, and my “Games” one every morning. The timeline switcher makes it easier to open lists and it fits with Tweetbot 3’s design.

Text Size Controls

For the release of version 3.0, Tapbots decided to eschew in-app text size controls to embrace Dynamic Type, an iOS 7 feature that controls the size of text at a system-wide level in every app on your device that supports it. While I liked the convenience of Dynamic Type (I can set font size once and forget about it), several users didn’t like the fact that there were no options to make Tweetbot’s text look different than other iOS 7 apps. That’s the trade-off with Dynamic Type: unless a developer implements a fallback option for users who don’t like it, you’ll be stuck with having the same font size in all your apps.

With Tweetbot 3.1, you can turn off Dynamic Type and choose your favorite text size for the app. Available in the app’s Settings under Display, the new text size controls mostly mimic Apple’s default sizes but they don’t depend on it.

There’s also a handy Tweet Preview box at the top of the screen to show you what a tweet would look like with the current text size settings. There are nine size points to choose from, which should be enough for most users who don’t want Dynamic Type.

Quick Actions

I wasn’t the biggest fan of Tweetbot 3’s gesture to open a tweet’s detail view:

I’m still not sure on how I feel about the dark detail view and the gesture to open it. In Tweetbot 2, swiping to the left would quickly switch from the timeline to the Detail view with a seameless transition accompanied by a sound effect. In Tweetbot 3, as you swipe left an icon with three dots is progressively revealed next to a tweet and, if you keep swiping, the entire cell is pushed to the side by a color block, which then disappers to show the Detail view. I was a fan of the old Tweetbot’s transition, and I think that the new one feels unfinished, unnecessary, and slow.

Tapbots’ choice makes more sense now that Tweetbot comes with configurable quick actions through a right swipe that is designed after the left swipe of Tweetbot 3.0.

In the new version, you can quickly swipe a tweet to the right to reply to it. As you swipe quickly, a reply button appears on the left and the tweet cell is pushed to the right – just like the three dots and the detail view in Tweetbot 3.0. If you reply to tweets often, this is a nice time-saving addition.

A quick visit to the Settings reveals, however, an option for “short right swipe” that can be configured to quickly faving or retweeting a tweet (with inline feedback as you do so). Essentially, Tapbots has built two quick actions into a single swipe gesture: the first one, quick reply, is the default “fast” one, whereas the custom action is a deliberate option in that you have to intentionally perform a short swipe to activate it.

It’s a clever implementation: in apps like Mailbox and Dispatch, there is a certain level of awkwardness when you have to perform a swipe long enough to trigger an action that’s bound to the length of the swipe. In Tweetbot 3.1, the long swipe doesn’t need to be looked after – it’s the one you quickly perform on a tweet you want to reply to. If you want to fave or RT, there is enough distance between the activation zone for quick swipe and normal swipe to ensure a smooth experience. I didn’t like this gesture initially, so I’d suggest giving it some time.

I feel like there’s an untapped potential for quick swipes. Besides the obvious quick reply, fave, and RT shortcuts, it’d be nice to have sharing options available as quick actions – I’m thinking of stuff like Mail and Messages sharing, and perhaps integration with bookmarking services too. Tweetbot has always been about being more productive and efficient in the timeline, so more quick actions would make sense.

Other Changes

There are other minor changes in Tweetbot 3.1 worth a mention as well.

If you don’t like round avatars and want to go back to the old days, you can activate square avatars in the Settings. I don’t like them, but I guess some people will always be nostalgic.

Alongside bug fixes, conversations can now be emailed or shared through Storify again, and a “Last tweet x minutes ago” status is back under a user’s profile. In timelines, the “Retweeted by” text string has been removed, leaving room for just the icon and username in retweets.

Tweetbot 3.1 is an iterative udpate that re-introduces old features and quick actions that are useful and show potential for futher development in the future. You can get the update on the App Store.

Tweetbot 3.1 Brings Text Size Controls, Timeline Switcher, Quick Actions #archive

Tweetbot 3.2 Brings Night Theme, Account Reordering and Quick Switching

Tweetbot 3.2

After a 3.1 update that added text size controls, timeline switching options, and quick actions, Tapbots are back today with a second major update to Tweetbot for iPhone that brings a night theme, account reordering and quick switching, plus various bug fixes.

One of the most requested features since the 3.0 release, Tweetbot’s night theme has been designed to work well with the app’s layers, contextual menus, and typography that features syntax highlighting for usernames and links. The app doesn’t simply switch from white to a black background – the entire color scheme changes to show highlights in white or blue on a dark gray background, and the background itself has multiple variations of the same dark hue to indicate interaction and layers.

Tweetbot 3.2

Every small piece of the UI has been updated for the night theme – from the tapped status of buttons to red “Unfollow” buttons and the color of chat bubbles in the DM view. It’s elegant, easier on the eye, and it looks good even if you’re not reading your timeline at night.

There are three ways to activate the night theme: the first, fun one is to flick with two fingers down on the screen to turn the white theme off and enter night mode (like a light switch – and there’s an associated sound effect); to turn the default theme back on, swipe up with two fingers. If you’re not a fan of gestures, you can open the Settings and either manually pick a theme or let Tweetbot decide based on a display brightness threshold (meant for users who rely on Auto Brightness). Honestly, I’m pretty happy with the gesture and I think that the best part of the setting is the animation of the cell when you turn “Switch Automatically” on and off.

Tweetbot 3.2

In version 3.2, Tweetbot gets some welcome account-related improvements as well. You can now reorder accounts by opening the “Select an Account” view and tapping & holding to drag and reorder accounts; if you want to quickly move across accounts, you can either swipe the title bar to the right to change timelines or tap & hold an avatar in the upper left corner and then swipe to change account.

I’m glad to see that Tapbots has quickly iterated on Tweetbot and improved aspects that were reported by users after the first release. Tweetbot 3.2 is available on the App Store.

Tweetbot 3.2 Brings Night Theme, Account Reordering and Quick Switching #archive

Tweetbot 3.3 Adds Avenir Font Option, Large Thumbnails

Tweetbot, Tapbots’ Twitter client for iPhone that was relaunched in October for iOS 7, has been updated today with new display options and the possibility to remove tweets that match a filter.

For the past few months, Tapbots has been working on improvements to Tweetbot’s presentation and text size controls, adding new settings in version 3.1 and a night theme in 3.2 alongside additions to account management and reordering. In today’s update, Tweetbot gets a new font option in the Preferences to enable Avenir as the app’s primary typeface, as well as a new setting to enlarge thumbnails in the timeline. The latter makes Tweetbot more akin to the official Twitter app for iPhone in that it displays large photos (and app icon previews for iTunes links) that give a better idea of a media item inline without having to show the tweet detail view.

Just like Tweetbot for Mac, Tweetbot for iPhone can now remove tweets that match a mute filter as soon as the filter is added. Through a dialog box, the app will offer to remove matching tweets that have already been loaded in the timeline. The option is particularly welcome if you, for instance, wake up in the morning and realize you don’t want to scroll through hundreds of tweets about an event that happened overnight.

Tweetbot 3.3 further refines Tapbots’ vision for Tweetbot 3 on the iPhone, and it’s available now on the App Store.

Tweetbot 3.3 Adds Avenir Font Option, Large Thumbnails #archive

Tweetbot for Mac Updated with Large Thumbnails Option, Three-Finger Gesture Fix

Tweetbot for Mac, Tapbots’ desktop version of its popular Twitter client, was updated last night with support for a new large thumbnail option in the timeline, a refreshed design of inline image previews, and a fix for three-finger gestures.

Following Tweetbot 3.3 for iPhone, Tweetbot 1.5 for Mac adds large thumbnails as an option in the app’s Preferences. Large thumbnails retain the capability of being right-clicked to access a contextual menu, and they bring a slightly redesigned preview in the tweet detail view as well. In my tests, loading large thumbnails with proper resolution required deleting Tweetbot’s account cache under Preferences > Account.

For users who enabled three-finger navigation gestures on their Macs, Tweetbot will now respect that setting and allow to swipe with three fingers to navigate back and forth between tweets, timelines, and other views of the app.

Tweetbot for Mac is available at $19.99 on the Mac App Store. You can read our original review here.

Tweetbot for Mac Updated with Large Thumbnails Option, Three-Finger Gesture Fix #archive

Tweetbot 3.4 Adds Support for Multiple Twitter Images

Tweetbot 3.4, released today on the App Store, adds support for viewing and posting multiple Twitter images, a play icon for Instagram video thumbnails, and enhancements to tweet detail views.

Twitter rolled out the ability to post multiple images in a tweet in March, promising that the feature would also be available to third-party developers.

In Tweetbot 3.4, multiple images can be viewed by swiping on a tweet that contains multiple attachments in the detail view as well as the full-screen image preview. When composing tweet, you can attach multiple images (up to four) simply by adding them to a tweet, and they will show up as a stack of photos in the compose box. You can tap the stack to reveal all the photos you’re including in a tweet, tapping on a single one to get a bigger preview and a remove button. The implementation is easy to use and well done; if I had to nitpick, I’d say that it would be nice to select four images from the image library at once, without having to perform the action four times.

Until Twitter enables the feature, however, multiple photos won’t show up in search or a streaming timeline – which is the reason why you won’t see an indicator for multiple photos until you open an individual tweet.

A minor change that I like is the possibility of viewing corresponding tweets for recent images from a Twitter user. On a user’s profile view, tap an image, and Tweetbot will show the tweet that contained that photo, allowing you to reopen the tweet. This was one of the points that I brought up in my original review of Tweetbot 3, and I’m glad that it’s been added.

Similarly, a longstanding annoyance of Tweetbot’s media previews has been fixed, as now you’ll no longer accidentally tap on Instagram thumbnails that turn out to be videos thanks to a proper video indicator.

Tweetbot 3.4 is available on the App Store.

Tweetbot 3.4 Adds Support for Multiple Twitter Images #archive

Tweetbot for Mac Updated with Support for Multiple Twitter Images

Following an update released on iOS last month, Tweetbot for Mac has been updated to version 1.6 today, adding support for multiple images shared through Twitter’s sharing service. The update also includes a “Play” button for Instagram thumbnails and various bug fixes.

Support for multiple Twitter images mirrors the implementation of the iPhone app, with inline previews for tweets that contain multiple photos and the ability to share multiple images at once by attaching them (up to four) to the compose box. Tweets with multiple images show a carousel in their detail views, and, on OS X, you can click on the image indicators to move across pictures manually. Both on iOS and OS X, Tweetbot still doesn’t support Twitter’s animated GIFs, introduced by the company in June.

Tweetbot for Mac 1.6 is available on the Mac App Store.

Tweetbot for Mac Updated with Support for Multiple Twitter Images #archive

Twitter Clients in 2014: An Exploration of Tweetbot, Twitterrific, and Twitter for iOS

Twitter clients used to be a UI design playground. The growing popularity of Twitter, an open API, and the rapid takeoff of the App Store contributed to the creation of a defining genre of mobile software in 2009 and 2010: the Twitter client for iPhone. In the golden days of third-party Twitter apps, a good new client would come out at least every month, with several developers pitching their own ideas for what was meant to be a mobile-first communication network.

iPhone apps and the Twitter API were a perfect match five years ago. Twitter made sense as a social network in your pocket; Apple’s iPhone OS and newly launched App Store made that a reality. As a user, there was little friction in trying multiple Twitter clients: because Twitter data was always “in the cloud”, changing clients was like choosing a different outfit each day. The core Twitter experience would always be the same; the design and preferences around it would differ from client to client.

That was a time of astonishing innovation in mobile app design. Twitterrific, the first native Twitter client for iPhone, effectively invented key aspects of modern Twitter interaction and terminology; Tweetie, perhaps the most popular Twitter client of its time, pioneered touch interaction paradigms such as pull to refresh. And then there were Weet, Osfoora, Birdfeed, Twittelator, Echofon, Tweetings, TweetList, and dozens of other apps that helped refine and redefine the idea of what Twitter on an iPhone could be.

Good Twitter clients weren’t easy to create, but the challenge they packed was intriguing and flexible. As a Twitter developer, you needed to design an app that would primarily display textual information (this was before Twitter photos ), handle hyperlinks, manage interactions between users, account for different network conditions, possibly integrate with third-party sharing services years before iOS 8, and, most of all, be fast, responsive, and easy to use. The constraints of Twitter clients in 2009/2010 freed many from the struggle of coming up with an original app idea.

If you’re using an iOS app ❲1❳ today, there’s a good chance some of its features or design ideas first appeared in a Twitter client five years ago.

We know how the story moved forward. In April 2010, Twitter realized that they needed an official iOS presence on the App Store, so they bought Loren Brichter’s Tweetie, relaunched it as Twitter for iPhone, and Brichter released the ( unsurprisingly genius ) Twitter for iPad.❲2❳ For a while, it looked like Tweetie would live on, but then Twitter started adding questionable features to it, and it became clear that the third-party Twitter client would be persona non grata on the App Store.

Over the years, there have been countless examples of Twitter prioritizing their own app and a closed ecosystem approach over third-party developers and improvements to the API. From the infamous quadrant and token limits to the display guidelines and constant reticence about bringing new features to the API, Twitter has been nebulous in providing an official stance on third-party clients after the Tweetie acquisition, but the subtext of their announcements has always been fairly clear to everyone in the third-party scene. Twitter wanted people to use their official app, not a third-party client.

Before the Twitter acquisition in 2010, I was using a bunch of third-party clients but I had eventually elected Tweetie as my preferred one. After Brichter’s app turned into Twitter for iPhone, I stuck to it for a while, but then I was allured by Tapbots’ promise of a Twitter client for power users. As I wrote in my original review, Tweetbot had everything I was looking for, and that was before Tapbots would bring fantastic new features that made it even more versatile.

I loved Tweetbot in a way that I didn’t love any other app for iOS. I have extremely vivid and personal memories of getting the first beta builds of Tweetbot for iPhone and iPad, and, until Editorial came around, Tweetbot was the app I spent most of my days in. From 2011 until earlier this year, I used Tweetbot every working hour of every day. Tweetbot was Twitter for me.

That’s not to say that I stopped checking in on the state of other Twitter clients for iOS, but I certainly became less curious because I had found the one. I’ve primarily continued to keep an eye on Twitterrific, but I largely ignored the third-party space for two years. Last year, the launch of iOS 7 motivated me to look for new Twitter clients again and I stumbled across new versions of TweetLogix, Echofon, and Tweet7, but my affection for Tweetbot and the fact that the majority of my Internet friends were using Tapbots’ app convinced me that I didn’t have to look for anything else.

I like to think that I’m naturally curious, but, for my Twitter client of choice, I had become complacent and fixated on the belief that the official Twitter app could never offer anything valuable again. Earlier this year, an idea started poking me in the back of my mind: if the rest of the world is using the Twitter app for iOS, shouldn’t I give it another chance?

This realization came from a simple occasion: I was having dinner out with some friends, and I noticed that they were using the Twitter app for iPhone to read news and follow their favorite celebrities. Tweetbot was Twitter for me and I was certain that I could never switch to another app, but they seemed to be just fine with the official app and its lack of streaming, mute filters, quick actions, and all those other great details Tweetbot had. “They’re not power users”, I thought, and that settled it.

Still. For someone who likes to think he’s curious and writes about apps for a living, my unwillingness to at least try the app from the service I use every day was remarkable in its shortsightedness. Twitter had changed since 2011, and it wasn’t meant for power users. The rest of the world was using Twitter through the official apps and I thought that I knew better than anyone else. So, a fun experiment began:

I started using the official Twitter client as my main Twitter app on my iPhone and iPad.

For the past six months, I’ve been reevaluating my entire Twitter experience based on the apps I use to read tweets and interact with people. The idea made a lot more sense once I stepped out of my preconceptions: I wanted to understand what 2014 Twitter was like and if that meant sacrificing my nerd cred and use a Muggle ’s Twitter app, so be it. But at the same time, I’ve gone back and forth between Twitter and third-party clients, primarily out of habit, but also because they still offer powerful features and design details that I appreciate.

I didn’t want to focus on the history of Twitter clients, my thoughts on Twitter’s policies, or every single Twitter app currently available for iOS 8. I also couldn’t compare every single feature or design decision for every possible scenario a Twitter client could be used in.

Instead, I attempted to address my curiosity from a utilitarian standpoint. Given the three most popular Twitter apps for iOS (Twitter, Tweetbot, and Twitterrific), I wanted to slowly evaluate their features for my use case. To do this, I assembled a list of features I need a Twitter client to be capable of handling and I started taking notes every time I switched between clients. I’ve been doing this since early June.

I’ve spent weeks comparing features and changing apps to understand the kind of experience they want to promote. But implementation details and design differences aside, I also kept wondering the same question: was the real Twitter different from the third-party clients I used for three years?

What’s 2014 Twitter like on iOS?

Table of Contents


**Update : Clarified that Tweetbot’s web view has a Readability mode and its double tap gesture on tab bar icons for timelines can scroll to the last read tweet if possible. Clarified that Twitterrific can load favorites and mentions on other people’s profiles too.

The apps tested for this article were the latest versions of Twitter, Twitterrific, and Tweetbot 3 for iPhone.

I only considered Tapbots’ iPhone app due to the lack of Tweetbot 3 for iPad. Both Twitter and Twitterrific (Universal apps) were tested in their iPhone and iPad versions, with design and feature differences noted when appropriate.

You can click (or tap) images to get a full-size version. You can link to any specific section using the Table of Contents above.

This is not a feature-by-feature comparison. If you can’t find a feature you care about in this article, it’s not because I don’t think it’s important. Rather, it means that I don’t rely on that feature and I’m not knowledegeable about it enough to cover it (this policy applies to all MacStories reviews ).

Please also note that I approached this with the idea that Twitter is not evil because it’s trying to make money with ads. If you’re sure you won’t be able to use any Twitter client with ads in the timeline, this article won’t convince you of the contrary (nor does it want to). The Twitter app has ads.

And finally, I’d like to thank Silvia, Myke, Stephen, and Graham for their notes and feedback on the article. Their patience is always immensely appreciated.

That said, let’s dive in.

Loading Timeline Gaps & Tweet Marker Sync

I’m a Twitter completionist. Because I’ve always used the service to discover interesting new apps and links, I’ve developed a habit of trying not to miss a single tweet that is shared or retweeted in my timeline, with the only exception for the weekends.

Particularly after launching better linked posts on the site and starting our MacStories Weekly newsletter with a dedicated Links section, discovering stuff on the Internet has become essential to my livelihood, and Twitter is the best (and most diverse) service for this. I know that I haven’t missed cool apps, links, and news thanks to my dedication to reading my entire timeline every day, and for this reason, in spite of strong evidence suggesting that Twitter doesn’t intend timelines to be consumed this way, I won’t change how I read Twitter.

This behavior makes timeline gaps and timeline sync one of the most prominent aspects I have to consider in a Twitter client. I want to be able to wake up in the morning and start reading my timeline from where I left it the night before; and, I want to know that I can close Twitter for a couple of hours in the afternoon without losing my place in a stream of tweets. More importantly, whenever a timeline gap occurs ❲3❳ I need the ability to load tweets without making the timeline scroll and lose my position.

Unfortunately, the official Twitter app doesn’t support sync and leaves much to be desired for timeline gaps.

The app is capable of detecting timeline gaps ❲4❳, but it can keep your position (load tweets above or below) in the timeline only if you tap “Load more Tweets” when the gap is close to the top or bottom of the stream. It’s not clear that Twitter for iOS supports this (there’s no visual indication like in Tweetbot), and, sometimes, the app still scrolls the timeline upon loading tweets from a gap.

This means that you may end up scrolling back and forth in your timeline if you want to keep reading Twitter exactly where you left off, which can be a considerable waste of time when you’re a completionist and follow >1000 accounts. The lack of sync makes everything worse as timeline position isn’t shared across devices.

In practice, the Twitter app results in several minutes I spend scrolling and trying to find the last tweet I saw when I closed the app. Every morning and whenever I leave the app for a couple of hours, Twitter either completely reloads the timeline (pushing me to top to see the latest tweets) or inserts a timeline gap that occasionally fails to load new tweets above my position.

Combine this with the app’s tendency to not restore its state when it’s launched, and it’s easy to understand that Twitter doesn’t care about treating its timeline as a stream of tweets you want to read in its entirety from oldest to newest. In spite of timeline gaps, Twitter seems to be all about the latest tweets and providing you with fresh content, which can be tedious for a completionist – a problem that is common to modern social apps such as Facebook and Instagram as well.

Twitterrific fares better in this comparison, but I find the best implementation to be Tweetbot’s. Both apps support timeline gap detection and both allow you to sync your timeline position with iCloud and Tweet Marker, but Tweetbot has been faster and more reliable in my tests.

The concept of timeline sync between Twitter clients across multiple devices was popularized by Tweet Marker, a service launched by Manton Reece in 2011 (first teased as Tweetmarks ) and that is embedded in dozens of clients for iOS and OS X. Tied to your Twitter account, Tweet Marker offers a mostly invisible, volatile bookmark that saves your position in the timeline every time you use an app that integrates with the service. This allows you to, say, stop reading tweets from 2 hours ago in Tweetbot on the iPhone and pick up in the same spot in Twitterrific for iPad without having to scroll to find the last tweet you saw. The implementation varies across apps and it’s dependent on how developers handle timeline gap detection and scrolling.

In Twitterrific, you can choose to show the visual Tweet Marker indicator and automatically scroll to it. When the same set of tweets is loaded across two different clients, Twitterrific is usually able to quickly take you to the last tweet you were at when you closed another Tweet Marker-enabled app. If you keep two apps open at the same time, Tweet Marker sync tends to be flawless in Twitterrific.

In my experience, Twitterrific loses position in the timeline when it has to deal with tweets that haven’t been loaded yet and that require loading a timeline gap. Twitterrific with Tweet Marker sync works well with recent tweets (e.g. You left home thirty minutes ago and want to keep reading tweets now that you’re at the grocery store), but it doesn’t work well when there are hours of tweets between the most recent tweet in your timeline and your last position hundreds of tweets ago.

Tweetbot has the most solid implementation of timeline gap loading and Tweet Marker sync. Tapbots’ app rarely fails to load your last position when you launch it and it’ll always try to load as many tweets as possible (as allowed by the API) between your position and recent tweets above a timeline gap. Tweetbot shows a visual Tweet Marker indicator, always scrolls to the last tweet saved by Tweet Marker, and can keep position for the Mentions tab, too.

What’s great about Tweetbot is that beyond stable Tweet Marker sync and handling of timeline gaps, it also clearly indicates how to load more tweets above or below a gap in the timeline. When I wake up in the morning and I want to catch up on all the tweets I missed overnight, I can let the timeline gap turn into tweets above my current position so the full stream is loaded and I can keep reading without scrolling back to older tweets. Tweetbot appears to be designed with an eye for timeline completionists, and it has been this way since its early adoption of Tweet Marker.

Both Twitterrific and Tweetbot come with a second option for timeline sync – iCloud. I, however, have always preferred Tweet Marker for two reasons: I never had issues with Tweet Marker (unlike my iCloud account), and it works across multiple apps from different developers. So while iCloud adds the benefit of marking direct messages as read in Tweetbot, it doesn’t sync my position between Tweetbot and Twitterrific, which Tweet Marker handles elegantly.

Web Views

I spend a considerable amount of time discovering links on Twitter and opening webpages to see what they’re about. For this reason, being able to effortlessly switch between web views and the timeline as well as the ability to quickly share links to other apps are valuable aspects in my Twitter workflow.

The Twitter app is, again, a disappointment from this standpoint. Links in Twitter open in a modal web view that takes over the entire app, with the title of the webpage displayed in the title bar. You can tweet a link (the only instance where the web view will be superseded by a UI element of the app), copy it, mail it, send it to a read later service, or open it in Safari; you can’t share it natively with extensions because, for reasons unknown, Twitter doesn’t support the native iOS 8 share sheet.

I cringe every time I have to open a web view in the Twitter app because it means that a webpage needs my full attention while it’s loading – I can’t switch to another part of my timeline, and I can’t dismiss the web view but keep it open in the background. The lack of share sheets only exacerbates my distaste for Twitter’s web view: I can’t easily save links to extensions when I’m using Twitter, which slows me down.

The only nice touch of Twitter’s web view is that it displays the full URL of a webpage in the title bar under the webpage’s title.❲5❳ Twitter also displays a lock icon for HTTPS connections, which is a welcome plus.

Web views are much better in Twitterrific: they’re still modal, but Twitterrific supports a readability mode for webpages (either Instapaper or Readability) and lets you share URLs using the iOS 8 share sheet. Twitterrific doesn’t display webpage URLs and titles simultaneously (it only shows the URL while a webpage is loading) and it doesn’t come with any special icon for HTTPS, but it adds a dedicated 1Password shortcut to quickly fill logins with the 1Password extension (which I never used personally for links in tweets).

Support for share sheets in web views makes processing links great in Twitterrific for iPad: once you get used to the power and convenience of extensions, it’s hard to use the custom sharing menu of the Twitter app, unreasonably limited to options Twitter decided for its users and that don’t make Twitter a good iOS 8 citizen.

Unfortunately, Twitterrific suffers from the same issue of other apps that implement extensions: the system can be flaky. Twitterrific displays action extensions for webpages that are also supported by Safari, but only Safari returns the full DOM of a webpage, which makes extensions such as ImageDrain and Stacks useless in Twitterrific. This isn’t Twitterrific’s fault – just like I can’t blame the app for messing up the order of extensions if the share sheet is modified with drag & drop.

The way Tweetbot handles opening links from any view of the app is my favorite. As I mentioned in my original review of Tweetbot 3 last year, Tapbots built a web view system that lets you open a link without the in-app browser taking over the entire app. Each web view is modal to the view it was activated from: if you open a link from the timeline view, the timeline will turn into a web view, but you’ll still be able to switch to other sections such as Mentions or Favorites.

This design choice frees you from the pressure of having to open a link knowing that you won’t be able to use the app in any other way while a webpage is shown, and it also lets you open multiple web views relative to their originating sections – you can open a link from the Timeline and another one separately in Search, for example. This is great if you want to multitask with web views in Tweetbot, and it makes me wish that more apps – not just Twitter clients – would be inspired by it.

Tweetbot also supports extensions with the same limitations of share sheets from Twitterrific. The system mostly works – I smile every time I can easily save a link to Todoist or a tweet to Notebox without leaving the app I’m using – but extensions can occasionally fail.

In switching between these three clients for the past months, I’ve noticed that I miss Tweetbot’s non-modal web views but I prefer the iPad to go through favorites I want to turn into todos or notes, and thus Twitterrific. The Twitter app has a lot to learn from The Iconfactory and Tapbots when it comes to web views, but it makes up for those deficiencies at the very starting point: previews for links.

Cards and Previewing Tweets

Twitter offers a feature called Twitter Cards that enable you, as a user, to preview content without leaving the Twitter timeline for a web view. There are different types of cards: from the popular Summary and Gallery to the more peculiar Lead Generation and Audio Player cards, the official Twitter apps support a wide range of interactive media previews that aren’t made available to third-party clients via API.

I suspect that most Twitterrific and Tweetbot users who never used the Twitter app for extended periods of time largely ignore the existence of Twitter Cards – I assume so because I did that. Since I started using Twitter on iOS, I became fascinated with the concept and realization of cards – so much that MacStories’ tweets support the Summary card and readers can sign up to our Weekly newsletter directly from Twitter.

I first wrote about cards on MacStories when Twitter launched audio cards for SoundCloud and iTunes:

Besides the obvious photos, galleries, and aforementioned audio cards, there are several types of cards that get expanded or are interactive in the Twitter apps for iOS. In the months I’ve spent using Twitter for iPhone and iPad, I’ve come to expect articles to reveal Summary Cards (we support them with MacStories links) because they often tell me whether a link is worth opening or not just by looking at their preview. I find summary cards for web articles to offer more information and to be more respectful of my time (and cellular data).

In short, Twitter Cards turn tweets into rich previews that are easy to understand without visiting a webpage. Often, these previews embed relevant media directly in the timeline, so you can view images/press buttons without even opening a tweet’s detail view.

I’ve become a fan of Twitter Cards because they help me save time and find more cool links. Sometimes, the text that accompanies a link doesn’t really sell the article: by tapping the tweet, I can see if there’s a Summary card and take a look at the first image of an article, perhaps a brief description too, and decide whether the link may actually be worth opening or not. I was able to reevaluate dozens of links that I then used for MacStories or MacStories Weekly thanks to the Summary card. Same deal with YouTube videos: YouTube supports the Player card, which gives you a tappable video thumbnail and a description of the video in the tweet detail view.

Most cards are deep-linked to their official apps, meaning that content can also be viewed directly in a native app if it’s installed on your device. YouTube videos can be played back in the YouTube app, Spotify links can be opened in Spotify, Kickstarter projects can be displayed in the official Kickstarter app, and so forth. This is optional – you have to tap a dedicated “app button” in the tweet detail view to beam content to its associated app, and it’s a great experience if you prefer native apps to web views. If you don’t have the app installed, Twitter will let you download it from the App Store using SKStoreProductViewController, which opens an App Store panel that doesn’t take you away from the app.❲6❳

Even more impressive is when cards are more than thumbnail previews and bring interactive content to the Twitter timeline. Thumbnails for Kickstarter links can be tapped and a player for a project video will open immediately; iTunes Movie Trailers thumbnails also turn into a video player inside the Twitter app ( Star Wars proof ); SoundCloud links feature a special Audio Player card that turns into a persistent mini-player.

Cards are a smart move: they don’t compromise the 140-character nature of tweets, but instead they use web content to offer previews with deep ties to native apps that, in my opinion, make a lot of sense for an information network on a mobile device. I want to be able to open YouTube videos in the YouTube app and of course Kickstarter links should offer an option to easily switch to the Kickstarter app that already has all my credentials and preferences.

In daily usage, Summary Cards are the ones I see and use the most, and I’ve grown used to being able to preview articles before I tap them: it’s a great way to avoid clickbait and other sensationalistic garbage. Unlike other cards, web summaries aren’t embedded directly in the timeline – you’ll need to tap tweets to see them.

Cards work in the opposite direction of traditional clients: instead of forcing you to tap a link, they bring a native snippet of the web to you.

But there’s a problem: supporting Twitter Cards is entirely up to the publisher/content owner, and for this reason not every link automatically gets a rich visual preview on Twitter. While popular blogs and media services tend to support Twitter Cards nowadays, there’s still a vast sea of independent publishers who have no idea what the benefit of a card could be, or, really, what a Twitter Card is. When links aren’t supported by a card in the timeline, Twitter falls back to looking like Tweetie and any other client: a tweet, and a blue hyperlink.❲7❳

I also want to briefly mention the unusual and powerful Lead Generation Card that we’re using to handle signups to our MacStories Weekly newsletter through Twitter. Thanks to integration with MailKimp, Twitter lets you build cards for your newsletter that display a description and signup button alongside a tweet in the official Twitter app. To sign up, Twitter uses your configured email address: tap a button, and you’re signed up. No need to open a web view (although you can), no need to type your email address. This card type also extends to buy products from cards (which I haven’t tried) and other services that turn Twitter users into customers.

As a user, I’m a fan of the idea, although it still feels strange to be able to act on tweets and not just “consume” them. As a website owner, I can say that Twitter signups doubled our newsletter subscribers overnight since we tested them, which has been a positive experience.

Cards aside, Twitter has long supported timeline previews for photos, a feature that was expanded in the past year to include multiple photos and animated GIFs. I was initially put off by the former, but I’ve learned to appreciate the ability to include multiple attachments in uploads, and I’ve started to think of pictures as separate entities from the limited character space of tweets.

Native GIFs are welcome: GIFs I have in my iOS library can be uploaded through the Twitter app, but the service encodes them to video instead of preserving the original GIF format, which I’m not a fan of because I can’t redownload them. Still, they look like GIFs in the Twitter timeline, which should be okay for most people.

The Twitter app disappoints with direct URLs to images or videos stored elsewhere. For a long time, Tweetbot and Twitterrific have been able to turn image and video URLs into inline previews – a nice touch if you want to link to a GIF stored on your own server /S3 bucket or simply link to an image from someone else’s website. This is the epitome of a third-party client feature: it’s the right thing to do, but Twitter likely wants to encourage uploads to its own photo service, so they won’t support direct links to images or videos with native previews.

A great touch of the official Twitter app is that playing videos (whether they’re previews in the timeline or videos embedded in a web view) doesn’t pause audio playback that may be happening in another app. Instead, Twitter will simply lower the volume of existing audio playback in the background and play a video you’ve tapped alongside it.

I come across this difference on a daily basis: I always have music or podcasts playing on my iPad when I’m working, and I don’t want them to pause because I chose to view a Vine or YouTube video in Twitter. This will be strange the first time you’ll see it in action, but, at least for me, it absolutely started making sense after a couple of days and I now wish that iOS had an option to play multiple media items at the same time.

Twitter Cards aren’t available to third-party clients over the API, which has forced Tweetbot and Twitterrific to come up with their own custom integrations to display tweet previews for web content. The result is that the timeline shown in these two clients will look different and out of place after you get used to the richness of previews in the Twitter app.

For Tweetbot, Tapbots didn’t build any sort of visual preview for article links, which are shared and diplayed as regular hyperlinks in the app. Tweetbot has proper support for Twitter photos (both for tweets containing single and multiple photos) and it can load and show an inline preview for any URL that points directly to an image stored elsewhere. This is useful if you want to tweet GIFs using links fetched from services like Giphy – they will be visualized inline by Tweetbot, which comes in handy when you don’t want to share a native GIF through the official Twitter app (Tweetbot can’t upload GIFs to Twitter with the API).

Notwithstanding its API limitations, Tweetbot provides decent support for image and video previews. The app shows thumbnails for YouTube, Vine, and Instagram videos, which are differentiated from image thumbnails by a Play button; while YouTube thumbnails will take you to a YouTube web view, Vine and Instagram videos will play in a popup over the timeline. The same video player is also used for native Twitter GIFs, which are always transcoded to video by the service.

Tweetbot shows inline previews for Instagram ❲8❳, Droplr, CloudApp, Flickr,, Mobypicture, and yfrog images. Tweetbot can’t support previews for images shared in Direct Messages, and it can’t preview native Twitter videos (such as this one ) either. The former is a particularly annoying limitation, as tapping an image URL shared in a DM will open a Twitter web view that will require authentication.

One of my favorite touches of Tweetbot is its ability to preview iTunes content inline, which I appreciate when it comes to iTunes links for apps.

Twitterrific, like Tweetbot, can’t support Twitter Cards and doesn’t have any inline previews for web links. Twitterrific shows previews for native Twitter photos, but only individual ones; Twitterrific, in fact, still hasn’t been updated to support multiple Twitter photos, so tweets containing more than one photo will only show the first one in Twitterrific. This is a major issue if you want to make sure you always see all photos attached to a tweet. Twitterrific can’t show native Twitter GIFs either.

Twitterrific displays inline previews for Droplr, CloudApp, Instagram, and Flickr links, but tapping their thumbnails (which can be set to small or large) will open a webpage to view the full image – it won’t load the image in a floating popup (as is the case with Twitter photos). Twitterrific can, however, load direct image URLs without opening a web view, which also shows a progress bar on top of the timeline.

Thanks to its integrated previews and iTunes support, I prefer Tweetbot to Twitterrific for previews of images and videos uploaded to third-party services.

The evolution of Twitter from quick status sharing service to an information network that spans text, links, and media has left third-party clients in the cold for Cards and the photo features the service has been rolling out in the past year. Tweetbot and Twitterrific – primarily due to API limitations but also because of their own implementations – largely treat Twitter timelines as streams of text with the occasional photo or GIF.

In the months I’ve spent using the Twitter app, I’ve come to expect my Twitter client to support multiple photos, native GIFs, summaries for web articles, and other static or interactive previews with Cards. I want to be able to listen to SoundCloud snippets in the timeline with a mini player, and I appreciate that Twitter gives me the tools to let people subscribe to my newsletter easily and securely.

Twitter is inconsistent in its implementation of Cards and previews across platforms. The iPhone app is the company’s most supported and frequently updated mobile client, always receiving the latest design updates and feature additions. On the iPad, only some card types are supported, while others are inexplicably broken.

In practical usage, I’m faster at discerning interesting links in the Twitter app because of its support for Summary Cards. The convenience of being able to see a quick preview of an article allows me to decide whether a link deserves my attention before tapping it. Selecting a tweet to see a summary is still faster than switching back and forth between the timeline and a web view. My main issue is that Twitter Cards aren’t supported by a few websites I read frequently; I wish more publishers added Cards integration to their content for Twitter users.


Twitter doesn’t support native iOS 8 share sheets; Twitterrific and Tweetbot do. I don’t understand Twitter’s decision.

As I wrote last month:

I don’t understand why, two months after the release of iOS 8, the official Twitter app for iOS doesn’t implement the system share sheet for action and share extensions. There is no technical hurdle preventing Twitter from adding their own custom buttons to a share sheet or coming up with ways to show both custom and native share sheets. If the decision is political because Twitter doesn’t want to allow users to easily share Twitter content to external services, then it’s a stupid one, likely driven by an absurd idea that “user lock-in” is good for “engagement” and other buzzwords possibly made up by the same person in charge of the strategy statatement (but isn’t a share sheet all about connecting people to their world and other brands after all? Isn’t a share sheet “information sharing”? This is why I’m not a CFO, I guess). If a share sheet is considered dangerous by Twitter, then I guess that Twitter has bigger problems to worry about. Thankfully, third-party Twitter clients are still around to be good iOS citizens.

The way I see it, it makes no sense for Twitter to withhold support for the native iOS share sheet when they already have a few custom options that could be supplanted by better, official, and native extensions to let users share tweets and links to more services. If the decision is political, it’s a stupid one; if the reason is that this isn’t high on Twitter’s priority list, then their iOS team should know better.

Tweetbot and Twitterrific let you share tweets and links from the timeline and web views via extensions, which is useful. The entire extension framework in iOS 8 is still buggy and prone to presenting errors and it occasionally crashes, but there’s nothing Tapbots and The Iconfactory can do about it. Developers need better tools to debug extensions, filter them by type, and disable them when necessary, so hopefully Apple will keep improving the system over time.

Curiously enough, neither Twitterrific nor Tweetbot offer a share extension to send tweets using their app interfaces from anywhere on iOS. It’s a strange omission considering that both apps were quick to embrace share sheets for getting links out of their respective apps.

I’ve been using Twitterrific to save links through extensions because it’s available on the iPad and it lets me go through my Favorite tweets (I give a lot of faves every day) and send them to other apps easily. I loved the ability to merge links to multiple tweets with Notebox, and that wouldn’t have been possible without Twitterrific for iPad, updated for iOS 8. If you only care about Twitter clients on your iPhone, support for extensions in Tweetbot and Twitterrific is mostly the same – Twitterrific may get a slight edge over Tweetbot because it lets you save individual DMs through extensions.

Twitter should really add support for share sheets to its iOS app. The reliance on old and custom sharing options is inexcusable and it slows down the user experience.


Note: The following section is technical and boring if you’re not into gestures. I decided to include it for the sake of research and to mention a few smaller implementation details. If you’re not interested, you can skip to the next section by clicking here.

Ever since I began using Tweetie in my iPhone in 2009, I’ve grown used to interacting with my timeline using gestures. Long presses, swipes, double taps, quick flicks – iOS has provided a great opportunity for developers to explore how multitouch can simplify the act of browsing your timeline and hide functionality until you need it.

In using Tweetbot, Twitterrific, and Twitter for iOS over the past months, I’ve collected how these three apps implement gestures differently and the trade-offs involved with enabling new iOS features and interaction patterns.

Tap & Hold


On the iPad, you can tap & hold on a tweet you sent to:

The iPhone app has the same options, but it adds a shortcut to share a tweet via DM.

You can also tap & hold tweets sent by others on the iPad to:

The iPhone adds, again, Share via Direct Message but presents the other options in a different order. It’s not clear why Twitter isn’t applying some consistency to this menu, as it makes things slower when switching across devices.

You can also tap & hold links directly in the timeline of Twitter for iOS, and, in this case, the options are the same between the iPhone and iPad app:

Tap & hold is supported for user avatars as well, showing integration with Apple’s Contacts app:

In the same vein, you can tap & hold usernames in tweets, but only from a tweet’s detail view because usernames aren’t directly tappable in timeline. When you do, you’ll get these options:

And, of course, you can tap & hold photos to:

In addition to timeline tap & hold shortcuts, you can long-press the Me tab to show the account switcher, both on the iPhone and iPad.

The last tap & hold shortcut is one of my favorite ones: you can tap & hold the compose button (top right) to bring up a Drafts screen so you can modify a saved draft and send it as a tweet.


Twitterrific and Tweetbot are more consistent with the rest of the system in that they have now replaced their former custom menus with share sheets for the most part.

In Twitterrific, long-tapping a tweet shows the share sheet with extensions, passing the Twitter URL of a tweet to it. The share sheet contains custom buttons to copy a link to the tweet, open it in Safari, tweet its link again, and translate it.

This idea of using the share sheet for every tap & hold gesture is carried out through the entire app with slightly different results:

Furthermore, Twitterrific lets you tap & hold tabs to customize them, and you can also long-tap your profile picture in the top left to bring up the account switcher. In the timeline, you can tap & hold the retweet button (tap tweet first) to open the compose screen in old-style RT mode.


Tapbots’ take on tap & hold gestures is similar to The Iconfactory’s, but Tweetbot still has a few custom panels that don’t use the iOS 8 share sheet.

The share sheet is used in the following places in the app:

On the other hand, Tweetbot’s tap & hold gestures use custom panels for:

In addition to share sheets and panels, you can tap & hold the gear icon in a tweet’s detail view to post a link to the tweet and long-tap your avatar or username to view your profile on Favstar. Tweetbot lets you tap & hold tabs to customize them and, like the Twitter app, long-pressing the compose button opens your existing drafts.

As I noted when version 3.5 was released, adopting the system share sheet forced Tapbots to drop the ability to view full URLs by holding them.

Double taps

Double taps don’t seem to be popular in Twitter clients. The only use I’ve found was in Tweetbot, which lets you double tap in four different places:


Like double taps, swipe gestures aren’t used too much in the Twitter clients I tried. Tweetie was famous for its swipe gesture that revealed an action bar for a tweet, but that’s gone in Twitter for iPhone, which uses swipes to navigate across Timeline, Discover, and Activity.

In the Twitter app, you can swipe through photos in profile pages on the iPad and swipe through photos on tweets that contain multiple ones. You can also swipe from the edge of the screen to navigate (iPhone) and swipe to delete DMs.

In Twitterrific, you can swipe right on a tweet to reply, and swipe left to view the conversation; this also works in DMs.

Tweetbot has deeper support for swipe gestures:

It’s hard to pick a favorite for gestures: there’s hundreds of details and variables to consider, and iOS 8 has brought consolidation in options shown via tap & hold. Twitterrific and Tweetbot have more convenient gestures than Twitter: Twitterrific is nice for quick replies; Tweetbot has a great flick gesture to dismiss images.

I compiled this list of gestures out of curiosity and to show the little design decisions that can go into what most people would deem trivial or obvious. My takeaway is that I deeply miss Tweetie 2’s original swipe gesture for actions.


I look at user profiles on Twitter for various reasons. For my personal profile, I usually want to see who new followers are or I may need to find an old tweet or photo I sent. For other people’s profiles, I want to be able to look at their mentions, browse photos they’ve published, read their bio, and perhaps peek at their faves (it sounds creepy, but it’s a good way to discover interesting links – kind of like public bookmarks).

Twitter, Tweetbot, and Twitterrific have radically different designs for user profiles.

Tweetbot shows bios and other essential information (tweets, followers, following, listed) at the top of the profile, leaving room at the bottom for a Recent Photos grid that displays thumbnails for your latest 12–16 photos and videos ❲9❳. You can tap a thumbnail to enlarge it and view the tweet it came with; tapping the tweet opens it in a detail view. Below the grid, Tweetbot shows when a user joined Twitter (useful to quickly spot spam accounts) and when the account’s last tweet was sent.

When you want to look at people who follow you, Tweetbot is the only client that displays follower/following counts in the Followers view. Again, this is a good way to quickly see if any weird spam account has started following you, blocking it preemptively; it’s also nice to be able to see when someone with a lot of followers has started following you (if you’re into that sort of thing) without having to open their profile page.

Something that is also unique to Tweetbot is its ability to load mentions and faves in other people’s profiles. As I mentioned above, I occasionally like to be able to see the tweets a person is receiving, and Tweetbot is the only client that makes it easy to see all mentions directed to a user. From a segmented control available at the top of a user’s Tweets page, you can load the user’s favorite tweets as well.

I also want to point out how Tweetbot offers two ways to look at a user’s recently shared photos. Besides the Recent Photos grid in the Profile page, Tweetbot features a control in the top right corner of the timeline to change between regular tweet layouts and media previews, which filters out tweets that contain media recognized by the app with inline previews. This special mode lets you browse all media items shared by a user on Twitter, but you’ll still have to scroll and wait for Tweetbot to fetch older tweets.

Of the three clients I tested for this article, Twitterrific comes with the most basic support for viewing user profiles and associated information. Accessing your profile in Twitterrific is done by tapping your avatar to reveal a sidebar and tapping a “i” button in the top toolbar or by simply tapping your avatar in a tweet.

Once in your profile, Twitterrific shows bio and counts, lets you view your tweets, faves, and mentions in separate views, but has no support to view recently shared media. The Followers view is equally barebones, providing a grid of user avatars/names/usernames with no bios or counts to better understand who’s following you. If you care about re-viewing photos you’ve previously shared, Twitterrific can’t help you.

Viewing other people’s profiles in Twitterrific adds a series of shortcuts at the bottom to follow, DM, or @mention the user, as well as a button to muffle, add to lists, block, report, and open the profile page in a web view. Considering the basic realization in terms of design and functionality, it appears that viewing complete user profiles isn’t a priority for The Iconfactory in Twitterrific.

The Twitter app is diametrically opposed to Tweetbot and Twitterrific for viewing profiles: it prioritizes media and “quick engagement” over easy access to tweets, but it’s got substantial differences between the iPhone and iPad versions. If you’re used to third-party clients and have been using them for years, this is where the discrepancies between clients and the official app are most striking.

On the iPad, Twitter displays a large cover photo at the top as a background for a user’s profile picture, bio, and follow status (if it’s not your profile). Immediately below the top box, you’ll find tweets, followers, and following counts that are also buttons you can tap; next to them, there’s a big Folllow/Unfollow indicator/button and a gear icon that opens a popover with the following options:

This menu feels a little crowded, and I often struggle to remember which option is which because the entire list is made of blue buttons with no visual differentiators like icons or color labels.

When looking at followers, Twitter highlights the ability to easily follow back with one tap. In the Followers list on the iPad, the app displays a follower count in the title bar, the usual combination of avatar/name/username, and also bios. Unfortunately, the app doesn’t display how many followers a person has in this screen. Notably, each user has a one-tap Follow button, but unfollowing will require two taps as Twitter wants you to confirm your action.

The lower section of profiles on the iPad is more interesting. There’s a preview of a user’s most recent tweets (usually three of them) and you can tap a button to load all tweets in a separate view. Underneath tweets, there’s a scrollable gallery of recent photos (not GIFs or videos) that you can scroll and tap to enlarge items and view their associated tweet. I like this carousel because it gives me a quick way to view recent photos and I appreciate that tweets with multiple photos are supported as well.

But there’s more. You can tap a button to view more photos, and the app will open a grid view that contains every Twitter photo ever sent by a user.

The view is fast, easy to scan, and only the official Twitter app for iPad can provide this kind of visualization. It’s great that I can scroll quickly to two years ago and find photos I tweeted and get back to the original tweets. I use Twitter considerably more than Facebook for image sharing (whether they’re screenshots or photos), and I love that the app makes it simple to browse and scroll through old photos with no complications.

At the bottom of the profile view, Twitter for iPad adds different shortcuts depending on whether you’re looking at your own profile or someone else’s. In your profile, Twitter uses the end of the page to insert links to lists, favorites, drafts, and, again, people you’re following and people who follow you.

This is one of the worst parts of Twitter for iPad: not only does it make little sense to repeat the Followers and Following buttons – the sidebar on the left is left wholly unutilized when the Favorites, Lists, and Drafts buttons could have gone in there for easy access. Instead, if you want to read a list (as I do for my Apple News and Games lists), you have to open your profile, scroll, and find those unrecognizable buttons at the bottom.

When you’re looking at other people’s profiles on the iPad, a “Who to follow” section is added below the aforementioned list with account recommendations based on the currently open profile.

I have to say, for all the fun tech writers often make of Twitter recommendations, these are actually pretty solid and accurate. As with other screens, accounts are listed with bios and one-tap Follow buttons, and I have found quite a few new accounts of interesting people to follow through these screens – so I guess they do work as advertised.

What may be a problem for some people is that, among the “Who to follow” suggestions, there’s a chance you’ll see a promoted account. Again, there are ads in the Twitter app, and this is another area where ads can be injected. Personally, I don’t mind: years of reading on the web have taught me how to separate content from ads and, as the owner of an ad-supported website, I think it would be ironic to complain about the fact that the company that drives a good percentage of our traffic is relying on ads for revenue.

Profiles in the Twitter app for iPhone are great. Redesigned in September, profiles on the iPhone have the same options of the iPad app but they simplify access to essential (and most interesting) sections: Tweets, Photos, and Favorites.

These three sections are organized in tabs that snap at the top of the screen as you scroll, so you’ll always know the context of the tab you’re in. “Who to follow” recommendations are mixed in the middle of the Tweets list, while the Photos tab mirrors the grid design found on the iPad. After you follow an account, Twitter takes the opportunity to show more recommendations with an inline box, which surprised me.

Twitter has, effectively, created three timelines for the profile view on iPhone, which I think is a good idea as it simplifies access to them.

There are also many great design touches in this screen. As you scroll up, the cover photo becomes a title bar that contains the profile’s name and count for the selected tab below; this comes in handy, for instance, to know exactly how many photos you’ve shared on Twitter to date. In your profile, you can also keep pulling down the cover photo to activate the account switcher (which can be done by tapping & holding the Me tab, too).

What I found perplexing is, once again, Twitter’s decision to bury lists in a menu that I bet most people won’t even notice. To access lists and list management options in Twitter for iPhone, you need to tap the small Settings icon at the top of your profile, then choose Lists.

I struggled for days to understand where lists were in Twitter for iPhone – obviously, I was under the impression that the icon would let me open my account’s settings, which I didn’t need. I don’t know why Twitter doesn’t care about lists much, but their placement in the iPhone app makes it look like the company run out of space for a button.

Everybody has different needs and preferences when it comes to viewing Twitter profiles, and the three most popular clients differ vastly in this aspect. Twitterrific focuses on the basics; Tweetbot brings easy access to Mentions; Twitter features a lot of shortcuts with a special focus on photos and favorites.

For my use of Twitter, I prefer the official Twitter app for viewing profiles. In spite of its flaws on the iPad and iPhone, the fast access to all photos and favorites, solid recommendations, and revamped design on the iPhone make Twitter’s profiles work better for me.


I’ve always liked the idea of creating lists for people and websites I follow on Twitter. It’s too bad that Twitter has somewhat forgotten about lists and hasn’t shipped considerable updates to the product since its original launch.

I have two lists that I want to read every day: one is about videogames; the other focuses on Apple news. In lists, I keep websites and journalists that I don’t want to have in my main timeline – my use of lists is primarily news-oriented and I use them as a tool to group links about the same topic together. Think of it like RSS, but for Twitter, with no unread counts. I’ve always been intrigued by their premise, but most users don’t seem to care (and therefore Twitter doesn’t care). Fortunately, third-party clients do.

Tweetbot famously lets you switch your main timeline to a list of your choice: simply tap & hold on the title bar at the top, and Tweetbot will bring up a list switcher to turn any list (private or public) into your timeline so you won’t have to switch to a dedicated section to read a list. This is, by far, the most convenient way to switch to a list I’ve seen in any Twitter client for iOS – especially because different scroll positions are saved and restored every time you move between your timeline and a list.

Tweetbot matters for users who value Twitter lists because it makes them first-class citizens that are a core part of the app’s experience. Lists in Tweetbot aren’t tucked away in a settings menu or deep into three layers of navigation; if you want, you can even read two lists at the same time in Tweetbot thanks to its quick-switch timeline gesture.

Twitterrific also treats lists well. Twitterrific can switch from the timeline (called “Home”) to a list through the sidebar on the left; tap your profile picture, scroll, and you’ll find your lists.

Allow me to nitpick: you can’t rearrange the position of lists in the sidebar, so you’ll always have to scroll to the bottom to find them (which can be problematic if you have many saved searches above them); and, there’s no visual differentiation between your lists and lists from others you’ve subscribed to.❲10❳ Once you tap a list, the app switches quickly to its timeline, showing a different icon and the list’s name in the title bar. When viewing a list in Twitterrific for iPhone, the view is modal – shortcuts for mentions and messages at the top disappear completely. Like Tweetbot, scroll position in lists is saved and restored across app relaunches.

I prefer reading lists in Twitterrific for iPad, with a few reservations, again, about visual cues and usage of hollow UI areas. On the iPad, Twitterrific uses the same sidebar concept of the iPhone app, but it uses a split-screen layout with an option to keep the sidebar always visible in landscape mode. You can switch to lists from the sidebar, but, unfortunately, tabs disappear in the title bar on the iPad as well despite the higher amount of space available on screen. This is mitigated by the presence of sidebar shortcuts, but it’s something I noticed.

Twitterrific also lets you tap & hold tabs to customize them like Tweetbot can, with important differences in terms of interface design and amount of customization you can do. The good news: you can change three tabs out of four to display something else, including lists (on the iPad; it’s two out of three on the iPhone). The bad news: it’s not clear that you can do this because there’s no indicator (like the up/down arrows on tabs in Tweetbot); and, once you’ve switched to a list, you can’t tell from the tab alone which list it is, and there’s no title bar with displayed list name either.

Upon further inspection, it turns out that Twitterrific does tell you which list you’ve switched to via customizable tabs: you have to scroll the sidebar and see which list is selected. This can be considered a minor design issue, but it does matter if you’re a heavy list user and you’re constantly switching between lists.

Overall, I like reading lists in Twitterrific for iPad because I can temporarily switch mentions and favorites to lists, catch up on my news, and send links quickly to other apps with share sheets. Twitterrific may have some questionable UI choices here and there, but the functionality is great. On the iPhone, I prefer Tweetbot.

And then there’s the Twitter app, with its aforementioned hidden Lists buttons and no shortcuts to quickly open or switch to lists. It’s a shame that Twitter isn’t putting much thought into easier access to lists on mobile devices: with its new Cards and tweet recommendations, lists could easily become a powerful solution to read and find news through Twitter – something that the likes of Flipboard and Nuzzel have exploited to a good degree of success. Twitter’s only nice touch is that tabs allow you to move quickly between tweets, members, and subscribers in a list…which pales in comparison to what Twitterrific and Tweetbot are doing.

Twitter lists could be so much more. Off the top of my head: popular tweets and links in a list; a daily summary of news from a specific list; suggested users and websites; full Cards integration; search; list shortcuts in Twitter for iPad’s sidebar; traditional List and Snippet views based on Summary Cards; notifications for lists.

I use lists to find news through Twitter every day, and I know that other people use them in all sorts of different ways. Even just considering the news aspect, there are dozens of ideas that Twitter could explore, but they don’t seem to care, and this is reflected in their iOS app.


Over the past year, a peculiar way of composing multi-tweet messages has become commonplace in the tech Twitter niche: the tweetstorm.

I won’t get into the details of how this term came to be ❲11❳, but I find it to be a clever idea if you want to share a thought that doesn’t fit in 140 characters while still making sure multiple tweets can be held together in a thread. And the trick to do a tweetstorm is quite simple: send subsequent tweets in reply to youself.

I don’t know whether I should be proud or ashamed that I bought into tweetstorms, but I use them to share screenshots and quick thoughts when I don’t want to have a full blog post. Lately, I’ve been using tweetstorms (without the ordinal number before each tweet ❲12❳ ) to share news before putting together a blog post (and I’ve also started returning to shortform blogging to make sure more thoughts remain on my own website). I’ve seen other users sharing thoughts via tweetstorms and, overall, they’re a fairly simple hack to post longer messages by splitting them up and connecting them back together.

All three Twitter clients I tried support loading tweetstorms because they let you view threads anyway, but Twitter and Tweetbot are my preferred solutions as they put the last tweet in a tweetstorm directly below or above the previous ones sent by you, hiding replies by other users until you scroll. Twitter lets you swipe up from the last tweet in a tweetstorm to see the tweets you’ve replied to, while Tweetbot shows original tweets directly below the last one, with no replies.

The difference is minor, but Twitterrific starts scrolling at the top where replies by other users are shown, which is slightly less optimal if you’re a tweetstorm power user. Which, I realize, doesn’t sound as good as I thought it would.❲13❳

Direct Messages

If I had to pick the communication service that I’ve used most frequently, consistently, and joyfully over the past five years, it would be Twitter DMs. But I’m sad, because Twitter never fully understood the potential that lies in the simplicity of DMs.

Direct messages on Twitter are based on a great concept: they’re limited to 140 characters and they don’t require you to learn and manage separate email addresses. The ability to message people is always there – but only people you follow can message you back. These three simple limitations remove the majority of cruft and complications that make email frustrating and hard to manage. Direct messages are fast, short, and reciprocal.

You could say that Twitter never grasped the great messaging system they had invented or that they didn’t want to alter its simplicity. I find it difficult to believe that Twitter applied willful restraint to DM development considering the sad state in which they left the feature for a year, but I digress.

Since 2009, I’ve been using DMs to communicate with all sorts of people. Friends, developers, other writers, readers – DMs have allowed me to skip email and be able to send short and direct texts without the layer of email, iMessage, phone numbers, or other messaging protocols. I remember when developers tried to make dedicated DM clients into sustainable apps ❲14❳, and to say that I’ve had hundreds of valuable conversations via DM would be an understatement. Twitter is my Facebook and DMs are an essential part of it.

Which brings me to Twitter clients and how they handle DMs, threaded conversations, and the ability to share links and media with other users privately. I’ll start from my (obvious) favorite in this case: the Twitter app.

Twitter has long ignored DMs, but they recently reinstated the ability to share links and promised to bring various enhancements to the product in the future. Over the past year, the company rolled out the ability to share photos via DM and added a button to quickly send a tweet to someone else via DM in Twitter for iPhone. Twitter has an API advantage over third-party clients: the reason I prefer Twitter for DMs are features that third-party apps can’t implement – especially the ability to share a photo via DM.

Direct messages have a standalone tab in Twitter for iPhone. Conversations are sorted from newest to oldest, and threads are displayed in chronological order; this Messages-like display has become the de facto standard for hundreds of other messaging apps, and it’s the one that I like.

In the conversation view, timestamps are shown by default and the recipient’s avatar is tappable so you can open their profile. You can also tap & hold a message to bring up options to copy, delete, or flag it; when typing a message, a character counter is displayed in the right corner of the compose field.

Over the past couple of months, the ability to share photos via DM has become essential to how I communicate with people on Twitter. Perhaps I just want to point out a typo or website issue to a friend, or maybe I need to quickly send a bug report with a screenshot to a developer – photos in DMs allow me to ping people without the annoyance of email or the burden of downtimes and read receipts on iMessage. I use photos in DMs extensively, although I wish I could send multiple photos privately instead of just one at a time.

What really is impressive about DMs in the official Twitter app, though, is the history of private conversations it lets you browse. In third-party clients, DM history is always cut off at some point both for conversations and messages inside a thread – I would guess it’s another API limitation for the number of historical data that is returned to clients.

In the Twitter app, you can view your entire history of direct messages: I was able to scroll back to old messages in conversations and I went all the way back to mid–2009 to read DMs from when I had just started writing for MacStories. I wasn’t aware of the fact that DM history could be accessed in the Twitter app – like search, it looks like a massive technical undertaking and I’m impressed by how fast everything loads even when viewing messages from six years ago.

There’s a certain irony to the fact that the only private messages I can retrieve from 2009 are Twitter DMs and IMAP email.

If you’ve been reading MacStories and listening to Connected, you know how much I care about data and software preservation for posterity, which is why I was excited to find out about DM archives in Twitter. This amount of data, however, begs for better tools to filter messages and search inside conversations, which are absent from the current version of the Twitter app. While Twitter is fast at loading conversations, it is tedious to scroll all the way back to 2012 to load messages from a couple of years ago, and, if Twitter really cares about improvements to DMs, I hope search and filters will be on their list.❲15❳

There’s a “but” in Twitter’s full DM history: it’s only available on the iPhone, as the iPad app is limited to roughly the same set of DMs I get in third-party clients. The iPad app comes with the same features found on the iPhone (including photos), but, for me, it only shows direct messages from the past few months. It could be that Twitter is rolling out the ability to view more DMs gradually, but I wouldn’t be surprised to know this is one of the features that got left behind in the company’s prioritization of the iPhone app over the iPad version.

An example of a feature that’s only been launched on Twitter for iPhone is a shortcut to quickly share a tweet via DM. This isn’t a big deal: you can tap & hold on a tweet and share it via DM, which, in practice, will send a message with the URL of a tweet attached.

What is interesting about this is that a) it’s limited to the iPhone, more proof that Twitter for iPad isn’t where Twitter’s iOS team likes to experiment; and b) tweet URLs get a special treatment in DMs. Tweets shared via direct message get a nicely formatted snippet view in conversations, showing a preview of the tweet inline without having to tap it. This is a reiteration of the idea of bringing content to the user in the Twitter apps, and, while far from indicative of Cards coming to DMs, the feature does suggest that different media/preview types could be potentially supported in private conversations.

As you would guess at this point, Twitter for iPad seldom takes advantage of its own sidebar, and there’s no DM shortcut in there, leaving a single button in the profile page the only way to open the Messages screen. At least Twitter put in some work for this view, which takes advantage of the iPad to display messages in a sidebar on the left.

In Tweetbot, DMs are available from a button in the middle of the tab bar and, due to the Twitter API, they’re limited to recent messages – I can’t go back and view my entire history of direct messaging in Tweetbot.

There are some shortcuts and design choices that I like about DMs in Tapbots’ app. I’m a big fan of the double-tap gesture to mark messages as read. In conversations, Tweetbot lets you tap individual messages to bring up a custom menu to delete, copy, email, and translate, but you can also tap & hold links shared via DM to use the system share sheet. Unlike the Twitter app, DM conversations can be shared over email, but you can’t share photos privately.

Another substantial difference between Twitter and Tweetbot is how they implement the DM compose experience when you’re starting a new message from scratch without using shortcuts from tweets or profile pages.

When you tap the compose button in the top right corner of Tweetbot’s Messages screen, the app asks if you want to create a new tweet or a direct message – the button is the same throughout the app, so Tapbots decided to keep it consistent in DMs and ask the user for input upon tapping it. Choosing the DM option reveals a screen that lets you pick a recipient, although it’s not clear how, exactly, Tweetbot picks users to display in this screen; in my experience, some of the suggested recipients are people I follow, but others are not.

You can filter this list with a search bar at the top, or you can scroll to the bottom for a Find User option that contains another search bar for global username search as well as shortcuts to pick recipients from your followers or people you follow. Tweetbot offers plenty of options to compose new DMs, but sometimes they’re confusing or redundant.

Twitter is less versatile, but obvious. The compose button is replaced by a message button in the DM screen, which defaults to creating a new DM. Tapping it brings up a list of your recent DM contacts, which is handy, with the keyboard focused in a search field. You can start typing to filter people you follow in real-time, or you can manually type a username and tap it to start a new conversation.

Tweetbot may offer more shortcuts to compose new DMs, but Twitter’s simplicity feels more consistent and it makes sense. And besides features, a small design detail represents my affinity for Twitter’s DM experience: messages you’ve replied to have a reply icon on the right, while others don’t.

This brings me to Twitterrific, whose DM view is one of my least favorite aspects of the app. Of the three Twitter clients, Twitterrific is the only one to adopt a non-traditional display of DMs: they’re not threaded by conversation, but they’re displayed as individual replies from newest to oldest, and they’re all colored in blue and light blue depending on status and selection.

My problem is that I’m used to interacting with DMs as conversations modelled after Apple’s Messages app, whereas Twitterrific treats direct messages as special tweets, displayed in their own timeline. The interactions with DMs in Twitterrific are completely different than Twitter and Tweetbot, which can be a plus if you want to have a unique visualization of private messaging. It just doesn’t work for me.

You can swipe on a message to reply to it or show the thread in reverse chronological order; these two modes can also be activated by tapping buttons that appear when you select a message (the same interaction you have with regular tweets in the normal timeline). When in reply mode, the recipient’s name is shown in the title bar, the message you’re replying to is quoted at the bottom, and character count is placed in the bottom right.

This design means that Twitterrific can’t show you a full conversation when you’re typing a message.

Like Twitter, Twitterrific shows an indicator for messages you’ve replied to, but because the view is made of single messages with no threads and everything is either blue or light blue, the reply indicator loses most of its meaning.

I get what The Iconfactory is going after with their DM experience – they want to replicate the timeline for consistency. However, there’s something inherently dangerous about private conversations, and Twitterrific’s DM view always makes me feel nervous or confused. I’m not always 100% sure I’m sending a DM or looking at an ongoing conversation, and I believe that the ungrouping of direct messages for a timeline-like experience is more beneficial to the developers’ sense of order than a practical use case.

The Thread view of DMs is another example. Twitterrific can show you a thread of direct messages, but they’re treated like tweets instead of traditional message threads. You can share a discussion via email, copy it as plain text, and you can even tap & hold messages to bring up the system share sheet, but there’s nothing – besides color – that Twitterrific uses to meaningfully differentiate tweets from private messages here. To understand the downside of this approach, try this: open a DM thread, swipe left on a message to view its thread, keep swiping on messages this way, and you’ll stack private DM threads on top of each other endlessly.

I use DMs a lot, and I think that Apple’s thread view first implemented in the Messages app is a superior interface for displaying conversations with people. Nowadays, every major messaging app or platform uses the threaded conversation view to handle display of texts exchanged between people, and, by this factor alone, The Iconfactory’s decision to not adopt this standard is confusing and, for me, not useful.

Therefore, in choosing betwen Tweetbot and Twitter for DMs, I prefer the official Twitter app on the iPhone because of its ability to display old messages, shortcuts to share tweets, and, most importantly, new photo sharing options. Tweetbot has more shortcuts, but, unfortunately, it is limited to what it can implement in direct messages, and I’ve come to enjoy and depend on the possibility to share photos in DMs.

Uploading Photos

My biggest frustration with the Twitter app for iOS is that, at its “High” option in the Settings, it can’t upload full-res versions of my photos. Tweetbot, Twitterrific, and even Apple’s share sheet using the native Twitter photo service can upload (slightly) higher quality versions of my files, and I don’t know why this is the case. I understand that Twitter may not want the entire world to share full-res pictures, but their High setting isn’t high enough and their compression is generally too aggressive.

The benefit of using the Twitter app for photos is the ability to share multiple photos, GIFs, and tag users in photos (which I’ve never needed). While I enjoy the fact that Twitter for iOS always gets all the latest photo features (like better editing tools and effects built-in), I’m sad every time a good picture turns into a compressed mess.

A nice detail of the Twitter app is that it displays a progress bar underneath the title bar when you’re posting a tweet that contains images – it’s subtle, and a welcome addition to the posting experience.

Third-party clients, on the other hand, offer support for third-party services that either have less terrible image compression or don’t compress images at all. Twitterrific has, Mobypicture, and Droplr uploads; Tweetbot comes with CloudApp, Droplr,, Mobypicture, yfrog, and custom endpoints if you want to use your own server.

Droplr seems to be the most popular alternative image sharing service for Tweetbot and Twitterrific users. Droplr is a great sharing service in general, and images uploaded to it always load at full-resolution in third-party clients, often without having to open a web view.

As much as I like full-size screenshots and photos in my tweets, I’ve tried a number of third-party image sharing services over the years, and inevitably they all disappear, are acquired and start asking for money, or the short URLs used for images break and can’t be viewed anymore. My Twitter archive is full of images uploaded to a third-party service that, yes, may have offered full-res uploads and other cool integrations – but now those links are broken and I can’t view those images anymore. They’re gone, forever, and I don’t know when and how I lost them, exactly.

Partially, it’s my fault because I forgot to renew domains for short URLs or simply jumped from service to service without caring enough. But still, for my next five years of Twitter I’d like to keep all my shared photos retrievable and preservable, which is why I’m sticking to native Twitter photos in spite of their poor quality.

A compressed image is still better than no image five years from now. That doesn’t mean that Twitter won’t ever do something crazy with my photos, but, by always using native Twitter photos, I can remove possible points of failure and I can enjoy a nice integration with the Twitter website and apps for all my images.


I’ve always had a theory: if an article is good enough, it’ll come to me through RSS and Twitter. That’s been generally true over the years, but it discards the fact that I follow hundreds of websites and over a thousand users on Twitter. Which is why, I believe, companies like Twitter and Facebook want better discovery tools for the majority of their users.

By “discovery”, I mean technologies and design choices aimed at facilitating the process of finding interesting stuff without much work. Users shouldn’t have to follow 1000 accounts to never miss a good article; the network should be able to figure out what users want and give it to them. All the talk about curation, discovery, and serendipity ultimately comes down to the fact that Twitter and Facebook want people to be happy with their service because it lets them find stuff relevant to their interests, which keeps them hooked. That’s not necessarily evil – my job is essentially based on discovering links, and any improvement to that process is welcome.

Twitter has various discovery-related features built into the app, and all of this is completely unavailable to third-party developers. Both Twitterrific and Tweetbot focus solely on displaying tweets from lists or timelines they can load because they can’t access the algorithm that provides suggestions for users and tweets.

The Twitter app has an entire section dedicated to this, aptly called Discover. It can be accessed by swiping left on the main timeline in the iPhone app and through a sidebar shortcut on the iPad. The swipe gesture, which has historically been dedicated to interacting with tweets in third-party clients, is the only way to open the Discover section on the iPhone.

Recommendations in Discover have, for me, been organic and accurate: I usually find suggested users, tweets about topics I care about, old retweets I may have missed, tweets faved by people I follow, and other users followed by people I follow. It’s a very variegated section, always providing tweets that tend to match my interests or at least be relevant from a newsworthy perspective. Suggestions are tailored for me because they’re based on my timeline and following list – very rarely I find a tweet in there that I absolutely have zero interest in.

The Discover section also displays trending topics and ads. Ads can be promoted trends, tweets, or users, and I’m not particularly disturbed by them. On one occasion, I received a promoted trend about the PlayStation 20th anniversary, which I tapped and found rather interesting as it was about genuine tweets from people remembering the console in Italy (it had been promoted by @PlayStation). I should say that I’ve never been into the idea of trending topics and barely participated in a few ones over the years.

After I started using Twitter for iOS full-time, I was surprised by the fact that you can always reload the Discover section to get a fresh set of suggestions. That didn’t make sense to me because I was used to the idea of reaching the top of a timeline and stopping when there was nothing new to see anymore, but now I get it. There is no “top” in the Discover section, as it’s been built to constantly refresh and give you tweets or users you may be interested in.

I don’t open the Discover section every day. When I do, I’m surprised by the quality of its recommendations and I’ve discovered interesting articles and users thanks to it, but I don’t feel like I need to open it on a daily basis. Like lists, Twitter could do more to give users better tools to discover interesting tweets: there is no topic organization for the Discover section, no daily or weekly recaps, no connections between related users and topics.

The Activity tab, which sits next to Discover on the iPhone and is a subsection of it on the iPad, offers a much simpler message: it shows you tweets and users people you follow have favorited or followed. That’s it. I always find cool stuff in the Activity tab, and Twitter should take a cue from its simplicity to bring some clarity to the Discover section, which is nice, but somewhat confusionary.

Apps like Nuzzel and Digg are showing how links and topics can be collected from a user’s Twitter timeline, remixed, and displayed in different ways. I personally depend on Nuzzel and it seems absurd to me that Twitter hasn’t acquired the company or built a similar tool for its own apps yet – it’s such an obvious idea, perfectly designed for Twitter.

The Discover section may seem like a useless thing to those who are used to Tweetbot and Twitterrific, but I actually find it pretty cool and useful and it gives me solid recommendations every time I open it. I just wish that Twitter did more of it.


Being able to mute specific users is an important feature for many as it grants the benefit of not seeing certain tweets without unfollowing. In other cases, muting hashtags and keywords puts up a filter that prevents tweets matching those criteria from being displayed altogether, saving up valuable space in the timeline.

Twitter recently added the ability to mute users so you won’t see their tweets in your timeline but you’ll still be able to receive notifications from them. In the iOS app, you can mute by tapping & holding a user’s profile picture or tweet in the timeline and pressing the Mute button; otherwise, you can go to their profile page and mute them from the menu next to the Follow button. Muted users won’t know they’ve been muted, and they will get a red mute indicator on their profile that you can tap to unmute them at any time.

Twitter’s mute feature is the simplest possible implementation: there’s no way to see all muted users in a list and you can’t mute hashtags or keywords of your choice. Power users will think mute is an afterthought for Twitter, but I’m glad it’s there.

Twitterrific has what it’s called “muffling” users – a custom implementation of muting that works in the same way of the Twitter app, but it’s proprietary to Twitterrific. You can muffle users, domains, and hashtags, and you can do so from profile pages (for users) or by tapping on the “More” button (three dots) on a tweet. I struggled to find the option to muffle hashtags and domains in tweets because of this hidden menu, but the ability to block specific websites without writing a regular expression is a great addition to the app.

The profile page of a muffled user doesn’t show this status, but you can tap the icon again to find “Cancel Muffle” as an option.

Contrary to Twitter, Twitterrific shows muffled tweets in the timeline as minimized tweets with username and muffle icon but no text. This is an interesting idea: Twitterrific is showing you the result of your muffling with the option of expanding a tweet if you still want to see what a muffled tweet contains. Twitterrific doesn’t put any special indicator on a muffled tweet you’ve expanded, but that’s a minor problem. The app’s implementation of muting is handy and unique.

Tweetbot destroys the competition when it comes to advanced mute options. Taptbots’ client offers a wide selection of mute filters that span users, hashtags, clients, keywords, and even regular expressions if you want to make sure you never see a specific string of text in your timeline. Tweetbot’s mute filters are even shareable if you want to allow other people to install them easily in their Tweetbot; like Twitterrific, this is a custom implementation that doesn’t apply to mute settings in your Twitter account.

In Tweetbot, you can mute users by tapping & holding their profile pictures in the timeline (this also works for hashtags) or a gear icon on their profile page. Tweetbot is the only client to provide a second layer of muting with time-based filters: you can mute for 1 day, 1 week, 1 month, or forever – and these apply to all types of mute filters, but you can’t specify a custom time period.

You can also view a dedicated Mute Filters section by accessing it from the app’s tab bar; in this screen, you’ll be able to delete filters, edit them, and share them (tap & hold one). Additionally, you can tap Edit and then “+” in the top left to bring up a menu to mute a client or a keyword. The latter lets you enter type a keyword you want to mute, shows you matching tweets in the timeline that’s currently loaded in the app, and optionally lets you mute mentions too.

For advanced users, Tweetbot offers further control and customization by supporting regular expressions for keyword filters ( I had a few for topics and websites I never wanted to see).

The ability to mute clients is interesting: of the three apps, Tweetbot is the only one left that can display what client each tweet was sent from, and you can tap & hold the client’s name to mute it (also doable from the aforementioned Mute Filters screen). This can be useful if you want to mute specific clients that websites and other organizations may use to send tweets you don’t want to see.

Until last year, I thought that muting was absolutely necessary to me because I wanted to avoid the awkward situation of unfollowing someone and then being asked why I did so. For years, I muted users I didn’t want to unfollow just because I felt bad. But over the past 12 months, I’ve realized that, of all the things one could feel bad for in this world, unfollowing someone on Twitter shouldn’t be one of them. I don’t want to overthink about the fact that I can’t unfollow users because of uncomfortable follow-ups via email. Twitter has an Unfollow button, and I started using it more when I know I don’t want to see someone’s tweets in my timeline anymore –just like I know others are doing with me or MacStories. And that’s okay.

But, I also understand that other people want to avoid the possible awkwardness of unfollowing someone. And I know that, unlike me, there are people who can’t stand seeing tweets about sports or TV shows or other topics in their timelines. I used to be one of them. It could be that I’ve become more patient, or maybe I don’t have the energy to keep up with my mute filters anymore – I just scroll past tweets that don’t interest me and go on with my day.

I’m fine with the Twitter app and its basic mute feature (I only use it for a few accounts that people keep retweeting), but I recommend Tweetbot to everyone else who needs powerful filters and more advanced options. Tweetbot’s offerings are impressive in this regard, and more developers should take a look at what Tapbots built to ensure users can be in control of the content that appears in their timelines.

Fave and RT Counts

I like to know when tweets are popular by looking at their fave and RT counts. I appreciate the ego boost that results from seeing many faves for a joke I just tweeted and I want to know when other people’s tweets are popular so I know I’m not missing something important and/or funny. The Twitter app is the best client at displaying counts because of API limitations on third-parties and their own design decisions.

Let’s start with Twitterrific, which doesn’t display any count for retweets or favorites. The app has no detail view for individual tweets, and there isn’t any section to view how many times any given tweet has been retweeted or faved by other users. Twitterrific simply isn’t an option if you want to see these counts.

In Tweetbot, you need to swipe left on a tweet in the timeline to view fave and retweet counts below its text. For your own tweets, Tweetbot can show you people who retweeted or faved a tweet upon tapping one of the numbers; in this list, each user is displayed with their followers and following counts, so you can quickly know if someone popular retweeted you if you’re receiving an influx of RTs.

However, Tweetbot has a major limitation for counts on other users’ tweets: it can’t display the list of people who favorited a tweet on tweets posted by other users. Instead, tapping the fave counter on tweets not sent by you will open an inline Favstar page, which is often not as accurate as the native data returned by Twitter. I believe this is another limitation of the Twitter API; so, while the implementation isn’t great and you’ll still need to open a tweet to view counts, at least Tapbots is doing the best they can with Tweetbot.

When I was first started using Twitter for iPhone, I thought the idea of displaying retweet and fave counts for each tweet was crazy. After years of Tweetie and Tweetbot, I was used to a perfectly clean timeline with tweets displayed as textual updates, perhaps inline previews for images, but no extraneous interface elements visible without tapping or swiping on a tweet first. The fact that Twitter wanted to inject counts in each tweet for “engagement” purposes was sacrilege at best.

To my surprise, though, I soon started enjoying the ability to discern a tweet’s popularity without tapping on it first and being taken into a separate view. And now that I’ve been using the official app for a few months, it’s hard to go back to clients that don’t instantly show me counts for faves and retweets – it’s similar to the absence of cards in third-party apps, but amplified by the fact that I’m a sucker for faves.

It’s interesting how a simple interface change has altered my interactions on a network I’ve been using for years. Thanks to more easily available counts, I am discovering more interesting links because I’m missing fewer of them – I scroll my timeline with more attention and I skim less. Retweet and fave counts are direct indicators of popularity and interest that don’t require to be guessed – they’re always there, and while they don’t magically “fix” discovery of cool tweets, they help in ensuring you don’t easily miss stuff.

They’re a good example of how practical design trumps idealistic interfaces: in theory, a cleaner timeline is better, but, in practice, I’ve discovered that always-visible counts make me faster (less tapping around) and more attentive.

Twitter’s RT and fave counts, however, aren’t just static indicators – they’re buttons. I can fave any tweet with one tap just by pressing the star icon, and I can retweet with two taps (there’s a confirmation step in between).

My understanding is that Twitter’s main intention was to let you easily engage with tweets through retweets and faves, but the buttons also made for nice indicators besides the interactive part. When you tap those buttons in the Twitter timeline, you aren’t taken to a list of people who retweeted or faved a tweet. To see the list of users, you have to tap a tweet (not swipe on it) so you’ll be taken to a detail view with larger previews, more buttons, replies, and full RT/fave counts.

Tap the counts, and you’ll see all users who have interacted with a tweet. Both on the iPad and iPhone, these lists show users with no bios or follower counts (unlike Tweetbot); as you would expect, there are buttons to quickly follow users with one tap.

I was fiercely opposed to the idea of having buttons and counts cluttering up my Twitter timeline. With time, not only have Twitter’s buttons grown on me because I like seeing RTs and faves at any time – I am slower and less efficient in Twitter clients that don’t put RT and fave indicators/shortcuts a quick tap away. Twitter’s timeline may not be minimal or true to to Tweetie’s roots, but it works better because it puts the focus on interaction without complications.


I rely on Twitter search to monitor tweets about MacStories, articles I publish, and other keywords related to the websites I run. More importantly, I believe in the value of older tweets as reference material for editorials and news, which is why I need to check Twitter search for tweets that go back in time.

Until recently, I would have recommended Tweetbot for the best implementation of Twitter search and Tweet Library to browse the Twitter archive, but an update that Twitter recently rolled out has completely changed the scenario.

The Twitter Search API is part of Twitter’s v1.1 REST API. It allows queries against the indices of recent or popular Tweets and behaves similarily to, but not exactly like the Search feature available in Twitter mobile or web clients, such as search.

Third-party Twitter clients have a finite number of search results returned by the Twitter search API. This means that Twitterrific and Tweetbot cannot look for every tweet ever sent – they’re limited to the past few weeks (at best). This has always been the case with the Twitter API, and it’s not under the developers’ control.

With this in mind, both apps have done a good job at offering handy search features for tweets, trends, and users. In Tweetbot, you can access saved searches, view nearby tweets, view trends worldwide and regionally, and browse suggested users by category.

I love two aspects of Tweetbot’s search: results are color-coded and you can restrict search results to tweets or users containing a specific string of text. The first one is useful for me so I can find tweets that mention my name without being a reply: tweets that contain “viticci”, aren’t blue, and aren’t sent by me including my last name without my @username. This is usually someone who deeply disagrees with me. The Twitter app doesn’t make it easy to parse tweets through color because it has no tweet highlighting.

When you hit the search bar in Tweetbot and start typing, the app will offer to look for users that contain that text in their name, tweets where that text appears, or it can let you go directly to a valid username you typed. The first shortcut is fantastic if you want to see a group of usernames that share a similar name or if you only partially remember a username.❲16❳

Twitterrific puts shortcuts to saved searches in the sidebar and its search screen lets you find people, trends, and tweets. Twitterrific has fewer options than Tweetbot as it goes for a friendlier, more visual approach – users, for instance, are shown as a grid of large profile pictures with no counts or other information before tapping them.

Search in the Twitter app is on another level because Twitter has enhanced it and locked it down with no API access. The first big difference, though, isn’t technical – it’s in the design of the feature. Search is always accessible in the title bar of the Twitter app (except in the DM screen) with an icon next to the compose button. The placement of this icon immediately suggests that search is important to the company – or at least they want it to be.

When you tap the search icon, the app shows a list of recent and saved searches; on the iPad, this happens in a popover. As you start typing, the app shows suggestions for older searches you performed, users, and popular searches. You can tap one of these results and be taken to the relevant user or search results page.

Search results are split in Top Tweets and All Tweets. The former shows a mix of best results, suggested users, and photos shared alongside tweets relevant to that search; the other tab shows all tweets in reverse chronological order. I’m usually able to find a tweet I remember through the Top results, which tend to be accurate and are handy shortcuts.

Filters is where it gets more interesting. The Twitter app lets you refine results by hitting the filter icon in the search bar at the top, and you can use the following criteria to narrow results to specific tweets:

These are powerful filters, and available right on the iPhone and iPad. I use them often to refine results to links and combine them with a search query to, say, find a specific article a person I follow tweeted.

This all comes together with the fact that Twitter recently launched a fully searchable archive of every tweet ever sent, available exclusively in the native Twitter apps. You can now look for every tweet ever posted to Twitter directly from the iOS app and find results from years ago in seconds. This is an amazing capability and impressive technical achievement – especially considering how well it works.

As I wrote when Twitter rolled out the new search:

For me, there’s tremendous value in being able to easily retrieve old tweets: I’ve written about the Twitter archive before, but today’s rollout brings retrieval of indexed tweets to the search section of the Twitter app – no need to download an archive. Twitter search used to be limited to tweets from the past couple of weeks; now, you can look for every public tweet sent since 2006.

In my first tests using Twitter for iPhone, I was able to find the first tweet I ever sent through search in a couple of seconds by simply typing words contained in its text. I then looked for other old tweets I remembered from 2009 and 2010, and the app brought them up instantly. Retweet and fave counts were correct, but I couldn’t load replies to those old tweets in the Twitter app.

You can combine full search with advanced search operators to refine results from the entire Twitter history so you can, for instance, find a tweet sent by a user on a specific day. I don’t know what Twitter plans to do with search – it’s hard to imagine how casual users would want this kind of advanced functionality – but, for me, the additions have been beneficial to what I need to do with Twitter search.❲17❳

Ultimately, this is why I prefer search in the official Twitter app: it lets me find any tweet I want on my iPhone and iPad, it’s fast, and it can auto-complete search queries for me. Search in Twitterrific and Tweetbot has some nice touches and hidden details, but what Twitter is offering in their app is too essential for my workflow.


Twitterrific and Tweetbot, either because of limitations or design decisions, have a traditional display of the Twitter timeline. Tweets from people you follow and retweets are shown in the timeline, with no external contaminations from ads ❲18❳ or tweets that don’t respect the classic reverse chronological order.

Twitterrific deserves a special mention because it supports theme customization and a unified timeline. The latter is one of the app’s unique features, as it lets you include mentions and direct messages in the Home timeline. I was never able to use the unified timeline on a daily basis because of the amount of mentions and messages that would make it impossible for me to quickly read tweets from people I follow. The ability to switch to a dark mode and customize fonts is also very nice, and a must-have if you can’t use apps with white interfaces and small fonts.

Tweetbot also supports switching to a dark theme, but it doesn’t offer the same amount of options found in Twitterrific.

Twitter, on other hand, is changing the timeline entirely to show you tweets that go beyond the people you follow.

And I actually like it.

Coming from five years of traditional timeline, seeing it change from the order I was used to was a shock. Tweets have to be shown from oldest to newest and nothing can change that rule – I think pretty much every Tweetbot and Twitterrific user can agree on this. The great thing about Twitter is its simplicity: you can see events unfold in real time because of the nature of the timeline and, unlike Facebook’s News Feed, you have a sense of place in a timeline that lacks any sort of modification.

Twitter has started changing the timeline with the infamous blue line – a way to put conversations back at the top by connecting a reply to its original tweet with a vertical line. But because both the first tweet and reply are shown in the timeline, this means that the Twitter app can show you tweets from 1 minute ago, then one from 19 minutes ago, then back to recent tweets from a minute ago. This happens when a recent reply is sent to an older tweet, which is pushed back to the top of the timeline alongside its reply, all held together by a line. When Twitter rolled out this feature, I hated it.

How can you not hate the blue line if you’re used to the traditional timeline? Tweets are never older tweets – they’re new ones. Historically, Twitter clients have always allowed you to swipe or tap to load a tweet’s detail view and associated thread in case of conversations; Tweetie did this, and both Twitterrific and Tweetbot follow this rule.

The blue line disrupts the traditional concept of the timeline: it sacrifices the intrinsic simplicity of the Twitter stream for the ability to catch up on past conversations and retain context, but this has the nasty consequence of showing the original tweets multiple times in different places if people you follow keep replying to them.

Here’s the thing, though: I have discovered tweets I had missed thanks to the blue line. Whether for tweets I didn’t see because it was the weekend or updates that I just skimmed and ignored, Twitter’s insistence on pushing tweets to the top through the blue line allowed me to discover valuable conversations because of replies that I would have ignored otherwise. I know that this is an unpopular opinion, and it takes a lot of time to get used to it, but the blue line does make sense once you learn to accept it.

This isn’t to say that it’s perfect. Twitter could (and should) find ways to make original tweets less obtrusive and repeat them less, or perhaps devise ways to minimize them over time so you don’t see the same tweet five times over two minutes. Because the Twitter app lacks timeline streaming (Twitterrific and Tweetbot have it), it’s also confusing that, upon refreshing, you see tweets moving from their original place to the top because they’re being yanked by the blue line.

And yet, in spite of its design and implementation problems ❲19❳, I like the blue line. It does clutter my timeline, but it has allowed me to find good tweets I missed, and it wouldn’t be fair to say that it’s “wrong” or “useless” on principle.

But the blue line isn’t the only tool that Twitter is leveraging to make timelines break out of their reverse chronological mold. As the company recently announced, they are experimenting with different ways to include relevant tweets based on activity from accounts that you already follow – in other words, putting tweets from accounts you don’t follow based on interactions from the ones you do follow. The primary motivation is, according to Twitter, related to the fact that people don’t want to cautiously cultivate their own timeline over the years. It’s easy to imagine why the casual Twitter user who reads while being logged out would ever want to manually follow hundreds of people.

Twitter is working on an instant personalized timeline ❲20❳ that you don’t need to set up, but their willingness to bring discovery of tweets and users to the timeline is trickling down to existing users who have an account and already follow people. Like many others, I’ve started seeing tweets from accounts I don’t follow pop into my timeline based on what another person saves or follows. External tweets (as I call them) I’ve seen always came with a reason attached – “Joe favorited” and “Kyle follows” indicate why a tweet is being included in the timeline.

In my experience, these relevant tweets have been mostly good – I’d say 70% of the time I either laughed at a funny favorite I was being shown or got interested in opening the profile page of a user I didn’t know. The other 30% of external tweets were either American sports or duplicate tweets that I had already seen but that a person marked as favorite.

Twitter knows a lot about me. It is the web service I’ve used the most since 2009 and I would guess that they have a fairly accurate snapshot of my location, interests, sense of humor, political orientation, taste in foods, and spending habits. Just by scanning my tweets sent between 2009 and 2014, Twitter could understand which electronic devices I bought and which models, or when I tend to buy videogames during the year and on which platforms. They have a treasure trove of data about me, which is fed every day with more engagement and interactions. They can use it.

I don’t mind the external tweet injections in my timeline. Like the blue line, I’ve grown to like them because they let me discover tweets that tend to be relevant to my interests or at least somewhat compatible with my tastes. Their algorithms are admittedly pretty good, and I’ve started following new people since Twitter began showing me different tweets in my timeline. Recommendations aren’t perfect: at this point, Twitter should know that I have no interest in the NFL or American politics, but tweets about them keep occasionally appearing.

From a technical standpoint, I noticed that Twitter injects external tweets more during slow timeline moments than, say, in a typical Wednesday afternoon full of updates from people I follow. Tweets that have been favorited by others (by far, the external tweets I see the most) are more present at night, when my timeline is slower and more sparse. I think that’s a good idea to have “something for everyone at any time on Twitter”, as the company says.

I’m also in the strange position of an Italian who doesn’t follow Italian websites and behaves like an American because of his job and Internet friends. This, I believe, is what influences the amount of promoted tweets (ads) that I see in the Twitter app on a daily basis.

This is an important aspect for many users of third-party clients, which don’t show ads in the timeline. In my tests over the past months, I’ve seen an average of 5–10 ads in my timeline each day, but every time I talk about this on Twitter or Connected readers and listeners tell me that they see many, many more, to the point where the app is unusable because of ads. I don’t know why I’m seeing fewer ads, but my impression is that my Twitter account must be confusing to advertisers. As I said above, I’ve grown used to naturally skimming ads on the web through the years, and doing the same in Twitter isn’t much different than most blogs I read.

The Twitter timeline was built to be a reflection of a Following list people could build meticulously over time. But as it approches its ninth anniversary, Twitter has realized that curating a list of accounts isn’t most people’s forte, and they want to make sure that the timeline stays interesting even without investing time into finding accounts to follow. And that meant breaking the original concept of the timeline to include content and account suggestions. It meant to make the Twitter timeline a little more like Facebook.

This sounds like blasphemy to longtime Twitter users. And I completely understand: the idea of the timeline was a sacred one, especially for people who have invested hours over the years in following other people and trimming the uninteresting branches of their following lists.

But, after trying Twitter’s timeline for the past six months, I have to say that it’s not as bad as some people wanted me to believe. It’s different, it breaks the chronological order of tweets, and, yes, maybe it’s been inspired by Facebook, but it feels more lively than the classic timeline of a third-party client. The “clutter” that many dismiss as automatically wrong has actually been full of interesting faves and user accounts that I wouldn’t have discovered hadn’t Twitter decided to show them to me. Twitter’s algorithms are good, and we should be excited about the prospect of a service being able to cater to our interests with timely and accurate recommendations – not cynical by default.

Once you accept the idea that Twitter timelines may expand beyond your following list and tweets’ timestamps, it’s easy to imagine how they could be remixed to offer more topic suggestions, summaries, or recommendations. But Twitter needs to go easy with that. The idea of a timeline still is a powerful one: Twitter wants to show you what’s happening, and events – no matter the algorithm you use – always happen in succession. Being able to stop and watch events as they unfold is what makes Twitter great and essential and unique – whether it’s , the elections, an Apple keynote, or just a regular news day.

Twitter’s biggest challenge with the timeline isn’t appeasing power users – it’s balancing its desire for user attention with the very nature of the service. Twitter doesn’t want to become like Facebook because it would lose the unique advantage that puts them against a confusing and clunky News Feed; but at the same time, a static timeline that doesn’t help people get more out of Twitter isn’t interesting, pushing people to leave Twitter out of boredom.

It turns out, Twitter struggles with a common dilemma: how to deal with time.

New Twitter

Twitter and the third-party iOS development community owe a lot to third-party Twitter clients. The modern Twitter mobile experience wouldn’t have been possible without the early efforts of The Iconfactory and Loren Brichter; with Tweetbot, Tapbots has built a Twitter client for power users that can’t be found anywhere else.

But 2014 Twitter is bigger than Twitterrific and Tweetbot. Today’s Twitter goes beyond text and a traditional display of the timeline – it encompasses native photos (and soon videos), interactive previews, advanced recommendation algorithms, photo tagging features, and a fully indexed search. I didn’t know how much I would come to rely on Twitter’s new features until I started using the official app and now, in spite of design details and advanced functionalities that I still prefer in third-party clients, I don’t feel like I want to switch back.

And that’s because the basic Twitter experience in 2014 is different. Twitter is split in Legacy Twitter and Modern Twitter, and it increasingly seems like users and developers of classic clients will have to stay in the past of the service. Perfectly functional (for now), beautiful in their delightful touches, but ultimately limited.

Choosing a Twitter client is incredibly personal. This experiment reinforced my belief that most of my criticism for Tweetbot and Twitterrific stems from API limitations that Twitter won’t fix for third-party developers. For this reason, it would be wrong to judge third-party clients solely based on features they can’t implement. Instead, my exploration allowed me to take a fresh look at the design choices in Twitterrific (generally thoughtful, but sometimes confusing and too skewed towards the idea of a unified timeline) and the functionality of Tweetbot (still great, but sorely missed on the iPad). Twitterrific and Tweetbot aren’t without problems, but they are fantastic apps for what they can do.

Reevaluating Twitter clients with no preconceptions made me realize that the official Twitter app is the best choice for me.

To me, third-party Twitter clients now feel like apps from a different era. Dozens of features that have become part of my daily Twitter experience aren’t supported by Twitterrific and Tweetbot, and there’s nothing they can do about them. At this point, I don’t know what’s right or wrong, and I don’t know if Twitter is making a smart or shortsighted move in not bringing new features to the API. In an ideal world, every developer would always be able to write a client for a web service, but the world is less than ideal, and, unfortunately, sometimes big software companies choose a closed ecosystem.

I started this experiment in June for two reasons: I wanted to assess the state of Twitter clients and I was curious to see if the official Twitter app was as bad as many were saying. In the end, I realized that, as a power user, not only have I been fine with the Twitter app – I miss the new Twitter features when I don’t have them.

I see what Twitter has become, and I like it. The Twitter experience I have in third-party clients isn’t the full Twitter anymore. As much as I wanted to deny it, I needed to face the facts and accept that the rest of the world sees Twitter through a different lens than our iOS community. Twitterrific and Tweetbot still offer plenty of features that I love such as timeline sync, better support for external image URLs, and share sheets, but, when compared to the new Twitter that I can have in the official app, the trade-off isn’t worth it anymore for me.

One day, third-party Twitter clients will likely stop working, and I hope that day will be as far in the future as possible. Twitter was built on third-party apps, and, even if it seems improbable, I’m still hoping that Twitter will find ways to modernize its API because a diversity of clients can only benefit iOS users.

Today, the real Twitter is what you get in their iOS app. And it’s not so bad after all.

Guys. Tweetie has been bought by Twitter.

— Federico Viticci (@viticci) April 10, 2010

Twitter Clients in 2014: An Exploration of Tweetbot, Twitterrific, and Twitter for iOS #archive

Tweetbot 2.0 for Mac Coming As Free Update

Tapbots announced today that Tweetbot 2.0 for Mac will be released on Yosemite and it’ll be a free update for existing customers.

Tweetbot for Yosemite has been more work than anticipated, but it is coming…and yes, it will be a free update!

— Tweetbot by Tapbots (@tweetbot) February 4, 2015

My preference on iOS these days may go to Twitter’s official app, but, on the desktop, Twitter for Mac is in a very sad state, whereas Tweetbot is a great client with tons of handy features. I’m curious to see if Tapbots will manage to add support for modern Twitter features, but, overall, the visual refresh is already looking good. Considering that it’ll be a free update, you can buy the app today from the Mac App Store, get your Twitter token in, and wait for the new version to launch.

Tweetbot 2.0 for Mac Coming As Free Update #archive

Tapbots Relaunches Website, Working on Tweetbot 4.0 for iOS

The fine folks at Tapbots have relaunched their website today, focusing on the apps they’re currently selling on the App Store as well as details on upcoming updates. From their blog post:

Welcome to the new! We hope this long overdue refresh is a better place to stay up to date with our apps. Our goal this year is to not only ship updates on a more regular basis, but also provide more insight into what we are currently working on. So lets get on to the important bits of information.

With the refresh, Tapbots has pulled Convertbot from the App Store (its core functionality is built into the newly released Calcbot 2), removed Pastebot, and set Weightbot free.

On the homepage, Tapbots confirms that a major update to Tweetbot for iOS (version 4.0) is in the works with iPad and landscape support, a redesigned profile view, and more. Tweetbot 3.0 was a fantastic take on Tapbots’ Twitter client (and it stacks up well to other Twitter apps on iOS) and, between this and Tweetbot for Yosemite, I’m excited to see more Tapbots software in 2015.

Tapbots Relaunches Website, Working on Tweetbot 4.0 for iOS #archive

Tweetbot Adds Support for New Twitter ‘Quote’ Feature

An update to Tweetbot released last Friday has introduced support for Twitter’s new ‘quote’ feature, which allows to add comments to tweets without wasting text and while still embedding the original message with a nice preview.

The feature, first launched by Twitter in its iPhone app last month, allows Tweetbot users to quote tweets by adding their comments before a URL. When a tweet is sent in Quote mode, the comments will be displayed on top of the original tweet, which will be shown as an inline preview that carries the original user’s profile name, username, a truncated version of the tweet, and any included Twitter photo. This is closely modeled after Twitter’s own quote style, which also embeds tweets with text and images.

Version 3.6 of Tweetbot with the new quote feature is available on the App Store. Twitterrific, iOS’ other popular third-party Twitter client by The Iconfactory, hasn’t been updated with support for quoted tweets yet, but, considering the addition in Tweetbot, I hope it’ll follow soon with its own take on the functionality.

Tweetbot Adds Support for New Twitter ‘Quote’ Feature #archive

Why I Switched My Favorite Twitter, RSS, and Podcast Apps for Three Weeks

For at least five years there have been three slots on my iPhone Home screen dedicated to apps for Twitter, RSS, and podcasts. For as long as I can remember, they have been taken up by Tweetbot, Reeder and Castro. Three weeks ago I got rid of all three, and replaced them with Twitteriffic, Unread, and Pocket Casts. I had come to the awkward realisation that although I frequently tried new apps (and occasionally reviewed them), I didn’t do the same thing when it came to Twitter, RSS, and podcast apps – at all. I had become too comfortable with the same apps.

So for three weeks I’ve been solely using those apps, and this “experiment” has lead to a few interesting revelations to me. Perhaps the most obvious one was that I discovered certain features I really liked, but had no idea I liked, until they were missing in the app I switched to (and vice versa). I won’t spoil the results, but suffice to say I have resolved to try new apps (whatever their purpose) more frequently, even if I’m really happy with the app I’m currently using.

Note: Just a heads up, this is not a review of Twitteriffic, Unread, and Pocket Casts. It is a reflection of what I personally liked and disliked about each of these apps, as compared to my use of Tweetbot, Reeder, and Castro. Just because I preferred one to the other, doesn’t mean they’re bad apps – in fact all six of them are great. Finally, there are some big features of each app that I will not mention, simply because I don’t use them.

Twitter: Twitteriffic

If there was anything that really precipitated this experiment, it was the shameful fact that I had not used Twitteriffic for many, many years. The main reason I didn’t choose the official Twitter app for this experiment was that I do actually use it a few times a week to view the Notifications tab, which provides much more info than Tweetbot. But I knew I wouldn’t permanently switch to the Twitter app because I’ve explored it a bit in the past and it just wouldn’t suit my use of Twitter, and I’m happy to use it as an occasional supplement to Tweetbot.

Anyway, three weeks ago I bought the latest version of Twitteriffic and removed Tweetbot from my iPhone home screen. The result…

I’m switching back to Tweetbot

What I Liked About Twitteriffic

Nothing (but that sounds worse than it is). What I mean by that is that there aren’t any features or design choices in Twitteriffic that I prefer, compared to Tweetbot. I seriously thought a lot about this, but I just cannot think of anything. Having said all that, and this may sound odd, the choice between Tweetbot and Twitteriffic was actually the closest of all three. Both are incredibly polished apps with a great amount of functionality and design excellence. There was nothing functionally wrong with Twitteriffic, and if Tweetbot disappeared tomorrow, I’d be perfectly happy with being “forced” to use Twitteriffic.

What I Disliked About Twitteriffic

Muting Functionality. I frequently mute hashtags which talk about TV shows because I live in Australia and have to wait hours, if not days/weeks before I see an episode. But I mute for a period of time, not indefinitely. Tweetbot makes this easy to do: simply tap and hold on a hastag, select “Mute”, and then choose for how long (1 Day, 1 Week, 1 Month or Forever). In Twitteriffic you don’t get to choose the period – it’s for an indefinite period. And as someone used to interacting with hashtags, it took me a long time to realise that to mute from a tweet, you need to press the “…” button.

Top-Heavy User Interface. I don’t know how people with an iPhone 6 Plus use Twitteriffic – it was difficult enough for me on an iPhone 5s to reach the top navigation buttons. The saving grace is that most of your time will be spent scrolling the main timeline, but if you do need to send a tweet, or view your DMs, get ready to stretch those fingers/thumbs. I’m also not much of a fan of the sidebar, which I accidentally triggered at least once a day whilst scrolling my timeline.

Missing Revamped Quote Tweet Functionality. Just before I started this experiment, Twitter revamped their quote tweet feature and Tweetbot was pretty quick at supporting it on their iPhone app. Three weeks later and my Twitter timeline is full of people using this new quote tweet feature. You can still read the quoted tweet in Twitteriffic by tapping the link, but it takes time and even though I had just a few days of the Tweetbot update, I quickly appreciated it enough to miss it in Twitteriffic. I’m sure this will come to Twitteriffic soon, so I didn’t mark Twitteriffic down too much for missing this, but it was still frustrating.

Miscellaneous Nitpicking. I had a few occasions (enough to warrant this comment) throughout the three weeks where Twitteriffic would just freeze up and become unresponsive. I think a few of those times where when I had 900+ unread tweets from overnight and I tapped the status bar (to scroll to the top), but then quickly stopped it scrolling, so that it stopped around ~200 unread tweets. It couldn’t seem to handle this a few times and, after a brief lag, completely ignored my intervention and went to the very top. Finally, the unified timeline was just confusing to me, particularly in respect to DMs – fortunately there’s an option to turn this off.

Podcasts: Pocket Casts

To preempt the inevitable question as to why I didn’t choose Overcast, Apple’s Podcast app, Instacast, or one of the many other clients, it was twofold. I wanted to choose an app I had never tried before, and wanted one that was well-regarded but also an underdog in some respects. Plus Shifty Jelly, the developer of Pocket Casts, also makes Pocket Weather Australia, which I really like. The result…

I’m switching back to Castro

What I Liked About Pocket Casts

Sharing. I don’t imagine I’d use this feature frequently (I used it once in the three weeks), but the ability to easily share a link to a podcast episode is just great to have – a glaring omission in Castro.

The Now Playing Screen. Castro’s innovative scrubber is great, but there’s something equally great about Pocket Cast’s simple but really well designed Now Playing screen. Coming from Castro, it is particularly great to have a large play/pause button!

Emoji Notifications. When I first got a Pocket Casts notification, I wasn’t very impressed with the inclusion of emoji. But as I got a few more notifications about new podcast episodes, I suddenly noticed that they were different emoji – Shifty Jelly has assigned custom emoji for many of the most popular podcasts (e.g. 🇺🇸 This American Life, 💰 Planet Money, 🍊 Freakonomics). It’s a little touch and I actually really like it – although I can imagine opinion might be divided on this issue.

Navigational Structure. Coming from the simplicity of Castro, Pocket Cast’s navigational structure seemed overly complex to me. There were different “episode filters” for Unplayed, Downloaded, and Downloading – despite the fact that you could tell if an episode was downloaded/downloading in the unplayed filter (I ended up deleting the others). You could also create your own episode filters, which at first seemed like a great idea. So I created some episode filters but then never found the need to use them. There’s no doubt some people will love the flexibility of Pocket Casts, but I personally prefer the one list approach of Castro. And I subscribe to around 30 podcasts, so I’d say that I’m more than just a casual podcast listener.

Lack of Description Snippet. Pocket Casts will only show a single line of the title and doesn’t show any of the description in the episode filter lists. This can be frustrating when I’m trying to choose which episode to watch, as I don’t have a lot of information to go on at a glance. Castro, by contrast, tries to display the entire title (two lines) and includes up to four lines of description – making it a lot easier to skim my list of unplayed episodes and choose which one to watch.

Sleep Timer Functionality. When you set a sleep timer in Pocket Casts and the timer runs out, the podcast will simply stop playing as if you pressed the pause button. That can confuse me, wondering if I have accidentally pressed the pause button or if there was a problem with the podcast file. By contrast, when the sleep timer in Castro runs out it will fade the volume down to indicate that it is being paused due to the timer. Castro also literally tells you “Sleep timer extended” (via text to voice) when you resume playing the episode. That’s great because in my sleepy state I like the reassurance that the episode won’t continue playing forever if I do fall asleep.

User Triggered Autoplay. When you select a podcast episode to play in Pocket Casts it will play that episode and then stop. But if you tap and hold on a podcast episode you can choose to play that “Up Next” or make Pocket Casts autoplay episodes from there. That’s what I want, but I’d rather not have to manually do that every time. Once again, I prefer the way it works in Castro – always playing the next podcast episode available (which can be turned off).

RSS: Unread

I’ve just talked quite a bit about how much I like using Castro, an app made by Supertop. So when it came to choosing an RSS app to replace Reeder, Unread was an easy choice because it is also made by Supertop, and I’ve heard lots of great things about it. For those reasons, when I went into this experiment I thought that this would be the most likely switch to become permanent. I’ve used Reeder for many, many years and although it is a fantastic app, I presumed I’d enjoy a nice change of pace. The result…

I’m switching back to Reeder

Turns out I was pretty wrong. Unread was still a great app, but out of the three switches I made in this experiment, this was the hardest to adjust to.

What I Liked About Unread

Themes. Reeder also has themes, but I much preferred the selection of themes in Unread. Unlike the muted and beige-y themes of Reeder, there are a mix of themes in Unread, some of which incorporate vibrant colors.

Twitter Timeline Feel. This was a double-edged sword. Unread will display the first sentence of articles, which when combined with the title, makes it easy to get a good idea of what is in an article. Reeder on the other hand only displays one line of the actual article, which on my iPhone 5s translates to about 4 or 5 words, which is almost always useless. So the upside of Unread’s design was that I found myself tapping in to view the entire article less frequently, and when I did tap into an article it was because I was interested in the full story, not because I wasn’t sure what it was about.

So. Much. Scrolling. The downside to Unread’s design is that the way I read (mostly scrolling headlines) is made much more laborious. On my iPhone 5s, Unread usually only displays two articles in the list, whereas Reeder’s equivalent screen fits 4-5 articles plus UI elements on the top and bottom of the screen. If I didn’t use RSS as heavily as I do, I think I would actually prefer the information density of Unread. But because of the way I use RSS, Unread made reading it all feel like more work than it does in Reeder.

Sparse Interface. This is a little hypocritical of me, given I applauded Castro’s simple interface over Pocket Casts. But I’m going to try and justify myself by noting that I spend a lot of time using an RSS reader, whilst my objective with a podcast app is to quickly start a podcast and then exit the app. In any case, I found myself frequently overwhelmed and disorientated by Unread, which is hard to explain. I think it was caused by the really sparse UI with lots of white space and a lack of unique characteristics to individual articles (like publisher icons), but I’m not sure. All I know is that I didn’t enjoy using the app extensively and subconsciously over the three weeks I just started just scrolling through my shorter Smart Streams and delayed going through the larger Smart Streams until I was at my Mac (with Reeder).

So, Nothing Changed?

Yes and no. I have now switched back to my long-standing favorites of Tweetbot, Reeder, and Castro. But I don’t regret starting the experiment and encourage you to take the time and switch some of your longtime favorite apps. I feel more confident that I really am using the best Twitter client for me, I’ve discovered some features that I really appreciate (without previously knowing), and I’ve sent a few dollars to great indie developers. This certainly won’t be the last time I run an experiment like this.

Why I Switched My Favorite Twitter, RSS, and Podcast Apps for Three Weeks #archive

Tweetbot 4 Review: Bigger Bot

There have only been two great Twitter apps for iPad since 2010: Loren Brichter’s Twitter, and the original Tweetbot for iPad.

As I reminisced last year in my look at the state of Twitter clients, iOS apps for Twitter are no longer the welcoming, crowded design playground they once were. Developing a Twitter client used to be an exercise in taste and restraint – a test for designers and developers who sought to combine the complex networking of Twitter with a minimalist, nimble approach best suited for a smartphone. Twitter reclaimed their keys to the playground when they began offering “guidance” on the “best opportunities” available to third-party developers. Four years into that shift, no major change appears to be in sight.

For this reason, I’d argue that while the iPhone witnessed the rise of dozens of great Twitter clients in their heyday, the iPad’s 2010 debut played against its chances to receive an equal number of Twitter apps specifically and tastefully designed for the device. Less than a year after the original iPad’s launch (and the Tweetie acquisition ), Twitter advised developers to stop building clients that replicated the core Twitter experience; a year later, they started enforcing the 100,000-token limit that drove some developers out of business. Not exactly the best conditions to create a Twitter client for a brand new platform.

Largely because of the economic realities of Twitter clients, few developers ever invested in a Twitter app for iPad that wasn’t a cost-effective adaptation of its iPhone counterpart. Many took the easy route, scaling up their iPhone interfaces to fit a larger screen with no meaningful alteration to take advantage of new possibilities. Functionally, that was mostly okay, and to this day some very good Twitter apps for iPad still resemble their iPhone versions. And yet, I’ve always felt like most companies had ever nailed Twitter clients for a 10-inch multitouch display.

With two exceptions. The original Twitter for iPad, developed by Tweetie creator and pull-to-refresh inventor Loren Brichter, showed a company at the top of their iOS game, with a unique reinterpretation of Twitter for the iPad’s canvas. The app employed swipes and taps for material interactions that treated the timeline as a stack of cards, with panels you could open and move around to peek at different sets of information. I was in love with the app, and I still think it goes down in software history as one of the finest examples of iPad app design. Until Twitter ruined it and sucked all the genius out of it, the original Twitter for iPad was a true iPad app.

And then came Tweetbot. While Twitter stalled innovation in their iPad app, Tapbots doubled down and brought everything that power users appreciated in Tweetbot for iPhone and reimagined it for the iPad. The result was a powerful Twitter client that wasn’t afraid to experiment with the big screen: Tweetbot for iPad featured a flexible sidebar for different orientations, tabs in profile views, popovers, and other thoughtful touches that showed how an iPhone client could be reshaped in the transition to the tablet. Tapbots could have done more, but Tweetbot for iPad raised the bar for Twitter clients for iPad in early 2012.

Three years later, that bar’s still there, a bit dusty and lonely, pondering a sad state of affairs. Tweetbot is no longer the champion of Twitter clients for iPad, having skipped an entire generation of iOS design and new Twitter features. Tweetbot for iPad is, effectively, two years behind other apps on iOS, which, due to how things turned out at Twitter, haven’t been able to do much anyway. On the other hand, Twitter for iPad – long ignored by the company – has emerged again with a stretched-up iPhone layout presented in the name of “consistency”. It’s a grim landscape, devoid of the excitement and curiosity that surrounded Twitter clients five years ago.

Tweetbot 4 wants to bring that excitement back. Long overdue and launching today on the App Store at $4.99 (regular price will be $9.99), Tweetbot 4 is a Universal app that builds upon the foundation of Tweetbot 3 for iPhone with several refinements and welcome additions.

In the process, Tweetbot 4 offers a dramatic overhaul of the iPad app, bringing a new vision for a Twitter client that’s unlike anything I’ve tried on the iPad before.

Tweetbot for iPad

The tension of the iPad graduating from single-purpose utility to portable computer is stronger than ever in iOS 9. Tweetbot 4 fits right into this discussion with a redesigned app that leverages the bigger screen to see more at once and interact with multiple pieces of the Twitter timeline at the same time.

The most notable change in Tweetbot 4 for iPad is a new column view that puts a second column on the right side of the screen in landscape mode. Based on Tapbots’ previous work on OS X, the second column allows you to pin views, lists, and searches for the current account to the right. The column is fully interactive and it lets you move across different sections at any time with one tap.

Column view is enabled by default in landscape mode (it can’t be turned off), and it’s automatically hidden in portrait. Visually, the app borrows from Tweetbot 3, the old Tweetbot for iPad, and Tweetbot for Mac to provide a mix of an iPhone-like interface with a fixed sidebar on the left to move between sections of your account (like Tweetbot 2 for iPad) that, however, only shows icons instead of larger tabs with labels (like Tweetbot for Mac).

From a visual standpoint, Tweetbot for iPad is in line with Tapbots’ redesign of Tweetbot 3 for iOS 7, with light and dark themes that have been refined for iOS 9 and the same set of basic interactions for tweets in the timeline. Like on the iPhone, you can tap tweets to reveal an action drawer; tweets, links, user avatars, and other elements can be long-pressed to open the share sheet or more contextual options. The basics of the app are unchanged from Tweetbot 3, and there are no new settings to learn.

Switching sections in column view.

To change the section shown in the column view in landscape, you can tap the button in the view’s title bar. When scrolling the column, you’ll be able to tap above the button in the title bar to go back to the top; this can be hard to do if you don’t tap precisely over the button.

Tweetbot’s new column view feels like Split View for Tweetbot itself, limited to a subset of sections. Like Apple’s take on iPad multitasking, the main view and column view are independent from each other in terms of interaction: you can swipe both simultaneously, and scrolling will remain smooth and locked at 60 FPS in both views on the iPad Air 2. From a technical perspective, Paul Haddad ’s work on the column view results in good performance and no hiccups.

Design-wise, the column view has posed an interesting conundrum for Mark Jardine, who’s managed to make its look and function fit with the rest of the app – with some reservations.

Due to size constraints, the column view can’t show the action drawer when tapping tweets, and you won’t be able to swipe left to open the detail view for a tweet either. The former is easy to understand: there isn’t enough horizontal space to fit action buttons. I can speculate on the latter, but I believe Tapbots disabled the gesture to avoid potential conflicts with the Slide Over activation gesture, which is also performed in the same direction from the same side of the screen.

Opening the detail view only requires one tap.

Thus, Tapbots has incorporated the action drawer and swipe left gesture in a single tap that opens a popover for the tweet’s detail view. This way, you can tap on a tweet in the column once to get a popup that packs the tweet, conversation, replies, and actions all together. The same applies to profile pictures, usernames, and hashtags tapped from the column view: they will open as popovers with one tap.

I like the idea of using popovers to avoid having navigation in the narrow column view, and I think it’s a clever way to use the iPad’s screen and to make it easy to get in and out of tweets quickly. I’ve only been confused by having to switch interaction model when moving from the column to the popover: in the column, tweets can’t be swiped to the left, but you’ll have to do that in the popover if you want to open a detail view for a tweet.

Instinctively, I find myself occasionally swiping instead of tapping (and vice versa) when I’m dealing with tweets and popovers from the column view. It’s quite telling that, like the iPad itself, Tweetbot is now dealing with increased complexity and cognitive load in its transition from full-screen content to split layouts. I almost wish there was a setting to always open detail views with one tap from any timeline.

It’s also been interesting to observe how Tapbots rebuilt Tweetbot to react to the new multitasking environment of iOS 9. Tweetbot supports Slide Over: this allows you to open the app in a compact layout which is reminiscent of the iPhone version in that it puts tabs at the bottom and you can long-press them to switch views. In Slide Over, Tweetbot is exactly like its iPhone counterpart, with a taller timeline.

In Split View, the app doesn’t show the second column despite the (possible) space of the 75/25 layout.1 The app switches from tabs on the left to tabs at the bottom when moving to the 50/50 Split View layout. Column view is never available when entering Split View with Tweetbot, and I believe this is the right decision for version 1.0 to not make the app too complex.

Split View, 50/50 layout.

Column view isn’t perfect. Non-list or search columns are limited to mentions, stats, and activity; I would have also liked to be able to pin favorites and direct messages to the right side of the screen. I fave a lot of tweets on a daily basis, and I’d enjoy the ability to view them while keeping an eye on my streaming timeline on the left. It seems strange to me that Tapbots didn’t consider the use case for DMs as a column next to the timeline.

Secondly – and this could be a deal-breaker for those who like Twitter clients with multiple columns – the column can’t display sections from other accounts. You’re limited to views from the currently selected account, which, for some people, could hinder the potential usefulness of column view.

I understand why: because the same views are also available on the left, it would be more useful to load up a section from another account on the right. This way, you could monitor mentions to your blog’s account while you’re using your personal account, for example. There would be another increase in complexity when picking sections from other accounts in the column view, but it seems like the next logical step.

Lastly – and I’m mostly nitpicking here – the popover for tweets selected from column view doesn’t always open next to the selected tweet. In most cases, popovers don’t supersede the tweet they’ve been activated from: they’ll be shown on the left side of the tweet, so you’ll retain the context of what’s happening in the popover in relation to the column’s timeline. However, selecting the first or last tweet in column view makes the popover cover the entire column – an issue that should be fixed in a future update.

Despite its limitations and understandable growing pains 2, the sheer utility of column view has deeply changed how I use Twitter on my iPad. I tend to use the iPad in portrait mode constantly, but because I spend a lot of time on Twitter discovering links and talking to readers, column view has made me rethink my usage of the iPad in landscape.

With Tweetbot 4, I’ve been using my iPad in landscape more frequently, pinning mentions or the activity stream to the right so I can dive into conversations on one side and stay on top of my timeline on the other.

My favorite use of column view is scrolling mentions in two directions: I can scroll to the bottom and check out old mentions on the right, and stay pinned to the top and keep going with recent replies on the left. This has helped me engage with more readers and be more timely in my response as I can move quickly across different sets of mentions.

Slide Over Tweetbot. The perfect way to check on those sweet, sweet faves while you’re supposed to be working. (Thankfully, my boss is a very reasonable guy.)

Combined with Picture in Picture, I’ve been using Tweetbot while reading my timeline, monitoring mentions, and watching videos – a testament to iOS 9’s multitasking prowess but also proof of Tapbots’ apt work. Tweetbot is excellent in Split View: keeping my timeline next to Slack and Safari lets me follow breaking news and team updates, saving me the time I would normally spend switching back and forth between Twitter and other apps.

Tweetbot 4 is a must-have for Twitter power users who work from an iPad. The utility of column view is clear: once you see what Tapbots has done with the iPad’s screen, comparing it to Twitter’s prodigy of wastefulness is not even funny. Column view has redefined my idea of what a Twitter client should be capable of doing on the iPad, and I’m curious to see how it’ll evolve.

Some will ask for a way to turn off column view. Personally, I wish I could use it in portrait mode, too.3

iPhone 6 Plus Landscape Mode

Column view is best experienced on Tweetbot for iPad, but it’s not exclusive to the device. iPhone 6 Plus owners will be able to use column view in landscape mode, which, like on the iPad, puts a second timeline on the right with a popover to switch sections at the top.4

Tapbots had to accept some trade-offs with column view on the 6 Plus. Screen height is the biggest compromise here, with Tweetbot displaying 2-3 tweets in the column view due to limited vertical space. Popovers have also been replaced by modal popups that take over the app in the middle of the screen: their behavior is the same as on the iPad, but they hide the main view and column underneath.

I haven’t used column view on my 6 Plus much for two reasons: when I need to go through lots of links and mentions I just grab my iPad; and, I don’t use landscape mode on the 6 Plus much anyway. But, there have been a couple of occasions in which I couldn’t use my iPad and I had time to browse mentions in column view; in spite of the limited size, I appreciated the ability to pin a second column on the iPhone.

A nice detail that I have to mention: in landscape mode, tabs rotate with the app and are displayed in a sidebar on the left. You can tap & hold them to show the contextual menu for other views, which will animate horizontally instead of vertically.

Keyboard Shortcuts

With iOS 9, Tapbots has added support for external keyboard shortcuts in Tweetbot for iPad. The feature is based on the OS’ improved keyboard integration and Discoverability, which displays available shortcuts based on the view you’re in with a translucent cheat sheet.

There are two sets of shortcuts in Tweetbot 4. In the main view, you can cycle through sections with Command-1/9 (like in the Mac app) and open the compose screen with Command-N. When in compose mode, you can send a tweet with Command-Return or dismiss it with Command-ESC.

Alas, that’s about it for keyboard shortcuts in Tweetbot. You can’t scroll the timeline without touching the screen, and there’s no concept of tweet selection with associated actions.

It would have been nice to interact with the app from the keyboard to select tweets and reply or share with shortcuts. I like that I can change sections and send tweets without lifting my fingers off the keyboard, but I wish Tapbots had done a little more in this regard (such as supporting actions and share when in a Detail view).5

Stats and Activity Views

Tweetbot 4 offers two new views to keep track of interactions with your tweets. Called Stats and Activity, these views are bundled in the same page and you can switch between them with a segmented control in the title bar.

Activity is reminiscent of Twitter’s own Notifications tab: it lists every mention, follow, fave, quote, and retweet you’ve received from newest to oldest, and it updates in real time on Wi-Fi. Each interaction is marked with a different icon in the stream, and tapping an item will take you to the relevant user profile or tweet. If you’re looking for a way to view interactions with your tweets in a unified timeline, the Activity stream is a handy addition, and I was surprised to see that Tapbots was able to aggregate quoted tweets as well.

I’ve been more interested in the Stats screen, though. In this page, you’ll get a weekly chart of your daily activity on Twitter with separate counts for faves, retweets, and new followers for the current day. A big, blue ‘Today’ number shows a count of everything reported in the Activity stream since midnight local time, and tweets that have recently received faves and retweets are displayed at the bottom in a scrollable timeline.

I try not to obsess over Twitter stats and followers, but I enjoy the occasional report on how my tweets are doing and if people are responding well to them. The Stats dashboard doesn’t surface all the data that is available with individual tweet statistics in the Twitter app, but it provides the kind of unified visualization that is missing from the official client and which tracks easy-to-understand metrics such as faves and RTs.

The chart, while unable to display data points for individual days, is a nice way to get a visual breakdown of your activity for the past week. One issue I have with it, though, is that it’s not clear what Today means unless you know that it sums up all items from the Activity stream. Also, I would have expected to be able to tap on the followers count to see everyone who’s started following me, but tapping that number does nothing. Once Tapbots resolves these issues, I wouldn’t mind having access to monthly and yearly stats collected from Tweetbot, too.

The detail view for tweets listed in the Stats screen is interesting. Tap on one of your tweets, and Tweetbot will show another count for faves and retweets with profile pictures of users who have favorited or retweeted your tweet, plus a list of replies and quotes with tabs at the bottom. I like how information is broken down in this view: retweets and faves are the counts I care about the most, and, thanks to the Twitter API, Tweetbot gives me access to the same counts I see in the official Twitter app with the ability to view all users who have interacted with a tweet.

Replies and Quotes are a handy addition, as I can easily separate mentions from quotes and check how people have commented on my tweets without having to search for them. The Twitter app doesn’t have an option for replies and quotes tied to the original tweet; Twitterrific shows counts, but they’re not tappable, and the app doesn’t offer a reply/quote breakdown either.

As a result, the Stats page in Tweetbot 4 is my new favorite way to check Twitter statistics that matter to me. Faves and retweets are the universal counts that everyone understands; unlike the clicks and “engagements” reported by the official app, they’re not specific to any client and they’re fairly indicative of a tweet’s popularity.6

From a design standpoint, Tapbots has done a good job at logically grouping stats together with tweets, providing a simple yet effective dashboard that looks great and sums up a week’s activity nicely.7 Despite some minor problems, I’m happy that Tapbots has been able to pull this off with the Twitter API, and I’ve found myself checking out the Stats page on a regular basis.

Safari View Controller

This won’t come as a surprise, but Tweetbot 4 adds support for iOS 9’s Safari View Controller to open links inside the app with an in-app browser based on Safari. Safari View Controller can be enabled by going to Settings > Browser and toggling ‘Open in Tweetbot’.

Safari View Controller (left) and Tweetbot’s updated share sheet.

I’m a fan of Safari View Controller, and I have enabled it in every app that supports it on iOS 9. The speed and usability advantages of Safari View Controller trump any custom browser I’ve tried, and I value the ability to open webpages with the same set of options (such as Reader and Content Blockers) that I’d normally get in Safari.

There’s a disclaimer, though. By enabling Safari View Controller in Tweetbot, you lose the ability to open a webpage in one of the app’s tabs and continue browsing Twitter in other tabs. As I wrote in my review of Tweetbot 3:

Now, whenever you follow a link, a web view will be opened and confined to the tab it’s been launched from. If you open a link from your timeline, you can switch to the Mentions tab and do something else; if you open a link from a DM, you can go back to the timeline and read tweets while the page is loading.

Due to Safari View Controller’s modal behavior that takes over in full-screen on any view underneath, this is no longer possible if you set in-app Safari as a browser option. It’s a necessary compromise to enable Safari View Controller integration in Tweetbot, and there’s nothing Tapbots can do about the system API.

I somewhat miss the navigation freedom granted by the old in-app browser, but the convenience of Safari View Controller and its performance gains have led me to use it all the time, opening links in Safari when I don’t want Safari View Controller to disrupt the view I’m looking at.8

Design Changes

iPad app and Stats page aside, there are some visual changes in the new Tweetbot worth noting. For the most part, the app doesn’t drift away from the direction of Tweetbot 3; tweaks to color highlights and other redesigned screens make for a refreshed UI with some practical advantages as well.

First up: San Francisco. Available in Settings > Display, Apple’s new system typeface is the default option in Tweetbot 4. Avenir is still available, but I’ve been satisfied with the look and readability of San Francisco.9

Left: Tweetbot 3.

The tweet selection highlight has been changed from a dark gray to a very light gray with a blue action drawer. The entire app has received a new shade of blue (including the icon); it’s a nice visual change as the blue color is used for links, in-app banners, usernames, the new tweet indicator, and more.10 ~

Other screens have been redesigned as well.

In the DM view, tapping the ‘+’ button in the top right no longer prompts you to choose between a new tweet or direct message. Instead, Tweetbot 4 will default to a new DM, bringing up a popover to search among your followers.

I’ve long been skeptical about the decision to enable new tweets from the DM screen with a prompt, and I think the new behavior is more limited but also more pragmatic than the old one.

Look at this handsome guy. (Right: Tweetbot 4)

User profiles are perhaps the biggest design change in Tweetbot 4. Following version 2.0 for OS X, profile pictures and bios are now centered on top of a blurred cover photo (you can still swipe down to view it). Followers and Following lists have become tabs below the user bio and above the ‘Tweets’ and ‘Listed’ buttons. Displayed between tabs at the top and Recent Media at the bottom, Recent Tweets show a user’s latest tweets that aren’t replies to someone else. This is a good way to get a quick understanding of what someone tweets about without scrolling all of their tweets and mentions.

Tapbots must have been thinking about the process of following new users as well: towards the bottom of profiles for users you’re not following, you’ll see a group of Common Followers – users you follow that already follow the user you’re viewing. I’m more likely to follow someone if people I trust are already following that user, and I think this is another minor but handy addition that surfaces interesting data in the app.

Detail View

Tweetbot 4 has a redesigned tweet detail view: fave and RT counts are still available above the tweet’s date and client information, but conversations are arranged to be more in line with the official Twitter app.

Tweetbot 3’s detail view (left) and Tweetbot 4.

In the new app, the original tweet a mention is in reply to is displayed above the tweet and hidden by default, so you’ll need to swipe down to view the preceding tweet and conversation. Then, subsequent replies to a tweet are loaded at the bottom of a tweet in reverse chronological order from newest to oldest. This is a departure from Tweetbot’s old reply and conversation UI, and I have to say I’m glad Taptbots borrowed this from Twitter’s more logical thread interface.

Even if it breaks the spatiality of the Twitter timeline (where new tweets are always at the top), having past conversations sit on top of the currently viewed tweet makes more sense from a messaging UI perspective. In modern messaging conventions, old conversations are above and new texts come in below them. By swiping up to view the original tweet and conversation, you’re performing the same gesture you’d typically perform in Messages or Slack to view older conversations.

Replies to the tweet in the lower half of the screen, on the other hand, reverse the spatiality of conversations by showing old replies at the bottom and the newest ones at the top (Twitter keeps the opposite order in their app). The thinking here is that, when viewing a tweet, you want to see the latest replies and reactions to it without scrolling to the bottom to see what’s new. While I wasn’t sure about this decision at first, it has grown on me in the past few weeks of using Tweetbot, especially to check replies to my tweets. I prefer to see the latest comments first (because that’s what I might have missed) and older ones further down the list (as I’m more likely to have already seen them).

New Compose

The compose window has also been reworked in Tweetbot 4 with a revamped media picker and a UI refresh. It now opens as a pane in front of the timeline on the iPhone and as a floating popup on the iPad.11

This new design fits with the idea of layers in a post-iOS 7 world, but, surprisingly, it cannot be pulled down with a swipe to be dismissed.

You can still attach location data, pick usernames, and choose hashtags from this screen, with Tweetbot taking care of highlighting text properly. The big change is the new media picker, which opens as a scrollable tray of recent items from your photo library that you can tap to quickly attach them to a tweet.

Composing new tweets on the iPad.

I like the media picker as it’s modeled after the one in Messages in the way it facilitates picking recent items as opposed to manually opening the default photo picker every time. The animation effects used by Tapbots here are neat, with delightful bounces on selected images, a count on top of each item, and a media preview popping up in the compose field as you choose images and videos.

You can throw images away to dismiss them.

After attaching items to a tweet and going back to the keyboard (another cool transition), you can tap on the thumbnail previews to bring up a full-screen preview with a ‘Remove’ button at the bottom to discard an item. As with other media previews in the app, you can close the preview by throwing the image away with a swipe. Everything about the media picker in Tweetbot 4 is playful and polished, and it’s one of my favorite details of the app.

What’s Still Missing

Besides the (many) features that are exclusive to Twitter’s official app and that Tweebot can’t implement 12, there are some things that I wish Tapbots had considered for version 4.0, but which aren’t available today.

Tweetbot 4.0 still doesn’t offer a share extension to share text and links from other apps via the share sheet. Apps like Linky have shown the benefits of a custom tweet sheet with more advanced options, and it’s too bad that to share content with Tweetbot, you’ll need to do so by opening the app.

There isn’t a Watch app yet, and while the obligation to have a Watch counterpart for every iOS app is debatable, I believe that Twitterrific has demonstrated how ample utility can be derived from a subset of tweeting functionalities on the wrist.13 Given Tweetbot 4’s support for actionable notifications 14 and aggregated stats for tweets and users, it would have been nice to have some of this content and actions available on Apple Watch.

In terms of customization, Tweetbot for iPad comes with the same light and dark themes of the iPhone version, but personalization of the experience ends there. You can’t customize the left sidebar with icon shortcuts to specific lists or users, which leaves the area mostly empty in portrait mode.

Finally, while it didn’t directly affect me, Tweetbot 4.0 is launching without 3D Touch support on the iPhone 6s. This means that you won’t be able to launch app shortcuts from the Home screen or use peek & pop for links in the app. I hope that Tapbots will release an update to enable the feature in the iPhone app soon.

Bigger Bot

There’s a parallel between iOS 9 and Tweetbot 4. Like Apple’s latest iOS, the new Tweetbot brings a series of welcome refinements and smaller feature additions to the iPhone, with a much bigger change on the iPad that redefines the experience on the big screen.

Tapbots fundamentally understands the iPad platform better than Twitter does. Through the second column, popovers, and other interface adjustments, Tweetbot 4 makes the best use of the iPad’s screen since the original Twitter for iPad. And while Tapbots’ latest effort doesn’t have the revolutionary spirit of Loren Brichter’s iPad masterpiece, it shows a willingness to do more than simply adapting what worked for the iPhone.

Tweebot 4 is a nicer, faster Tweetbot in every way. That doesn’t change the fact, however, that what you’ll see in the app is a legacy Twitter, lacking the modern features and integrations of the official product. To get the full Twitter experience, you’ll need to keep the official app installed.

In this sense, Tweetbot 4 embraces its limitations and builds upon them, offering the kind of detail and features that Twitter – for different reasons – is ignoring or overcomplicating. Safari View Controller is a good example of what Tapbots has done that Twitter doesn’t want to do; the Stats screen, with its limited access to the Twitter API, provides a simple way to check on favorites, retweets, and new followers with a pretty chart – precisely what Twitter isn’t interested in doing for their app.

I’m an advocate of the modern Twitter, and I think their iOS app has more interesting options than most people tend to believe. But, thanks to its iPad app designed for power users and multitasking, Tweetbot 4 is making an offer I can’t refuse.

I switched back to Tweetbot weeks ago, and I’ve found it to be the best way to communicate and work with Twitter on my iPad in years. I’m not exaggerating it: if you work with Twitter on a daily basis from the iPad, Tweetbot 4 is the client you’ve been looking for.

I miss many of the features of Twitter’s app, such as fave and RT counts always displayed for every tweet in the timeline, cards, search, and one-tap access to conversations. But with the new iPad app, timeline sync, and improvements to the iPhone app, I’ve discovered a whole new Tweetbot that makes me more efficient at using Twitter every day.

Tweetbot 4 shows what a Twitter client for iPad should be. Three years ago, I wrote that Tweetbot for iPad was the better Twitter app I had been waiting for. Today, that is still the case.

Funny how history repeats itself.

Tweetbot 4 is available on the App Store.

Tweetbot 4 Review: Bigger Bot #archive

Tweetbot 2.1 for Mac

Today, Tweetbot for Mac has been updated to version 2.1, which brings the same Activity page seen in Tweetbot 4 for iOS, better support for quoted tweets, in-app video playback, and several other improvements. Notably, you can now view images shared in Direct Messages (you’ll still have to share them from the official Twitter app, though), the search popover for users has been simplified, and you can now select and define words in tweet detail views. A good update for Mac users, with some welcome parity with the iOS version.

Tweetbot 2.1 for Mac #archive

Tweetbot 4 Adds 3D Touch Support on iPhone 6s

Released earlier this month, Tweetbot 4 marked an important comeback for Tapbots. After years of stagnation, the iPad app received a fantastic update with a new design and column view, while the iPhone app continued refining the foundation of Tweetbot 3 with power user features and various visual tweaks.

Among changes, however, Tweetbot 4 didn’t launch with 3D Touch integration on the iPhone 6s – a choice motivated by developed Paul Haddad with an understandable desire to test the new input method on an actual device first. Today, Tapbots has released Tweetbot 4.0.1, which brings support for 3D Touch in the form of Home screen shortcuts and peek & pop gestures inside the app.

I wouldn’t normally cover every single app which received 3D Touch support over the past few weeks, but my usage of Tweetbot 4 is high and frequent enough to warrant a standalone mention. Also, I believe the implementation in the app’s timeline considerably changes the experience of browsing and previewing tweets.

On the Home screen, Tweetbot shows three shortcuts upon pressing firmly on its icon: Show Activity, Tweet Last Photo, and Tweet. The ability to quickly tweet the last photo taken has been particularly handy in my tests. I often take a screenshot on my iPhone that I want to share on Twitter; with 3D Touch and this shortcut, Tweetbot opens in the Compose screen, populating its attachment field with the last item from your photo library. It’s an ingenious addition to the 3D Touch menu, and one that shows how hidden app features can be exposed to users in a fresh and consistent way.

Alas, Tweetbot currently doesn’t let you customize the menu like Launch Center Pro or PCalc can – if you were hoping to have easy access to Direct Messages or a list in here, you’re out of luck this time. I hope that Tapbots will consider allowing users to define their own 3D Touch options for the Home screen (it seems like many developers are opting for this route ).

Where 3D Touch in Tweetbot is most impressive, I think, is in the peek & pop gestures. In any timeline in the app (read: not in a tweet detail view, direct message, or profile view), you’ll be able to press once to peek at a tweet, webpage, or user profile, then press harder to pop it open and navigate to a detail view, full profile, or webpage with Safari View Controller. These gestures are accompanied by the same visual effects and haptic feedback used elsewhere in iOS 9; you can also swipe up when peeking at content to reveal an action menu with contextual options for tweets (fave, retweet, quote, or reply) and users (reply, manage list memberships, or mute).

Since getting a version of Tweetbot with 3D Touch support last week, I’ve started readjusting the way I interact with my timeline on a daily basis. When I scroll my Twitter feed, I don’t need to look at every tweet in detail. Over the years (and by following quite a few people), I’ve developed a way to quickly assess a tweet’s relevance to my interests. A good part of my Twitter experience is previewing content – whether it’s a tweet, an article, or a user profile – before deciding what to do with it: should I read this now or save it for later? Is this tweet worth a favorite? What about this picture?

3D Touch facilitates this behavior as quickly previewing tweets and links is easier than ever. If I want to see how many faves, retweets, or replies a tweet has received I no longer have to swipe on it and then swipe back – I can just press, peek, and let go to return to my timeline. Tweets are previewed in a smaller card with the same design of a standalone detail view (which is what you get if you “pop” and choose to fully expand a tweet, entering a nested view).

As per Tapbots’ tradition, the implementation is extremely well done and fast: when peeking, the original tweet and replies load above and below the tweet you 3D-touched, which lets you peek at entire conversations with just a press of your finger on the timeline. You can also peek at Vines, Twitter videos, and Instagram videos, which will start playing in the preview card without having to press harder to pop them. You can peek at embedded tweets, hashtags, and profiles – which will show a small card with essential user information such as bio and followers counts.

These new interactions don’t just make for a good demo of 3D Touch – when applied to the Twitter timeline, they fundamentally alter the experience of previewing tweets and media. The nimble flow of peek and pop plays well with the ephemeral and short-form nature of Twitter – it’s a perfect match, and Tapbots is taking advantage of it quite cleverly.

That’s not to say Tapbots can’t do better in future iterations of 3D Touch in Tweetbot. When peeking at a tweet that contains a picture/video, the thumbnail preview isn’t shown in the floating card – a design choice that I don’t fully understand as it’d be useful to see the full tweet alongside fave and RT counts when peeking.

Because it’s limited to timeline views, I’ve often been confused by the inability of 3D-touching in the DM screen and tweet detail views, which was registered as a long tap that brought up the share sheet. Speaking of which, it can be occasionally difficult to not trigger the share sheet instead of the peek preview (and vice versa), but I don’t know if this is simply something I’ll get used to with time. In general, I’d like to see more consistency with the availability of 3D Touch in the app.

I didn’t think 3D Touch would turn out to be a big deal for Tweetbot, but in my usage it has become a key aspect of interacting with the app and saving time when looking at tweets, users, and webpages. Tapbots has done a good job at understanding how 3D Touch could be useful in the app, and I’m looking forward to more customization and consistency in the future.

Tweetbot 4.0.1 with 3D Touch support is available on the App Store.

Tweetbot 4 Adds 3D Touch Support on iPhone 6s #archive

Tweetbot 4.0.2 Lets You Swipe Safari View Controller Away

Well, that was fast.

A few hours after the release of Tweetbot 4.0.1 with 3D Touch, Tapbots has released version 4.0.2 of the app, which adds a swipeable Safari View Controller.

Thanks to a workaround by Paul Haddad, you can now dismiss Safari View Controller with swipe from anywhere along the left edge of the screen – on both the iPhone and iPad. The gesture works surprisingly well despite its non-standard behavior, and it fixes one major annoyance of Safari View Controller on iOS 9.

I hope that more apps consider this, as it combines the comfort of Tweetbot’s old web view with the benefits of Safari View Controller.

Update: Also in this release, you can set Safari View Controller to open in Safari Reader mode automatically for every webpage (if Reader is available). I previously wrote about the feature here, and it works well for Tweetbot if you primarily open articles to read in-app. Very nice.

Tweetbot 4.0.2 Lets You Swipe Safari View Controller Away #archive

Tweetbot Upgrades to CloudKit Sync

The latest version of Tweetbot for iOS has upgraded its iCloud syncing engine to CloudKit, bringing faster performance for timeline, DM, and mute filter sync. From the release notes:

This update is all about sync. We’ve switched our syncing engine to use CloudKit which will provide you with faster, more consistent syncing between your iOS devices and Macs. It also sets up a foundation for some cool features we have planned for future releases. We know improved syncing doesn’t sound too exciting, but it will provide a better underlying experience.

From a user’s perspective, nothing’s changed – Tweetbot still uses iCloud and you don’t have to change anything in your preferences. However, Tweetbot is now using a better version of iCloud, with near-instant sync of changes between devices.

I’ve been running this version of Tweetbot with CloudKit sync for a few weeks, and it’s a very nice upgrade from the old iCloud sync. I’ve often left two devices running with Tweetbot in the foreground at the same time, and I’ve seen the timeline scroll on one device just a second after I stopped scrolling on the primary device. It’s impressive.

If you haven’t tried iCloud sync in Tweetbot in a while, go check it out again. Tweetbot 4.3 is available on the App Store (my review of Tweetbot 4.0 is here ).

Tweetbot Upgrades to CloudKit Sync #archive

Tweetbot 4.3 Introduces ‘Topics’ for Easier Tweetstorm Creation

A topic in the new Tweetbot 4.3.

Picture this: it’s WWDC keynote day and you’re following the event. You want to live tweet as the event unfolds. What do you do?

The answer is that, so far, Twitter the company has mostly failed to provide users with ways to rapidly tweet commentary and have tweets intelligently grouped together once an event is over. Sure, you could append the same hashtag to every tweet, “tagging it” for context, but that wouldn’t fix the underlying problem of a bunch of messages related to the same event and yet treated as atomic units with no relationship between them.

Thus Twitter the community came up with the idea of the tweetstorm, a clever workaround based on how Twitter threads work. If you want to post multiple tweets in a row and establish a thread between them from start to finish, reply to your own tweet, removing your username at the beginning of the message, and you’ll “fake” a series of topical tweets which Twitter sees as part of a conversation…with yourself. It’s not the most elegant solution, and it doesn’t work well for rapid fire live tweeting, but it sort of works and a lot of people use it by now.

Tweetbot, the excellent Twitter client developed by Tapbots which relaunched with version 4.0 in October, is introducing an update today that fully embraces the concept of tweetstorms with a feature called “topics”.

Topics simplify the process of chaining tweets together with an intuitive interface that makes it look like Twitter rolled out support for topics. Under the hood, Tapbots is still leveraging the aforementioned @reply workaround, but they’ve been clever enough to completely abstract that from the UI, building what is, quite possibly, one of the most ingenious Tweetbot features to date.

Topics and Tweetstorms

Setting up a topic.

Topics in Tweetbot 4.3 use chained replies as the backbone for a cleaner presentation of multiple tweets about a subject. They’re easier to create than normal tweetstorms and they are ideal for live tweeting as well as thoughts spanning multiple tweets. You can include hashtags with every tweet when a topic is assigned, and you can also automatically save a group of tweets as a Twitter Collection, which you can later share and publish elsewhere.

Topics can be activated in two ways. When you hit the Reply button on a tweet of yours, you’re shown a menu to send a reply or create a new topic. The ‘Create Topic’ screen requires you to add a title (which only you can see) and it has two optional fields for hashtags and Collections. If you choose to mirror tweets from a topic into a collection, you can enter a description for the collection, too. Alternatively, you can create and assign topics by tapping the gear icon in the Compose screen of a new tweet (where Drafts are also located).

Once you have some topics (they are stored on a per-account basis), you can pick one and it’ll be assigned to the tweet you’re composing. Tweetbot nicely indicates you’re tweeting in topic mode with a blue bar on top of the compose screen. If you tap the ‘x’ button, you’ll remove the topic from the tweet and your message won’t be chained to anything you’ve previously tweeted.

Here’s how Tapbots turned a hacky workaround into an elegant option: you don’t have to actually reply to yourself, remove your username, or chain tweets every time. You can just tweet by opening the compose screen and assigning a topic. Under the hood, Tweetbot will find existing tweets belonging to a topic, it’ll fetch the latest tweet from that group, and it’ll send the new tweet as a reply to it. It even takes care of automatically stripping your username at the beginning of the tweet. Everything happens behind the scenes. You don’t have to manage any of it, and you’ll end up with a series of threaded tweets that’s really a string of messages in reply to each other. It’s much simpler and faster than creating a tweetstorm by replying to yourself. It feels like a native Twitter feature.

It gets better if you decide to publish a topic as a collection. Until today, Tweetbot had no way to display Twitter Collections, let alone create new ones. Twitter itself doesn’t support adding tweets to collections on its iOS app – you’ll have to use Tweetdeck. With Tweetbot 4.3, Tapbots added support for the Collection API to add tweets from a topic into a collection. Ironically, Tweetbot has a better chance at making collections more widely used than Twitter’s own iOS apps.

When you mirror a topic to a collection, every tweet will be neatly grouped in it; you can find collections under your profile.

Tweets inside collections are sorted from oldest to newest. You can share a link to a collection or email every tweet from a collection to someone else. If you head over to on a desktop web browser, you can also generate embed codes for collections so you can publish them on the web. Take a look at the topic I created last night with Tweetbot 4.3 about gadgets I like, saved as a collection.

New Gadgets I Like The downside of automatic addition to collections is that you won’t be able to turn it off for individual tweets. Either you add every tweet from a topic to a collection or you don’t add them at all. This is something I’d like to see Tapbots improve in the future.

Because topics are stored in iCloud, you’ll be able to create a topic on your iPhone, then pick up the iPad and Tweetbot will reply to the latest tweet from a synced topic. This worked well in my tests, though Tweetbot for Mac still hasn’t received support for topics and I wasn’t able to test the feature on my MacBook Air. Tapbots says topic support in Tweetbot for Mac is coming soon.

Tweetbot’s new topic feature is a good example of why we need third-party Twitter clients. Despite the rising popularity of tweetstorms and the idea of posting multiple tweets as part of a longer event or discussion, Twitter has refused to build official support for topics. As a result, users have come up with their own workaround, which isn’t ideal but gets the job done. The folks at Tapbots have disassembled the workaround, made it work seamlessly behind the scenes, and they’ve repackaged it with a nice interface, sync between devices, compatibility with Twitter’s apps, and the delightful touch of Twitter Collections.

Once again, Tapbots has devised a solution to make Twitter power users save time and have a superior experience than the official Twitter app. I expect to use Tweetbot’s topics profusely going forward.

iPad Improvements

Tweetbot 4.3 comes with two nice improvements on the iPad.

First, support for hardware keyboards has been expanded and you can now navigate tweets in the timeline with the arrow keys. This, plus the ability to interact with selected tweets through shortcuts, makes the external keyboard experience in Tweetbot fairly solid.

Second, Tweetbot 4.3 adds a button to hide and show the secondary column whenever you want. Users who prefer to hide the column will be able to do so with the new button in the top toolbar, but, more importantly for me, this means I can view the column while Tweetbot is in Split View as well.

Multitasking inception.

This alone has changed how I use Tweetbot on my iPad Pro. Every day, I take a few minutes to go through my mentions and reply to as many as I can. When I’m doing that, I like to keep an eye on my main timeline as well – which was already possible in Tweetbot 4.0. However, until today, Tweetbot wouldn’t show the second column in Split View even though there was clearly enough space for it.

With Tweetbot 4.3, I can scroll my mentions, check on my timeline, and use another app at the same time. It’s like I’m doing three things at once, and I can’t help but wonder about a future version of iOS where you can look at three or four apps simultaneously. I don’t think it’d be too crazy at this point.

More Tweetstorms Are Coming

Seven months later, Tweetbot 4 continues to be everything Twitter for iOS isn’t: a powerful iOS app with an iPad version that truly takes advantage of the bigger display.

You could argue that Twitter’s iOS team doesn’t care about the power user features that Tapbots builds because they’re catering to a different audience. But there’s a bigger problem going on. Twitter is simply making a bad iPad app, with a poor timeline design, lackluster system integrations, and a ridiculous iPad Pro UI. Twitter for iPad should be a case study on how you shouldn’t design an iPad app – they’re shipping the stuff Tim Cook once ridiculed. Twitter used to be at the forefront of iPad interface design. It’s sad to see where they’ve ended up.

Tweetbot 4 is the best client for Twitter power users on iOS but it’s also the best Twitter app on the iPad, period. Today’s update epitomizes what Tapbots excels at: it offers an intelligent solution for a feature Twitter has avoided to build, and it takes the iPad app to the next level for multitasking with Split View and external keyboard improvements. I expect to see a lot of topic-based tweets in my timeline next month.

Tweetbot 4.3 is available on the App Store.

Tweetbot 4.3 Introduces ‘Topics’ for Easier Tweetstorm Creation #archive

Tweetbot 4.4 Brings Timeline Filters

With an update launching today on the App Store, Tweetbot is adding the ability to filter timelines – any timeline within the app – by specific types of content.

I didn’t fully grasp the benefit of filters at first – they looked like another way to enable mute filters in any Tweetbot view. After spending a week with filters, though, I can see the value they bring to the app, particularly if you use searches and profile timelines a lot, or if you’ve been looking for ways to quickly exclude or catch up on a topic in your timeline.

Tweetbot’s new timeline filters can dynamically filter tweets based on keywords and the following tweet types:

Unlike mute filters (which, once activated, are applied to the entire app), timeline filters are easier to put together thanks to a creation UI and they can be enabled for individual sections of the app. Furthermore, unlike muting a keyword or a user, filters allow you to exclude or include a keyword or tweet type, so you can hide tweets that match a certain keyword or type or only view those tweets, excluding everything else.

Media and Links filters in Tweetbot 4.4.

Filters can be accessed by tapping the funnel icon on top of any timeline, next to the search bar. By default, Tweetbot ships with two built-in filters: Media (which is reminiscent of the app’s original Media timeline ) and Links, which is a nice way to see all web links shared by people you follow (if used in the main timeline).

The core aspect of the feature, though, is that you can create your own filters without having to deal with complex regular expressions: just include or exclude some keywords, combine rules you want to match from the visual picker, and you’re set. Filters will be available at any point in any timeline, with the ability to activate them independently from each other throughout the app. For example, you can choose to view only links in your timeline and tweets without hashtags in your mentions, or view tweets from a user that don’t contain links or a keyword.

Setting up a filter from scratch.

When I was in San Francisco for WWDC, I used filters extensively to filter my timeline and mentions to specific types of content that let me see what people were saying about iOS 10. While that was possible with searches before, using filters is more intuitive and it only takes one tap to activate them and change the tweets displayed in Tweetbot. I can see how filters will become a popular choice to quickly refine which tweets are shown in a timeline thanks to their easy controls.

I have some complaints about this first version of filters. For one, they don’t sync – you’ll have to recreate each filter from scratch on your other devices. Considering Tweetbot’s excellent iCloud sync, this strikes me as an omission that will be rectified soon. I also would have liked to see the filter icon to be placed in the top title bar, not in the search bar; with the current design, you can only activate a filter by scrolling all the way to the top first, whereas I’d like to filter my timeline as I’m catching up with it (say, after an Apple event). Last, all keywords in filters are joined by an OR operator behind the scenes – there’s no way to filter by “iOS 10” as a full string instead of the words iOS or 10. I’d like to see a way to add multiple-word keywords, such as quoting them or separating them by commas.

Once again, Tapbots is differentiating Tweetbot from the official Twitter app in ways that make sense for power users. Between CloudKit sync, topics, and now filters, there’s even more of a contrast between the simplistic approach of Twitter’s app and Tapbots’ powerful take. I’ve been happily using Tweetbot as my only Twitter client since version 4.0 launched – it’s still the best option by far on the iPad Pro, and it keeps getting better on each release.

Tweetbot 4.4 is available on the App Store.

Tweetbot 4.4 Brings Timeline Filters #archive

Tweetbot 4.5 Brings iOS 10 Updates, Profile Notes

Profile notes and slightly richer notifications in Tweetbot 4.5.

Tapbots released Tweetbot 4.5 today with a few iOS 10 additions.

In the latest version, notifications are slightly richer: you won’t be able to preview entire conversation or DM threads in a notification, but at least the sender’s username and notification title will have a bold font for better visual separation. I would have liked to see even richer notifications with custom interfaces, and I also wonder if Tweetbot could use SiriKit’s messaging intents to send DMs. Perhaps Tapbots will consider deeper iOS 10 enhancements in the future.

Also new in this version, you can now add notes to user profiles. According to Tapbots, the feature is intended to add a brief note to remember why you followed someone; personally, I think it’s just as effective to remember why you don’t want to follow someone without blocking them. User notes are private, they sync with iCloud, and they can be accessed from the gear menu on a user’s profile.

Finally, Tweetbot 4.5 supports smoother scrolling thanks to iOS 10’s performance improvements in this area. It’s not always noticeable, but I’m glad Tapbots implemented this feature for iOS 10 devices.

Tweetbot 4.5 is available on the App Store.

Tweetbot 4.5 Brings iOS 10 Updates, Profile Notes #archive

Tweetbot Updated with Support for Longer Tweets

When Twitter rolled out support for longer tweets yesterday, we mentioned that Tweetbot – the popular third-party client – would soon support the new format natively. Tapbots has released updates to the iOS and macOS apps today that let you view and create longer tweets (where media, polls, and quotes don’t count against 140 characters) without having to rely on Twitter’s official app. You can get the iOS update here.

Tweetbot Updated with Support for Longer Tweets #archive

Tweetbot 4.6 Brings Image Support in DMs, New Compose UI for Replies

The new compose UI for replies in Tweetbot 4.6.

In an update released today on the App Store, Tapbots has started taking advantage of Twitter’s more flexible third-party API to allow users to send images in private conversations (DMs). The feature – which has long been available in Twitter’s official app – is limited to static images for now (no videos or animated GIFs), although the Twitter API could make more attachment types possible in the future.

Perhaps more notably, Tweetbot 4.6 comes with a redesigned compose interface for replies. Similarly to Twitter’s iPhone app, Tweetbot 4.6 doesn’t count usernames against the 140-character limit. To present this change in functionality, Tapbots has opted for a Twitter-like design where usernames aren’t displayed in the compose box upon starting a reply. Instead, a “Replying to…” banner at the top of the screen highlights the tweet’s original author and other participants in a conversation. Tap the banner, and, like in the Twitter app, you’ll be a shown a popup with a list of users you’re replying to. The author at the top of the list can’t be de-selected; other users in the conversation can be removed by tapping on the blue checkmarks.

Twitter (left) and Tweetbot 4.6.

While this design is similar to Twitter’s, it should be noted that Tweetbot limits this presentation to the compose view for replies. Unlike Twitter’s official apps, usernames are still displayed in the body of a tweet in both the Timeline and Mentions views, providing a familiar format that doesn’t force you to tap on the “Replying to…” banner from every section of the app. Personally, I believe Tapbots adopted a better solution than Twitter itself: the compose UI is nicer and usernames are easier to remove, but the timeline retains the familiar @usernames that add context to inline conversations.

I’m curious to see how Twitter’s new API roadmap will impact third-party clients such as Tweetbot over the next few months. Tweetbot continues to be my daily Twitter client on every platform, and I hope Tapbots will be able to add even more native Twitter features in future updates (I’d love to have support for polls in Tweetbot).

Tweetbot 4.6 is available on the App Store.

Tweetbot 4.6 Brings Image Support in DMs, New Compose UI for Replies #archive

Tweetbot for iOS Adds 280-Character Tweet Support

Yesterday, Twitter extended the character limit of tweets to 280. Unlike some features, Twitter has made the new tweet length available to all third-party developers.

First out of the gate is Tweetbot by Tapbots. Less than 24 hours after Twitter’s announcement, Tweetbot users can use a full 280 characters in tweets. I expect we’ll see additional updates from other Twitter client developers soon.

Tweetbot is available on the App Store.

Tweetbot for iOS Adds 280-Character Tweet Support #archive

Tweetbot 3 for Mac Review

Tapbots has released Tweetbot 3 for Mac, which overhauls the app’s design, provides greater flexibility to manage multiple columns and navigate different parts of Twitter, and includes a dark mode. For the first time since it was introduced in 2012, Tapbots has also made version 3.0 a separate paid app, which means that existing and new users alike will have to pay $9.99 for the update.


Although Tweetbot 3.0 retains the basic look and feel of its predecessor, nearly every interface element of the app has been adjusted in some manner. Starting with the timeline view, the compose button has been moved to the bottom left-hand corner of the window, replacing the multi-column button. Previously, it was in the top right-hand corner next to the search button, which made it easy to click search inadvertently when you meant to compose a tweet and vice versa.

Tweetbot version 2.5 (left) and version 3.0 (right)

Individual tweets have a different look too. Media included in quoted tweets is more prominent, retweet information has been moved to the top of a tweet, and tweet details show whether the person tweeting follows you. However, the most noticeable change is the dedicated row of light gray buttons along the bottom of each tweet for replying, liking, retweeting or quote-tweeting, and performing account or tweet actions. Previously, a tweet’s buttons were only visible if a tweet was selected or moused over.

The last two buttons in the row consolidate account and tweet-related actions found in a variety of places in Tweetbot 2.5. The button with the silhouette of a person accesses the same sort of actions you could previously find by right-clicking on a user’s avatar or visiting their profile page: public reply, Add/Remove from Lists, Disable Retweets, Enable Notification, Open Profile in Safari, Unfollow, Mute for 24 Hours, Block User, and Block and Report for Spam.

Tweetbot 3 (right) has share extension support via each tweet’s gear button.

The button with the gear icon includes the same tweet actions as the older version with the addition of the ability to open a tweet in Safari, Open Link/Media, and Share. Opening a tweet in Safari is handy for voting in polls, for example, which you can’t do in third-party Twitter clients, but I don’t understand the purpose of Open Link/Media, which requires an extra click compared to simply following a link in the body of a tweet, especially since the action only opens the last link in a tweet. My favorite addition to Tweetbot is the Share action, which accesses Mac app extensions making it simple to send a tweet’s link to other apps like Things, DEVONthink, Notes, or any other app you have installed that accepts URLs.

The row of buttons at the bottom of each tweet means fewer tweets fit vertically into Tweetbot’s window, but that can be mitigated by more font size options and the ability to hide media previews.1 Another new preference is an option to auto-play videos that appear in your timeline. Tweetbot 3 also debuts a new dark mode that sets the background of displayed tweets to dark gray.

The other change to Tweetbot you’ll notice right away is that the sidebar for navigating different sections has been rearranged. The changes go deeper than a simple reordering though. Coupled with a drop-down navigation menu at the top of Tweetbot’s window, the update makes navigating Tweetbot easier than ever.

Tweetbot 3 adds title bar navigation within sidebar sections.

Timeline navigation has not changed, but right below that is a new bell icon for Notifications, which includes what were separate Mentions and Activity sections. When you first open Notifications, you’ll see that mentions, likes, retweets, and follows are all combined into a unified chronological list, which, frankly, I don’t like. Fortunately, you’re not stuck with the combined list. The dropdown menu that’s accessible by clicking on the word ‘Navigation’ in the title bar lets you filter the list so that it includes only Mentions or Activity. By limiting Notifications to Mentions, my Activity is now an extra click away, but that’s fine because it’s not a section I regularly use anyway.

When you are in the Direct Message and Search sections, the title bar navigation menu lists your ten most recent direct messages and your first ten saved searches. The navigation menu for the Account, Likes, Muted, and List sections all provide quick access to your profile (a slightly different presentation of the account view), tweets, likes, mutes, and lists.

The update also makes it easier navigate multiple accounts. When you click on your avatar, you can click on other accounts you’ve added to Tweetbot to view them in the same window or click on the arrow to the right of the account name to open it in a separate window, which was something that was previously only available as a right-click action.

Drag the multi-column button to the right to open additional columns.

Tweetbot has also added an interesting new way to open multiple columns. When you mouse over the lower right-hand corner of the window, a bright blue column button animates into view. Dragging the button to the right opens a new column. You can also fling the button to the right in one quick motion to open multiple columns at once. It’s a simple, fast maneuver that’s a big improvement over the old version of Tweetbot.

My only reservation about the feature is that it doesn’t always seem to open columns with the sections in the same order. It’s easy to switch to another section using the navigation menu in the title bar, but if the app is going to automatically open different sections for each column, it feels like they ought to follow the order of the sections in the sidebar.

There are many other little tweaks to Tweetbot 3 throughout the UI, but there are a couple of things missing too. Support for Favstar, which announced over the weekend that it is shutting down on June 19th, has understandably been removed. So has read-it-later service support. Pocket and Reading List are available as extensions through the Share menu, but the removal means that users of Instapaper, which doesn’t have a Mac app, are out of luck.

Tweetbot 3 is an all-new app, which means new and existing users who want to use it will need to purchase the new version. The update provides a solid UI refresh, new ways to customize its look, and greater navigation flexibility. I’m happy with the update, especially the integration of share extensions and new ways to navigate my accounts, but I also don’t feel like any of the changes are must-haves. That said, as an app that I’ve used on my Mac every day for years without paying for an update, I don’t personally have an issue with paying for Tweetbot 3.

However, if you’re a light Twitter user and are happy with version 2.5 of Tweetbot, you can stick with it. Tweetbot 2.5 will continue to work, and a bug-fix update is coming. The old version won’t receive new features, but if version 3 doesn’t have features you find compelling, you can wait until it does or until version 2.5 no longer works.

Tweetbot 3 is available on the Mac App Store for $9.99.

Tweetbot 3 for Mac Review