I'm just now noticing this (I agree - why was this being announced over the
holidays???) - this will make it near impossible to process large users.
 This is a *huge* change that just about kills any of the larger services
processing very large amounts of social graph data.  Please reconsider
allowing the all-in-one calls.  I don't want to have to explain to our users
with hundreds of thousands of followers why Twitter isn't letting us read
their Social Graph. (nor do I think Twitter wants us to)  I had a lot of
high hopes with Ryan Sarver's announcements last year of lifting limits, but
this is really discouraging.

Jesse

On Sun, Dec 27, 2009 at 7:29 PM, Dewald Pretorius <dpr...@gmail.com> wrote:

> What is being deprecated here is the old pagination method with the
> &page parameter.
>
> As noted earlier, it is going to cause great pain if the API is going
> to assume a cursor of -1 if no cursor is specified, and hence enforce
> the use of cursors regardless of the size of the social graph.
>
> The API is currently comfortably returning social graphs smaller than
> 200,000 members in one call. I very rarely get a 502 on social graphs
> of that size. It makes no sense to force us to make 40 API where 1 API
> call currently suffices and works. Those 40 API calls take between 40
> and 80 seconds to complete, as opposed to 1 to 2 seconds for the
> single API call. Multiply that by a few thousand Twitter accounts, and
> it adds hours of additional processing time, which is completely
> unnecessary, and will make getting through a large number of accounts
> virtually impossible.
>
>
> On Dec 27, 7:45 pm, Zac Bowling <zbowl...@gmail.com> wrote:
> > I agree with the others to some extent. Although its a good signal to
> stop
> > using something ASAP when something is depreciated, saying depreciated
> and
> > not giving definite time-line on it's removal isn't good either. (Source
> > params are deprecated but still work and don't have solid deprecation
> date,
> > and I'm still going on using them because OAuth sucks for desktop/mobile
> > situations still and would die with a 15 day heads up on removal).
> >
> > Also iPhone app devs using this API will would probably have a hard time
> > squeezing a 15 day return on Apple right now.
> >
> > Zac Bowling
> >
> > On Sun, Dec 27, 2009 at 3:28 PM, Dewald Pretorius <dpr...@gmail.com>
> wrote:
> > > I agree 100%.
> >
> > > Calls without the starting cursor of -1 must still return all
> > > followers as is currently the case.
> >
> > > As a test I've set my system to use cursors on all calls. It inflates
> > > the processing time so much that things become completely unworkable.
> >
> > > We can programmatically use cursors if showuser says that the person
> > > has more than a certain number of friends/followers. That's what I'm
> > > currently doing, and it works beautifully. So, please do not force us
> > > to use cursors on all calls.
> >
> > > On Dec 24, 7:20 am, Aki <yoru.fuku...@gmail.com> wrote:
> > > > I agree with PJB. The previous announcements only said that the
> > > > pagination will be deprecated.
> >
> > > > 1.
> http://groups.google.com/group/twitter-api-announce/browse_thread/thr.
> > > ..
> > > > 2.
> http://groups.google.com/group/twitter-api-announce/browse_thread/thr.
> > > ..
> >
> > > > However, both of the announcements did not say that the API call
> > > > "without" page parameter to get
> > > > all IDs will be removed or replaced with cursor pagination.
> > > > The deprecation of this method is not being documented as PJB said.
> >
> > > > On Dec 24, 5:00 pm, PJB <pjbmancun...@gmail.com> wrote:
> >
> > > > > Why hasn't this been announced before?  Why does the API suggest
> > > > > something totally different?  At the very least, can you please
> hold
> > > > > off on deprecation of this until 2/11/2010?  This is a new API
> change.
> >
> > > > > On Dec 23, 7:45 pm, Raffi Krikorian <ra...@twitter.com> wrote:
> >
> > > > > > yes - if you do not pass in cursors, then the API will behave as
> > > though you
> > > > > > requested the first cursor.
> >
> > > > > > > Willhelm:
> >
> > > > > > > Your announcement is apparently expanding the changeover from
> page
> > > to
> > > > > > > cursor in new, unannounced ways??
> >
> > > > > > > The API documentation page says: "If the cursor parameter is
> not
> > > > > > > provided, all IDs are attempted to be returned, but large sets
> of
> > > IDs
> > > > > > > will likely fail with timeout errors."
> >
> > > > > > > Yesterday you wrote: "Starting soon, if you fail to pass a
> cursor,
> > > the
> > > > > > > data returned will be that of the first cursor (-1) and the
> > > > > > > next_cursor and previous_cursor elements will be included."
> >
> > > > > > > I can understand the need to swap from page to cursor, but was
> > > pleased
> > > > > > > that a single call was still available to return (or attempt to
> > > > > > > return) all friend/follower ids.  Now you are saying that, in
> > > addition
> > > > > > > to the changeover from page to cursor, you are also getting rid
> of
> > > > > > > this?
> >
> > > > > > > Can you please confirm/deny?
> >
> > > > > > > On Dec 22, 4:13 pm, Wilhelm Bierbaum <wilh...@twitter.com>
> wrote:
> > > > > > > > We noticed that some clients are still calling social graph
> > > methods
> > > > > > > > without cursor parameters. We wanted to take time to make
> sure
> > > that
> > > > > > > > people were calling the updated methods which return data
> with
> > > cursors
> > > > > > > > instead of the old formats that do not.
> >
> > > > > > > > As previously announced in September (http://bit.ly/46x1iL)
> and
> > > > > > > > November (http://bit.ly/3UQ0LU), the legacy data formats
> > > returned
> > > > > > > > as a result of calling social graph endpoints without a
> cursor
> > > > > > > > parameter are deprecated and will be removed.
> >
> > > > > > > > These formats have been removed from the API wiki since
> > > September.
> >
> > > > > > > > You should always pass a cursor parameter. Starting soon, if
> you
> > > fail
> > > > > > > > to pass a cursor, the data returned will be that of the first
> > > cursor
> > > > > > > > (-1) and the next_cursor and previous_cursor elements will be
> > > included.
> >
> > > > > > > > If you aren't seeing next_cursor and previous_cursor in your
> > > results,
> > > > > > > > you are getting data back in the old format. You will need to
> > > adjust
> > > > > > > > your parser to handle the new format.
> >
> > > > > > > > We're going to start assuming you want data in the new format
> > > > > > > > (users_list / users / user or id_list / ids / id) instead of
> the
> > > old
> > > > > > > > format (users / user or ids / id) regardless of your passing
> a
> > > cursor
> > > > > > > > parameter as of 1/11/2010.
> >
> > > > > > > > * The old formats will no longer be returned after 1/11/2010.
> > > > > > > > * Start using the new formats now by passing the 'cursor'
> > > parameter.
> >
> > > > > > > > To recap, the old endpoints at
> >
> > > > > > > >    /statuses/friends.xml
> > > > > > > >    /statuses/followers.xml
> >
> > > > > > > > returned
> >
> > > > > > > >     <users type="array">
> > > > > > > >       <user>
> > > > > > > >       <!-- ... omitted ... -->
> > > > > > > >       </user>
> > > > > > > >     </users>
> >
> > > > > > > > or JSON like [{/*user record*/ /*, .../]
> >
> > > > > > > > whereas
> >
> > > > > > > >         /statuses/friends.xml?cursor=n
> > > > > > > >         /statuses/followers.xml?cursor=n
> >
> > > > > > > > return data that looks like
> >
> > > > > > > >     <users_list>
> > > > > > > >       <users type="array">
> > > > > > > >           <user>
> > > > > > > >           <!-- ... omitted ... -->
> > > > > > > >           </user>
> > > > > > > >       </users>
> > > > > > > >       <next_cursor>7128872798413429387</next_cursor>
> > > > > > > >       <previous_cursor>0</previous_cursor>
> > > > > > > >     </users_list>
> >
> > > > > > > > or, the JSON equivalent:
> >
> > > > > > > >     {"users":[{/*user record*/} /*, ...*/], "next_cursor":0,
> > > > > > > > "previous_cursor":0}
> >
> > > > > > > > and the old endpoints at
> >
> > > > > > > >     /friends/ids.xml
> > > > > > > >     /followers/ids.xml
> >
> > > > > > > > returned data that looks like
> >
> > > > > > > >     <ids>
> > > > > > > >       <id>1</id>
> > > > > > > >       <id>2</id>
> > > > > > > >       <id>3</id>
> > > > > > > >     </ids>
> >
> > > > > > > > whereas
> >
> > > > > > > >     /friends/ids.xml?cursor=n
> > > > > > > >     /followers/ids.xml?cursor=n
> >
> > > > > > > > return data that looks like
> >
> > > > > > > >     <id_list>
> > > > > > > >       <ids>
> > > > > > > >         <id>1</id>
> > > > > > > >         <id>2</id>
> > > > > > > >         <id>3</id>
> > > > > > > >       </ids>
> > > > > > > >       <next_cursor>1288724293877798413</next_cursor>
> > > > > > > >       <previous_cursor>-1300794057949944903</previous_cursor>
> > > > > > > >     </id_list>
> >
> > > > > > > > or, the JSON equivalent:
> >
> > > > > > > >     {"ids":[1, 2, 3], "next_cursor":0, "previous_cursor":0}
> >
> > > > > > > > If you have any questions or comments, please feel free to
> post
> > > them
> > > > > > > > to twitter-development-talk.
> >
> > > > > > > > Thanks!
> >
> > > > > > > > --
> > > > > > > > Wilhelm Bierbaum
> > > > > > > > Twitter Platform Team
> >
> > > > > > --
> > > > > > Raffi Krikorian
> > > > > > Twitter Platform Teamhttp://twitter.com/raffi
>

Reply via email to