What is this?
iTwtr is a simple web-based Twitter client specifically designed for the iPhone. It was created by Dan Phiffer (@dphiffer).
What makes it different from other iPhone Twitter clients?
The main thing that sets iTwtr apart is its capacity to download content in the background and save it for future viewing. When you login to your Twitter account, iTwtr will start downloading and archiving your Twitter feeds for archival purposes. This also allows us to circumvent the current limitation on API requests for older content.
iTwtr is also open source, so you can hack on the code and run it on your own server.
Finally, iTwtr is very configurable. By default you are subscribed to your tweets, those from your friends and replies addressed to you. You can also subscribe to other Twitter content (e.g., other people’s favorites) and post from multiple Twitter accounts with the custom login option.
Why’d you make this?
Partially because I am really bad at procrastination sometimes, and I was avoiding Real Projects. And partially because I read John Gruber’s article about Twitter clients and I couldn’t resist taking a shot at my own implementation.
Why doesn’t iTwtr support [your feature here]?
Probably because I didn’t see it as totally necessary for a mobile Twitter client. But if you have a burning desire for additional functionality, let me know.
Why do you hold onto my Twitter account login?
That’s the only way to download content in the background. If there was another way to do it, I would have done it that way.
Should I be concerned about giving you my Twitter login?
Yes, I think you should! That’s a big reason I’m offering the code under an open source model. I won’t use your account for anything besides downloading and archiving your Twitter content, but there are still very good reasons to run your own server. (Not least of which is that it reduces my own server load.)
Can I erase my Twitter login after I try iTwtr?
Yes, you can expunge all of your iTwtr account information, including your Twitter login. You can also export all your account data if, at some point, you decide you want to run your own iTwtr server.
Couldn’t you use the Jabber/XMPP/pubsub option instead of a cron job?
I explored that option, but then iTwtr would be limited to content from public profiles (and those accounts with profile images) or I’d have to bend over backwards recreating some approximation of the friend timeline (with some kind of cron + Jabber hybrid).
I might reconsider this choice if Twitter starts providing a Jabber-enabled version of the friend timeline.
Isn’t there some chance this cron + API setup will miss content?
Yes, since we can’t retrieve more than 20 tweets at a time and the page parameter is diabled in the friend timeline API, iTwtr may not be the best choice for high volume accounts. The upper limit seems to be following somewhere in the neighborhood of 600 users. At that point it seems common to start getting close to 20 tweets per minute.
Are you loading content every minute? Isn’t that kind of abusive?
The default time span is 15 minutes between API calls. If more than 12 tweets are retrieved for any given call, the frequency of API calls doubles. Until you’re checking every minute, which is the maximum frequency.
I’ve tried to design the cron connection script to tread as lightly as possible, but I am open to suggestions for improvement.
As more people start using iTwtr, won’t it become difficult to keep up with all those API calls?
Yes, this is likely to happen. So far so good, but not many people are using it yet. I may have to stop the cron job if things blow up. If that happens, you will still be able to download the source code and run your own server instance.
Will you keep archiving my Twitter content indefinitely?
After 7 days of not logging in, the system will stop loading your Twitter content. Your database will still remain available for exporting even if we stop checking for new tweets.
What if I have a question that you haven’t addressed here?
Send it to me on Twitter (@itwtr).
What if I found a bug in the iTwtr software?
Send me a description on Twitter (@itwtr). Be sure to include as much detail as possible.