In the past month or so I've seen lots of comments from people stating something like, "I'm not getting all the tweets from my friends. I end up getting only part of the conversations." In addition to the recent poor performance from Twitter, I have a couple of other explanations, and some tips to help decrease some of the tweets you are missing.
Twitter has a request limit. Make sure you're using it wisely.
Twitter normally has a rate limit of 70 request per hour from any application:
Clients are allowed 70 requests per 60 sixty minute time period, starting from their first request. This is enough to make just over one request per minute, per hour, which should meet the needs of most applications. Rate limiting applies only to authenticated API requests; requests for the public timeline do not count. POST requests (ex: updating status, sending a direct message) also do not count against the rate limit.
Understanding and making best use of this rate limit is important. Some desktop Twitter clients, Twhirl is an example, allow you to fine tune the number of requests you'd like to make per timeline (friends, replies, direct). Each one of these requests counts against your 70 per hour limit. Each of these types of requests to the API (friend, replies, direct) only return the last 20 messages of each type. So if you're only checking your friends timeline once every five minutes and your friends are making 30 updates in that five minutes there is a chance that you'll miss 10 of them.
Now that you understand that you can see that there is an opportunity for tweaking the settings for your usage. There is no use wasting requests on direct messages if you only get a couple per day (like me). Instead you can reduce the amount of requests for direct messages and maximize your the requests to your friends timelines. On the other hand if you follow thousands of people, replies and direct messages may be more important to you so you would want to maximize those and reduce the noise of your friends timeline. Here is an example of my settings:
You can see that I have Tweets (friends timeline) sent to once per minute and replies and direct messages set lower. This greatly reduces the chance that I'll miss any tweets from my friends.
NOTE: recently Twitter updated their API and stated that they reserve the right to limit requests to lower than normal rates to preserve system stability. As I write this post the limit is set to 30 requests/hour:
[Added May 27, 2008] From time to time, Twitter may lower the rate limit to preserve system stability. To find the current rate limit, use http://twitter.com/account/rate_limit_status.xml (available in .xml and .json). Calls to rate_limit_status require authentication, but will not count against the rate limit.
Understand the @replies Notification Settings
No doubt you've seen these options in the Settings > Notifications section of your Twitter account:
Notice the red circled option (I know it's hard to miss :)). The three options are
- All @replies
- @replies to the people I'm following
- no @replies
The one shown in the image is the default setting. Without some further investigation you might believe that these options are about @replies made to you and that the default setting is sufficient. However, you'd be wrong - as was I.
If you click on the "What is this?" link you'll be shown this page: http://help.twitter.com/index.php?pg=kb.page&id=85, which explains:
In the notices section of your settings page, you can choose how you will see the @replies of others. You have three options:
- all @replies: see all of the @replies made by people you follow, whether or not you follow the person to whom the reply is directed.
- @replies to the people I'm following: see @replies from people you follow directed toward other people that you also follow. This is the default setting.
- no @replies: never see any @replies in your timeline, ever
So you see that the options are not about @replies to you at all. They are about @replies the people you are following make. So if you keep the default setting you will never see updates from people you are following if they @reply someone you are not following. This may be the cause for some of your complaints about missing tweets from your friends. I recommend you change it to "all @replies".
I believe that the items I discussed are the two primary reasons people miss tweets from their friends. Hopefully the two tips I've provided will improve your experience and lead to you living happily ever after.