Title: Social Graph Information (The first post in this thread)
The limited use of followers/ids and friends/ids is a HOT issue under 1.1, and many suggest increasing the limit of this endpoint. Iâm not convinced with that because instead of GETing ALL followers/friends ids, app could GET ids changed since a previous fetch of ALL ids.
Considerations: Twitter does need to control server hits, and users need info for social graphing functions etc. One may think that getting followers/friends counts is the same thing. By getting IDs, an app knows who* their community is, e.g. how long ago a user followed, which users followed in the month/week/day/hour of. Much more useful value than simple counts. This feature is critical.
Goal: A solution that satisfies requirements for both Twitter and users that is not a workaround.
What does Twitter require?
To reduce bandwidth costs all around
Allow Twitter Eco-system to scale even better
What do users/devs actually require for the issue tho?
(1) Two pieces of infoâŚ
- (a) followers-since/ids. New followers SINCE a previous point (cursor or last time based)
- (b) lost-followers-since/ids. New lost followers SINCE a previous point (cursor or last time based)
(2) To reduce bandwidth costs all around
(3) Allow app to scale even better
Both parties share requirements, once an app caches it never need cache again with the two endpoint suggestions (1).
Use case example⌠an initialized cache contains⌠id_str 1, id_str 2, id_str 3
GET new endpoint (1-a) returns (id_str 4, id_str 5) ⌠app can add (id_str 4, id_str 5) to cache
GET new endpoint (1-b) returns (id_str 2, id_str 3) ⌠app can purge (id_str 2, id_str 3) from cache
result
app cache contains⌠id_str 1, id_str 4, and id_str 5
app knows how many ids there are with no further API hits to original endpoints used to create cache
â Outcome of this proposal â
Bandwidth costs are significantly reduced for Twitter, devs and users.
App becomes far faster to sync than now, plus is synced tighter to Twitter.
Social graphing suddenly becomes very cheap. Why? Very few accounts get more than 75,000 new followers a DAY, and even less lose 75,000 followers. Very few API hits are required, a result correct?
The initial scan may take the 1.1 rate limit * hours/days to cache, but from then on, very few calls are required to keep updated. Compare that with API 1.0 where many GETs are needed in order to sync. This proposal would also deprecate a lot of social graph sync code from any existing app, a bonus for devs.
Twitter servers would be stress relieved and devs 99% happy; the initial sync time being a minor bug bear.
Please Twitter consider this a high priority feature to implement before API 1.0 is permanently deprecated. What do you think @episod, can you make it so? 