“I wanted to write a Twitter client for the Mac,” Mr. Thomas recalls. “I hated them all.”
But increasingly, developers are worried that they won’t always have the freedom to make third-party Twitter software.
In March of last year, Twitter’s director of platform Ryan Sarver said that developers should not “build client apps that mimic or reproduce the mainstream Twitter consumer client experience.” Then, late last month, the company’s director of consumer product Michael Sippey said that Twitter was preparing to enforce its developer guidelines even further with “stricter guidelines around how the Twitter API was used.”
Immediately, some speculated that third-party clients such as Tweetbot could be seriously hampered, or even completely cut-off.
“We chatted. Like, ‘What can it be?’ ” says Mr. Thomas, “But I’m not sure. We tried to get some information, but they [Twitter] are not really very forthcoming about anything.”
He speculates that Twitter might simply require developers to include more core Twitter features in third-party apps, such as ads, or recently unveiled Twitter Cards. Right now, for example, people who access Twitter using the company’s official app see sponsored tweets in their feeds, while those using apps such as Tweetbot do not.
“It’s a little worrying,” he admits. “Personally, with how much time and money I’ve invested in this, it would be really sad to see it all go away.”
Mr. Thomas began work on Tweetbot for Mac in October, and has been developing the app almost full-time since. And despite similarities between iOS and OS X development, there was still a great deal of work for Mr. Thomas to do. “Scrolling behaviour, all that stuff, it doesn’t behave the same on the Mac,” he explained. “Gestures on the Mac seem kind of half-baked as far as I can tell.
“The stuff in the Apple documentation … you know, it seems easy. Except I couldn’t ever get it to work. At all.” Instead, Mr. Thomas wrote his own gesture code so the app would behave just as it does on iOS. When a users swipes their trackpad with two fingers while hovering over a tweet, they can see replies and conversations without having to click a button or hunt through a drop-down menu. It’s an experience that’s meant to feel simple and fluid.
Luckily, Mr. Thomas doesn’t have to re-write everything. “There’s a common layer [of code] that we both share that just has generic stuff,” he explains – essentially, all of the underlying code that connects to Twitter and fetches tweets. “And then [Paul’s] apps are built on-top of that, and mine is built on top of that too.”
One of the benefits of this setup is that it’s easier for the Tapbot team to maintain feature parity across all of its apps, but still flexible enough for version-specific tweaks. Mr. Thomas, for example, can ignore Mr. Haddad’s and Mr. Jardine’s iOS code, and focus on features unique to Mountain Lion instead.
In fact, when Tweetbot is officially released in Apple’s Mac Store (they don’t know how much it will cost just yet), it will require the latest version of Apple’s OS X.
This is, in part, due to changes in a component called CoreAnimation that don’t exist in previous versions of the desktop OS. “I’ve yet to really tune [Tweetbot] for it, but I think that will make a big difference in scrolling and just general feel.”
“There’s stuff in the code now just hacked so it looks okay, but it works so much better in 10.8.”