[twitter-dev] Re: Twitter buying Tweetie

2010-04-11 Thread PJB

+1 for Dewald getting his own session at Chirp! ;)  (Seriously!)

On Apr 10, 2:49 pm, Dewald Pretorius dpr...@gmail.com wrote:
 Maybe it's because I'm of the older generation, have been there and
 done that, and have discovered that the top looks so green because of
 all the crap that lies and flies there, that I hold the opinions that
 I do.

 I can understand folks' ambitions to make it. I guess in a way it's
 like a green recruit versus a veteran soldier. When you ask a green
 recruit about war, you will get answers about glorious deeds, killing
 the evil enemy, the honor of dying for your country, great adventure,
 and the like. When you ask a veteran soldier about war, you will get
 answers about rotting corpses, pieces of human meat splattered
 everywhere, being shit scared, losing your best buddies, and fighting
 and taking risks only to protect your buddies.

 Someone couldn't pay me enough to be at the top. The lifestyle is
 not worth the other sacrifices you need to make.

 On Apr 10, 6:25 pm, Dewald Pretorius dpr...@gmail.com wrote:

  Chad,

  Sometimes (well, okay, almost always) I just don't feel like citing
  all possible caveats to what I'm saying. I'm not writing here with
  visions of possible literary grandeur, potential book deals, or
  speaking engagements. I call shit like I see it. Sometimes I'm right,
  sometimes I'm wrong. It's just my opinion. Don't take what I say as
  gospel.

  Yes, there are ethical investors too. But, when the entrepeneur's
  ethics clash with the investor's ethics, or lack thereof, guess who is
  going to win. It does not require board level action or majority vote
  to put pressure on an entrepreneur. Simple verbal threats regarding
  current and future investments often suffice.

  On Apr 10, 6:13 pm, Chad Etzel jazzyc...@gmail.com wrote:

   On Sat, Apr 10, 2010 at 1:21 PM, Dewald Pretorius dpr...@gmail.com 
   wrote:
If you're an entrpreneur with strong ethical standards, then never
ever accept investment capital.

   You cannot be serious.

   Believe it or not there are ethical investors out there. Also,
   bootstrapping a company that goes huge is almost impossible,
   especially for the younger entrepreneurial crowd that can afford the
   time and lifestyle that it would entail but probably does not have
   tons of cash in the bank. Can you please site such a company that
   received zero outside investment dollars?

   -Chad- Hide quoted text -

  - Show quoted text -




-- 
To unsubscribe, reply using remove me as the subject.


[twitter-dev] Changing profile info, avoiding pending email is invalid errors

2010-03-30 Thread PJB

Many of our users are complaining that recently, using our app, they
are getting bizarre Account update failed: pending email is invalid
errors when trying to change profile info on Twitter (location, full
name, bio).

I see that this is a known issue -- http://bit.ly/bFs79q (not sure if
there is a bug tracker for this one?), and am wondering a) when a fix
is planned and b) if there are any ways to avoid this problem?  It is
happening for a subset of our users, not all users... so what's the
scoop?  It happens if the user has changed emails in the past?  Or if
we are using basic vs oauth?  Or what?

To unsubscribe from this group, send email to 
twitter-development-talk+unsubscribegooglegroups.com or reply to this email 
with the words REMOVE ME as the subject.


[twitter-dev] Re: Application Suspended

2010-02-16 Thread PJB
Presumably to do the OAuth vanity plate, you have to do what you
described in your disgruntled developer post above.  I.e., the user
registers their own OAuth app and enters the corresponding values in
your app, allowing you to masquerade as their app in tweets.  Frankly,
it seems to run counter to the purposes of OAuth.  But the developer
of one vanity plate app I found publishes email correspondence with
Brian from Twitter, and says they have been personally vetted by
Twitter, so I guess it is okay...

On Feb 16, 7:58 am, Dewald Pretorius dpr...@gmail.com wrote:
 I see what you mean. It will be great to know what is the Twitter
 approved way of providing vanity plates. It is obviously a feature
 that will rock, if we can get a level playing field by that rule being
 made public to all of us.

 On Feb 16, 11:04 am, PJB pjbmancun...@gmail.com wrote:

  Vanity plate OAuth is already pretty rampant.  And apparently
  acceptable by Twitter, too?  That's at least what the leading Desktop
  purveyor of such a system says... something along the lines of
  officially authorized by Twitter.




[twitter-dev] Re: Application Suspended

2010-02-16 Thread PJB

Thanks very much for the reply...

On Feb 16, 10:46 am, Ryan Sarver rsar...@twitter.com wrote:
 Sorry I am a little late to the thread and there are a lot of topics here so
 I'll do my best to cover them.

 1. Email notices - we send out an email for warnings and for suspensions
 every time to the email on record for the account that is being suspended.
 If the email isn't up to date or isn't valid then you won't receive it, but
 otherwise an email goes out every time. So it would be good to make sure the
 email on record for each account is a valid one.

 2. Dispute a warning or suspension - we've always said that emailing
 a...@twitter.com is the right path for disputing a warning or suspension. If
 you feel that you have emailed us at that address and haven't gotten a
 response, let me know, but the whole reason we use ticketing on that email
 endpoint is to make sure we follow up with each thread.

 3. Publication of policies - we are working to make them clearer and easier
 to find. However, we disagree that posting explicit boundaries is a good
 idea. The policies are in place to help enforce the spirit of Twitter which
 cannot be broken down into explicit numbers. If you are having problems with
 living on the edges of the unpublished numbers, then you are likely doing
 something that is not within the spirit of the platform.

 4. Hostile language - we have said over and over that we are open to
 constructive criticism. It forces us to be better and we strive to be
 better, however, we won't put up with hostile and inflammatory language on
 the list. We're all professionals here and we expect a certain level of
 professionalism from everyone on the list.

 Let me know if you have any questions. Best, Ryan

 On Tue, Feb 16, 2010 at 8:59 AM, Dewald Pretorius dpr...@gmail.com wrote:
  Nom nom nom, say the spammers.

  Add to that method a few proxies and/or IP addresses, or something as
  simple as giving your users a PHP proxy pass-thru script that they can
  upload to their servers, and there is no way that Twitter can even
  identify the offending app, let alone suspend/ban/blackhole it.

  On Feb 16, 12:28 pm, PJB pjbmancun...@gmail.com wrote:
   Presumably to do the OAuth vanity plate, you have to do what you
   described in your disgruntled developer post above.  I.e., the user
   registers their own OAuth app and enters the corresponding values in
   your app, allowing you to masquerade as their app in tweets.  Frankly,
   it seems to run counter to the purposes of OAuth.  But the developer
   of one vanity plate app I found publishes email correspondence with
   Brian from Twitter, and says they have been personally vetted by
   Twitter, so I guess it is okay...




[twitter-dev] Re: Application Suspended

2010-02-16 Thread PJB

Might I suggest that since you now have email contact with Twitter,
that you cease copying ALL of your correspondence with them to this
group?

On Feb 16, 1:53 pm, Jim Fulford j...@fulford.me wrote:
 Brian,
 I have made the requested changes to my application, but the support
 ticket has been closed and is no longer available.  Who do I contac to
 request to have my application turned back on?  I hope it won't take
 as long to check on this as it did for my first notice :)

 Also, I cannot get to oauth_client section of my twitter_account, so I
 have no facility to test anything or see when and if the applciation
 has been made active again.

 Thanks
 Jim


[twitter-dev] Re: Application Suspended

2010-02-15 Thread PJB

Wow.  What's really of concern is the capricious approach Twitter
seems to have with app developers.  Some apps are given a month to
make a change, some are cut off immediately, some are sent legal
letters, some are contacted beforehand, some aren't.

Frankly, there should be no tracking code.  If there is an issue,
apart from extreme situations, Twitter should contact the app and, as
they apparently did with socialtoo, give some reasonable period of
time to remedy.


On Feb 15, 10:02 am, Peter Denton petermden...@gmail.com wrote:
 Twitter should at least send a notification suspension, as well as a
 tracking code possibly, for both parties benefits, twitter and the app.

 *Reason*: My app was suspended, for something perfectly harmless, and was
 re-granted permission the next day,  but it took a few communications with
 twitter to resolve.

 This is only going to continue to become more and more frequent. I would
 hate to envision a team of a few people having to follow up on app
 suspensions w/o reference.

 On Mon, Feb 15, 2010 at 6:15 AM, Dewald Pretorius dpr...@gmail.com wrote:
  The argument of, Clearly defining rules helps the spammers because
  then they know exactly how to stay just within the boundaries, holds
  _absolutely no_ water.

  Imagine you own an ice rink. You draw a circle with a radius of 2
  meters on the ice, and make the rule that it's okay to skate inside
  the circle, and not okay to skate outside the circle.

  If someone skates right at the edge, at 1.999 meters, all the time, it
  _does not matter_ because you have decided that it is okay and
  acceptable to skate there.

  The same goes with Twitter rules. Make the rules very granular and
  very clear. Then, if someone skates just within the fringes, _it does
  not matter_ because they are still within what you deem acceptable.

  And, then _everyone_ knows where is the line between good and bad
  application behavior, because then it is a fence and not a broad gray
  smudge.

  Most app developers are _not_ the enemy and most app developers will
  be more than happy to not develop or to disable features that violate
  the rules.

  If only we can understand the rules.

  On Feb 15, 12:04 am, PJB pjbmancun...@gmail.com wrote:
   +1 to what Dewald says.

   We are purposely NOT developing certain features for fear that Twitter
   may suddenly change their rules once again.  Is this the sort of
   business environment that Twitter wishes to foster?

   We had assumed that, at the very least, applications would be
   contacted before any sort of action on Twitter's behalf.  But
   apparently not.  And apparently this push for OAuth integration is
   simply a means to more easily cut-off access to certain apps.

   Ugly.

   On Feb 14, 4:30 pm, Dewald Pretorius dpr...@gmail.com wrote:

I attempted to make clear that my issue was not with the guilt or
innocence of GoTwitr.

It's with the message being sent to all of us when no communication
accompanies a suspension.

I'm going to beat the dead horse yet again. With vague and nebulous
rules, nobody knows for certain what is allowed and what is not.

Twitter invite people to build businesses using their system and API.
By providing the platform, extending the invitation, and making the
rules, they are also assuming a responsibility.

It is a grave concern that one's business can be terminated by Twitter
with no warning and no explanation, based on some rule that nobody
knows for certain exactly what it entails. It would have been a
slightly different situation had their rules been as clearly defined
as Facebook's rules, but they're not, with intention.

Take follower churn for example. Do I churn followers if I unfollow
ten people in a day, and follow five others? Or do I only churn if I
unfollow a hundred? Or is it two hundred? Or, wait, is the number
immaterial while my intention puts me in violation or not? If so, how
is my intention discerned?

Take duplicate content for example. If I tweet Happy New Year! every
January 1st, is that duplicate content? What about Good morning
tweeps! every morning? Will my personal and business accounts be
suspended if I tweet, Can't wait for the iPad! from the same IP
address at roughly the same time? What if I did what Guy Kawasaki
recommended athttp://bit.ly/jkSA1andtweetedthe same text four
times a day, will my account be suspended?

These are question my users ask me, and I don't have an answer for
them.

On Feb 14, 6:51 pm, Tim Haines tmhai...@gmail.com wrote:

 Dewald,

 Try looking in the google cache.  I'm surprised it was allowed to
  live for
 as long as it did.
 http://74.125.155.132/search?q=cache:o2N2KuZsuYgJ:www.gotwitr.com/+go...

 It was basically a spam enabler.

 T.

 On Mon, Feb 15, 2010 at 11:27 AM, Dewald Pretorius dpr...@gmail.com
  wrote:
  I cannot comment on what Jim's site did

[twitter-dev] Re: Application Suspended

2010-02-15 Thread PJB

I thought Twitter didn't like bots?  If so, why did they apparently
have one send out suspension warnings?  That's at least my conclusion
given their non-response to questions, at least in that case.

(As well, it seems as though the OAuth push is, at least in part,
about app policing.)

One would have thought that the Twitter police would be better aimed
at enacting policies to deal with abuse by end-users, rather than such
a heavy hand against apps.  What's next?  TweetDeck is going to be
banned because they allow single-button duplicate tweets across
multiple accounts?

Some of us have built businesses and livelihoods around Twitter.  It's
scary to have those things threatened by the possibility of capricious
enforcement handled by no questions please email demands.


On Feb 15, 11:11 am, Abraham Williams 4bra...@gmail.com wrote:
 Sounds like Twitter dropped the ball with notifications. It appears that
 Twitter normally does send notifications before suspension as Refollow [1]
 got 2 warning. Although Rob had the issue of no response to clarifications.

 Abraham

 [1]http://refollow.tumblr.com/post/380619972/weve-been-suspended-by-twitter



 On Mon, Feb 15, 2010 at 10:34, PJB pjbmancun...@gmail.com wrote:

  Wow.  What's really of concern is the capricious approach Twitter
  seems to have with app developers.  Some apps are given a month to
  make a change, some are cut off immediately, some are sent legal
  letters, some are contacted beforehand, some aren't.

  Frankly, there should be no tracking code.  If there is an issue,
  apart from extreme situations, Twitter should contact the app and, as
  they apparently did with socialtoo, give some reasonable period of
  time to remedy.

  On Feb 15, 10:02 am, Peter Denton petermden...@gmail.com wrote:
   Twitter should at least send a notification suspension, as well as a
   tracking code possibly, for both parties benefits, twitter and the app.

   *Reason*: My app was suspended, for something perfectly harmless, and was
   re-granted permission the next day,  but it took a few communications
  with
   twitter to resolve.

   This is only going to continue to become more and more frequent. I would
   hate to envision a team of a few people having to follow up on app
   suspensions w/o reference.

   On Mon, Feb 15, 2010 at 6:15 AM, Dewald Pretorius dpr...@gmail.com
  wrote:
The argument of, Clearly defining rules helps the spammers because
then they know exactly how to stay just within the boundaries, holds
_absolutely no_ water.

Imagine you own an ice rink. You draw a circle with a radius of 2
meters on the ice, and make the rule that it's okay to skate inside
the circle, and not okay to skate outside the circle.

If someone skates right at the edge, at 1.999 meters, all the time, it
_does not matter_ because you have decided that it is okay and
acceptable to skate there.

The same goes with Twitter rules. Make the rules very granular and
very clear. Then, if someone skates just within the fringes, _it does
not matter_ because they are still within what you deem acceptable.

And, then _everyone_ knows where is the line between good and bad
application behavior, because then it is a fence and not a broad gray
smudge.

Most app developers are _not_ the enemy and most app developers will
be more than happy to not develop or to disable features that violate
the rules.

If only we can understand the rules.

On Feb 15, 12:04 am, PJB pjbmancun...@gmail.com wrote:
 +1 to what Dewald says.

 We are purposely NOT developing certain features for fear that
  Twitter
 may suddenly change their rules once again.  Is this the sort of
 business environment that Twitter wishes to foster?

 We had assumed that, at the very least, applications would be
 contacted before any sort of action on Twitter's behalf.  But
 apparently not.  And apparently this push for OAuth integration is
 simply a means to more easily cut-off access to certain apps.

 Ugly.

 On Feb 14, 4:30 pm, Dewald Pretorius dpr...@gmail.com wrote:

  I attempted to make clear that my issue was not with the guilt or
  innocence of GoTwitr.

  It's with the message being sent to all of us when no communication
  accompanies a suspension.

  I'm going to beat the dead horse yet again. With vague and nebulous
  rules, nobody knows for certain what is allowed and what is not.

  Twitter invite people to build businesses using their system and
  API.
  By providing the platform, extending the invitation, and making the
  rules, they are also assuming a responsibility.

  It is a grave concern that one's business can be terminated by
  Twitter
  with no warning and no explanation, based on some rule that nobody
  knows for certain exactly what it entails. It would have been a
  slightly different situation had their rules been as clearly

[twitter-dev] Re: Application Suspended

2010-02-15 Thread PJB

Frankly, I sort of hope that Twitter DOESN'T further define their
nebulous rules.  Why?  Because when they do, the axe often falls on
legitimate app developers (rather than abusive users or problem apps)
in really short-sighted ways.  Moreover, their rules are usually
blanket pronouncements without regard for important business cases for
certain features.

For example, Twitter used to say that follower churn was against
their rules.  Okay, that's certainly fair and fine.  But now they've
recently changed their rules page (in mid-November, to be exact) to
outright ban ALL automated following, except -- bizarrely -- follow-
back.

This is really silly.  It kills an entire functionality space for all
apps simply because some uses of it are abusive.

For example, auto-follow is a hallmark feature of Google Buzz.  It was
loudly included in all press mentions of this product.  Namely, in
that app, you auto-follow anyone you frequently email with.  (Google
has apparently curtailed this feature due to privacy concerns.)  So
what about a similar Twitter app that offers this perfectly reasonable
feature -- namely, auto-follow anyone that you @tweet more than, say,
10 times.  Will that be banned?  Apparently.  (And there goes the
whole CRM market with it!)  Or what about an app that unfollows anyone
who tweets spam or swear words?  Nope, such an app is apparently
outlawed.

Twitter should err on the side of allowing developers the freedom to
build great apps.  This should mean hand-holding even the smallest app
(not just the biggies).  But, more than that, it should mean offering
flexibility and good faith when it comes to deciding what's an
appropriate use of the Twitter API.  Blanket, mid-stream, and
developer-focused restrictions are non-constructive, unfair, and will
stifle innovation.

Many of us support our families with Twitter development; and it is
cavalier and bruising to know that developers are apparently not
offered at least some level of back-and-forth communication, good
faith, and case-by-case leeway when their apps are examined in
relation to Twitter rules.

On Feb 15, 3:36 pm, Dewald Pretorius dpr...@gmail.com wrote:
 I apologize for my choice of words.

 Now, can we get back to discussing Twitter using OAuth as a mechanism
 to heavy-handedly suspend applications as witnessed by the two recent
 cases we know of, while measuring the guilt of the application against
 nebulous rules that nobody knows exactly what they mean?

 Please.

 On Feb 15, 7:17 pm, Cameron Kaiser spec...@floodgap.com wrote:

   Oh for crying out loud, is everyone now going to stare themselves
   blind at the phrase Gestapo-like and forget about the issue at hand?
   It is meant to portray a one-sided action where the accused party is
   not afforded a voice, or his/her objections, rationale, or
   explanations are ignored.

  Then say that instead of throwing bombs. Don't tell me you used the term
  in order to provoke absolutely *no* reaction at all.

  --
   
  personal:http://www.cameronkaiser.com/--
    Cameron Kaiser * Floodgap Systems *www.floodgap.com*ckai...@floodgap.com
  -- This manual has been carefully for errors to make sure correct. -- 
  classiccmp




[twitter-dev] Re: Application Suspended

2010-02-15 Thread PJB

Yep, that should have been implicit in my post.

Anti-spam actions should be chiefly aimed at abusive users, rather
than developers.  After all, it may be pretty easy for Twitter to
limit what Web-based apps can do, but won't such behavior just shift
to the Desktop, in even more flagrant and ridiculous flavors?  And
won't legitimate business uses be unfairly taken out (or never get off
the ground) in such developer dragnets?

Sadly, it seems as though a chief impetus behind the OAuth push is for
exactly that reason: to more tightly regulate and limit third-party
Twitter apps.


On Feb 15, 5:24 pm, Dewald Pretorius dpr...@gmail.com wrote:
 Well PJB, there is always a completely different approach that Twitter
 could take.

 They could bolster their internal coding and defenses against what
 they consider to be abuse, much like they did for duplicate content,
 and then not suspend applications at all.

 That way applications can try whatever they want. If they run into a
 Twitter defense, such as a rejected update, then no harm is done on
 either side, except maybe wasted bandwidth and processing resources.

 On Feb 15, 9:16 pm, PJB pjbmancun...@gmail.com wrote:

  Frankly, I sort of hope that Twitter DOESN'T further define their
  nebulous rules.  Why?  Because when they do, the axe often falls on
  legitimate app developers (rather than abusive users or problem apps)
  in really short-sighted ways.  Moreover, their rules are usually
  blanket pronouncements without regard for important business cases for
  certain features.

  For example, Twitter used to say that follower churn was against
  their rules.  Okay, that's certainly fair and fine.  But now they've
  recently changed their rules page (in mid-November, to be exact) to
  outright ban ALL automated following, except -- bizarrely -- follow-
  back.

  This is really silly.  It kills an entire functionality space for all
  apps simply because some uses of it are abusive.

  For example, auto-follow is a hallmark feature of Google Buzz.  It was
  loudly included in all press mentions of this product.  Namely, in
  that app, you auto-follow anyone you frequently email with.  (Google
  has apparently curtailed this feature due to privacy concerns.)  So
  what about a similar Twitter app that offers this perfectly reasonable
  feature -- namely, auto-follow anyone that you @tweet more than, say,
  10 times.  Will that be banned?  Apparently.  (And there goes the
  whole CRM market with it!)  Or what about an app that unfollows anyone
  who tweets spam or swear words?  Nope, such an app is apparently
  outlawed.

  Twitter should err on the side of allowing developers the freedom to
  build great apps.  This should mean hand-holding even the smallest app
  (not just the biggies).  But, more than that, it should mean offering
  flexibility and good faith when it comes to deciding what's an
  appropriate use of the Twitter API.  Blanket, mid-stream, and
  developer-focused restrictions are non-constructive, unfair, and will
  stifle innovation.

  Many of us support our families with Twitter development; and it is
  cavalier and bruising to know that developers are apparently not
  offered at least some level of back-and-forth communication, good
  faith, and case-by-case leeway when their apps are examined in
  relation to Twitter rules.

  On Feb 15, 3:36 pm, Dewald Pretorius dpr...@gmail.com wrote:

   I apologize for my choice of words.

   Now, can we get back to discussing Twitter using OAuth as a mechanism
   to heavy-handedly suspend applications as witnessed by the two recent
   cases we know of, while measuring the guilt of the application against
   nebulous rules that nobody knows exactly what they mean?

   Please.

   On Feb 15, 7:17 pm, Cameron Kaiser spec...@floodgap.com wrote:

 Oh for crying out loud, is everyone now going to stare themselves
 blind at the phrase Gestapo-like and forget about the issue at hand?
 It is meant to portray a one-sided action where the accused party is
 not afforded a voice, or his/her objections, rationale, or
 explanations are ignored.

Then say that instead of throwing bombs. Don't tell me you used the term
in order to provoke absolutely *no* reaction at all.

--
 
personal:http://www.cameronkaiser.com/--
  Cameron Kaiser * Floodgap Systems 
*www.floodgap.com*ckai...@floodgap.com
-- This manual has been carefully for errors to make sure correct. -- 
classiccmp




[twitter-dev] Re: Application Suspended

2010-02-14 Thread PJB

+1 to what Dewald says.

We are purposely NOT developing certain features for fear that Twitter
may suddenly change their rules once again.  Is this the sort of
business environment that Twitter wishes to foster?

We had assumed that, at the very least, applications would be
contacted before any sort of action on Twitter's behalf.  But
apparently not.  And apparently this push for OAuth integration is
simply a means to more easily cut-off access to certain apps.

Ugly.


On Feb 14, 4:30 pm, Dewald Pretorius dpr...@gmail.com wrote:
 I attempted to make clear that my issue was not with the guilt or
 innocence of GoTwitr.

 It's with the message being sent to all of us when no communication
 accompanies a suspension.

 I'm going to beat the dead horse yet again. With vague and nebulous
 rules, nobody knows for certain what is allowed and what is not.

 Twitter invite people to build businesses using their system and API.
 By providing the platform, extending the invitation, and making the
 rules, they are also assuming a responsibility.

 It is a grave concern that one's business can be terminated by Twitter
 with no warning and no explanation, based on some rule that nobody
 knows for certain exactly what it entails. It would have been a
 slightly different situation had their rules been as clearly defined
 as Facebook's rules, but they're not, with intention.

 Take follower churn for example. Do I churn followers if I unfollow
 ten people in a day, and follow five others? Or do I only churn if I
 unfollow a hundred? Or is it two hundred? Or, wait, is the number
 immaterial while my intention puts me in violation or not? If so, how
 is my intention discerned?

 Take duplicate content for example. If I tweet Happy New Year! every
 January 1st, is that duplicate content? What about Good morning
 tweeps! every morning? Will my personal and business accounts be
 suspended if I tweet, Can't wait for the iPad! from the same IP
 address at roughly the same time? What if I did what Guy Kawasaki
 recommended athttp://bit.ly/jkSA1and tweeted the same text four
 times a day, will my account be suspended?

 These are question my users ask me, and I don't have an answer for
 them.

 On Feb 14, 6:51 pm, Tim Haines tmhai...@gmail.com wrote:





  Dewald,

  Try looking in the google cache.  I'm surprised it was allowed to live for
  as long as it 
  did.http://74.125.155.132/search?q=cache:o2N2KuZsuYgJ:www.gotwitr.com/+go...

  It was basically a spam enabler.

  T.

  On Mon, Feb 15, 2010 at 11:27 AM, Dewald Pretorius dpr...@gmail.com wrote:
   I cannot comment on what Jim's site did or didn't do, since he has
   pulled all descriptive information from the site.

   Nevertheless, it is highly disturbing that applications are being
   suspended without any notice. This particular site seems to have had a
   contact form, plus it was OAuth, so the owner could have been
   contacted via the email address on file for the Twitter user that owns
   the application.

   Yes, some apps do stuff that warrant suspension. But, to just suspend
   an app with no communication is bad.

   If Twitter don't want to give some sites the opportunity to correct
   transgressive behavior (I know they do communicate in some cases), at
   the very least send an email to the owner with, Your service has been
   suspended because..., and give a clear path and instructions on how
   the situation can be remedied as soon as possible.

   I'm going to say it again, Twitter: Your rules are vague and nebulous.
   Not everyone understands and interprets the rules the way you do
   internally.

   You must realize that actions like these sometimes shout so loud that
   we cannot hear when you say, We care about our developers.

   Rightly or wrongly, here's a developer who has lost face with his user
   base, and has been in the dark for 4 days now. The message it sends to
   us, the other developers, is a very bad message. If you properly
   communicated with Jim, he probably wouldn't even have posted about it
   here.

   On Feb 14, 3:56 pm, Jim Fulford j...@fulford.me wrote:
Hello, I need some help.  4 days ago I started getting emails from my
users that they could not login to our site using the Oauth service.
I checked my site and it said my application had been suspended.   I
did not get any email from Twitter, they just deactivated my
application so nothing works.  I have sent in two support tickets, but
gotten no response.  2 days ago, I took my site downwww.gotwitr.com
so that I would stop getting support email from my users.

I have had this site up for 5 months, and I have over 5000 users have
used the service.  I am so glad that I have never charged for the
service, this would be a nightmare.

If they would let me know what our site, or one of our users did to
get banned, we would be glad to fix it.   We have tried to make our
site as Twitter API friendly as possible.

We are 100% 

[twitter-dev] non-ASCII Twitter screen names

2010-02-03 Thread PJB

Just FYI, Twitter screen names are not (or, apparently, didn't use to
be) restricted to 0-9A-Z-_

id6295462/id
screen_nameMagic carpet1/screen_name

id3939231/id
screen_nameWalking the dog2/screen_name

id92595586/id
screen_nameIts mine\nM2/screen_name

We're also seeing non-ASCII in some other screen names.  (Though we
don't currently know what they are... we just know they exist! ;)

We're assuming this is a vestige of long ago coding?

It does screw up our desire to use ascii char(15) in db...

Maybe Twitter can fix?


[twitter-dev] Re: non-ASCII Twitter screen names

2010-02-03 Thread PJB

Hm, wait... this account was created in Nov 2009 and has spaces and a
\n in his screen_name??

http://twitter.com/users/show.xml?user_id=92595586

On Feb 3, 4:59 pm, PJB pjbmancun...@gmail.com wrote:
 Just FYI, Twitter screen names are not (or, apparently, didn't use to
 be) restricted to 0-9A-Z-_

 id6295462/id
 screen_nameMagic carpet1/screen_name

 id3939231/id
 screen_nameWalking the dog2/screen_name

 id92595586/id
 screen_nameIts mine\nM2/screen_name

 We're also seeing non-ASCII in some other screen names.  (Though we
 don't currently know what they are... we just know they exist! ;)

 We're assuming this is a vestige of long ago coding?

 It does screw up our desire to use ascii char(15) in db...

 Maybe Twitter can fix?


[twitter-dev] Re: non-ASCII Twitter screen names

2010-02-03 Thread PJB

I'm speculating, but I wonder if you do a blind form post to change
usernames with non-ascii characters whether it will accept them?  I
think part of the validation by Twitter is done client-side (or so it
appears), and that the Twitter databases store screen_name in utf-8
rather than ascii.

I searched my database and found a number of Twitter screen names with
spaces.  But we have been getting a number of warnings about non-ascii
characters... no idea what these are yet (as our database won't hold
them as we (wrongly) assumed that they would only be ascii).  But I am
warn'ing them out and will report what I find.

It would be rather crazy to find, say, a single character Chinese
Twitter screen name!

On Feb 3, 5:49 pm, Abraham Williams 4bra...@gmail.com wrote:
 Huh. I wonder if they can still sign in... You can also see one of them on
 the web herehttp://twitter.com/account/redirect_by_id?id=92595586

 Other then an account here and there, from what was probably a bug in the
 validation code, there should be no accounts being created with such
 characters.

 crosses fingers

 Abraham



 On Wed, Feb 3, 2010 at 17:03, PJB pjbmancun...@gmail.com wrote:

  Hm, wait... this account was created in Nov 2009 and has spaces and a
  \n in his screen_name??

 http://twitter.com/users/show.xml?user_id=92595586

  On Feb 3, 4:59 pm, PJB pjbmancun...@gmail.com wrote:
   Just FYI, Twitter screen names are not (or, apparently, didn't use to
   be) restricted to 0-9A-Z-_

   id6295462/id
   screen_nameMagic carpet1/screen_name

   id3939231/id
   screen_nameWalking the dog2/screen_name

   id92595586/id
   screen_nameIts mine\nM2/screen_name

   We're also seeing non-ASCII in some other screen names.  (Though we
   don't currently know what they are... we just know they exist! ;)

   We're assuming this is a vestige of long ago coding?

   It does screw up our desire to use ascii char(15) in db...

   Maybe Twitter can fix?

 --
 Abraham Williams | Community Advocate |http://abrah.am
 Project | Out Loud |http://outloud.labs.poseurtech.com
 This email is: [ ] shareable [x] ask first [ ] private.
 Sent from Seattle, WA, United States


[twitter-dev] Hey, Twitter, let us buy sidebar ads! (Or, stop focusing on the biggies.)

2010-02-01 Thread PJB

Right now, the ad in the sidebar on the right-hand side of
Twitter.com is invariably: i) a micro, community, or feel-good sort of
app, ii) a mega-app that most people already know about, that has VC,
connections to Twitter folks directly, or a good PR firm.

This leaves many non-Bay Area (or medium-sized) apps out in the cold.

So... can Twitter stop anointing the top dogs in such a willy-nilly
fashion?

Instead of this annoyingly vague editor's choice language about the
selections, can you either set-up a transparent process whereby apps
can be submitted, voted on, whatever... or just convert the whole
thing to paid ads?

It's incredibly frustrating to see sub-par apps like wefollow.com
promoted just because its founder is buddy-buddy with Twitter folks.
Or for other well-known apps get their version 2 promoted just
because, well, it's version 2 and it's well-known.

The choices you guys make have significant repercussions.  And it's
increasingly frustrating to find you guys focusing more and more on
market leaders.  While I suppose that may make sense from your
perspective, it deprives smaller apps of their ability to compete, and
it ultimately stifles competition.

It would be far easier if we were allowed SOME VOICE by converting the
whole thing to paid ads, and letting us buy at least SOME space.

(Or why not just list ALL apps, and weight their presence by, e.g.,
click-thrus, votes, etc.)






[twitter-dev] API speed is kicking ass lately...

2010-01-15 Thread PJB


Woo hoo... something must have changed... for at least the past 24
hours, I am noticing incredible performance from API calls.  Seems to
be at least 40% faster than earlier in the week.


[twitter-dev] Re: API speed is kicking ass lately...

2010-01-15 Thread PJB

Your question is not germane to the topic at hand.  Nor, for that
matter, is it germane to this discussion group at all.

On Jan 15, 12:21 am, BrandonUSA brandon...@gmail.com wrote:
 Is there a service to remove all the people you are following at once?


[twitter-dev] Re: Social Graph API: Legacy data format will be eliminated 1/11/2010

2010-01-06 Thread PJB

Can we please get some confirmation that the cursor-less calls won't
be going away this coming Monday?

On Dec 22 2009, 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_cursor7128872798413429387/next_cursor
       previous_cursor0/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
       id1/id
       id2/id
       id3/id
     /ids

 whereas

     /friends/ids.xml?cursor=n
     /followers/ids.xml?cursor=n

 return data that looks like

     id_list
       ids
         id1/id
         id2/id
         id3/id
       /ids
       next_cursor1288724293877798413/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


[twitter-dev] Re: Social Graph API: Legacy data format will be eliminated 1/11/2010

2010-01-04 Thread PJB

I think that's like asking someone: why do you eat food? But don't say
because it tastes good or nourishes you, because we already know
that! ;)

You guys presumably set the 5000 ids per cursor limit by analyzing
your user base and noting that one could still obtain the social graph
for the vast majority of users with a single call.

But this is a bit misleading.  For analytics-based apps, who aim to do
near real-time analysis of relationships, the focus is typically on
consumer brands who have a far larger than average number of
relationships (e.g., 50k - 200k).

This means that those apps are neck-deep in cursor-based stuff, and
quickly realize the existing drawbacks, including, in order of
significance:

- Latency.  Fetching ids for a user with 3000 friends is comparable
between the two calls.  But as you increment past 5000, the speed
quickly peaks at a 5+x difference (I will include more benchmarks in a
short while).  For example, fetching 80,000 friends via the get-all
method takes on average 3 seconds; it takes, on average, 15 seconds
with cursors.

- Code complexity  elegance.  I would say that there is a 3x increase
in code lines to account for cursors, from retrying failed cursors, to
caching to account for cursor slowness, to UI changes to coddle
impatient users.

- Incomprehensibility.  While there are obviously very good reasons
from Twitter's perspective (performance) to the cursor based model,
there really is no apparent obvious benefit to API users for the ids
calls.  I would make the case that a large majority of API uses of the
ids calls need and require the entire social graph, not an incomplete
one.  After all, we need to know what new relationships exist, but
also what old relationships have failed.  To dole out the data in
drips and drabs is like serving a pint of beer in sippy cups.  That is
to say: most users need the entire social graph, so what is the use
case, from an API user's perspective, of NOT maintaining at least one
means to quickly, reliably, and efficiently get it in a single call?

- API Barriers to entry.  Most of the aforementioned arguments are
obviously from an API user's perspective, but there's something, too,
for Twitter to consider.  Namely, by increasing the complexity and
learning curve of particular API actions, you presumably further limit
the pool of developers who will engage with that API.  That's probably
a bad thing.

- Limits Twitter 2.0 app development.  This, again, speaks to issues
bearing on speed and complexity, but I think it is important.  The
first few apps in any given media or innovation invariably have to do
with basic functionality building blocks -- tweeting, following,
showing tweets.  But the next wave almost always has to do with
measurement and analysis.  By making such analysis more difficult, you
forestall the critically important ability for brands, and others, to
measure performance.

- API users have requested it.  Shouldn't, ultimately, the use case
for a particular API method simply be the fact that a number of API
developers have requested that it remain?


On Jan 4, 2:07 pm, Wilhelm Bierbaum wilh...@twitter.com wrote:
 Can everyone contribute their use case for this API method? I'm trying
 to fully understand the deficiencies of the cursor approach.

 Please don't include that cursors are slow or that they are charged
 against the rate limit, as those are known issues.

 Thanks.


[twitter-dev] Re: Social Graph API: Legacy data format will be eliminated 1/11/2010

2010-01-04 Thread PJB

Some quick benchmarks...

Grabbed entire social graph for ~250 users, where each user has a
number of friends/followers between 0 and 80,000.  I randomly used
both the cursor and cursor-less API methods.

 5000 ids
cursor: 0.72 avg seconds
cursorless: 0.51 avg seconds

5000 to 10,000 ids
cursor: 1.42 avg seconds
cursorless: 0.94 avg seconds

1 to 80,000 ids
cursor: 2.82 avg seconds
cursorless: 1.21 avg seconds

5,000 to 80,000 ids
cursor: 4.28
cursorless: 1.59

10,000 to 80,000 ids
cursor: 5.23
cursorless: 1.82

20,000 to 80,000 ids
cursor: 6.82
cursorless: 2

40,000 to 80,000 ids
cursor: 9.5
cursorless: 3

60,000 to 80,000 ids
cursor: 12.25
cursorless: 3.12

On Jan 4, 7:58 pm, Jesse Stay jesses...@gmail.com wrote:
 Ditto PJB :-)

 On Mon, Jan 4, 2010 at 8:12 PM, PJB pjbmancun...@gmail.com wrote:

  I think that's like asking someone: why do you eat food? But don't say
  because it tastes good or nourishes you, because we already know
  that! ;)

  You guys presumably set the 5000 ids per cursor limit by analyzing
  your user base and noting that one could still obtain the social graph
  for the vast majority of users with a single call.

  But this is a bit misleading.  For analytics-based apps, who aim to do
  near real-time analysis of relationships, the focus is typically on
  consumer brands who have a far larger than average number of
  relationships (e.g., 50k - 200k).

  This means that those apps are neck-deep in cursor-based stuff, and
  quickly realize the existing drawbacks, including, in order of
  significance:

  - Latency.  Fetching ids for a user with 3000 friends is comparable
  between the two calls.  But as you increment past 5000, the speed
  quickly peaks at a 5+x difference (I will include more benchmarks in a
  short while).  For example, fetching 80,000 friends via the get-all
  method takes on average 3 seconds; it takes, on average, 15 seconds
  with cursors.

  - Code complexity  elegance.  I would say that there is a 3x increase
  in code lines to account for cursors, from retrying failed cursors, to
  caching to account for cursor slowness, to UI changes to coddle
  impatient users.

  - Incomprehensibility.  While there are obviously very good reasons
  from Twitter's perspective (performance) to the cursor based model,
  there really is no apparent obvious benefit to API users for the ids
  calls.  I would make the case that a large majority of API uses of the
  ids calls need and require the entire social graph, not an incomplete
  one.  After all, we need to know what new relationships exist, but
  also what old relationships have failed.  To dole out the data in
  drips and drabs is like serving a pint of beer in sippy cups.  That is
  to say: most users need the entire social graph, so what is the use
  case, from an API user's perspective, of NOT maintaining at least one
  means to quickly, reliably, and efficiently get it in a single call?

  - API Barriers to entry.  Most of the aforementioned arguments are
  obviously from an API user's perspective, but there's something, too,
  for Twitter to consider.  Namely, by increasing the complexity and
  learning curve of particular API actions, you presumably further limit
  the pool of developers who will engage with that API.  That's probably
  a bad thing.

  - Limits Twitter 2.0 app development.  This, again, speaks to issues
  bearing on speed and complexity, but I think it is important.  The
  first few apps in any given media or innovation invariably have to do
  with basic functionality building blocks -- tweeting, following,
  showing tweets.  But the next wave almost always has to do with
  measurement and analysis.  By making such analysis more difficult, you
  forestall the critically important ability for brands, and others, to
  measure performance.

  - API users have requested it.  Shouldn't, ultimately, the use case
  for a particular API method simply be the fact that a number of API
  developers have requested that it remain?

  On Jan 4, 2:07 pm, Wilhelm Bierbaum wilh...@twitter.com wrote:
   Can everyone contribute their use case for this API method? I'm trying
   to fully understand the deficiencies of the cursor approach.

   Please don't include that cursors are slow or that they are charged
   against the rate limit, as those are known issues.

   Thanks.




[twitter-dev] Re: Social Graph API: Legacy data format will be eliminated 1/11/2010

2010-01-04 Thread PJB


On Jan 4, 8:58 pm, John Kalucki j...@twitter.com wrote:
 at the moment). So, it seems that we're returning the data over home
 DSL at between 2,500 and 4,000 ids per second, which seems like a
 perfectly reasonable rate and variance.

It's certainly not reasonable to expect it to take 10+ seconds to get
25,000 to 40,000 ids, PARTICULARLY when existing methods, for whatever
reason, return the same data in less than 2 seconds.  Twitter is being
incredibly short-sighted if they think this is indeed reasonable.

Some of us have built applications around your EXISTING APIs, and to
now suggest that we may need formal business relationships to
continue to use such APIs is seriously disquieting.

Disgusted...




[twitter-dev] Re: Social Graph API: Legacy data format will be eliminated 1/11/2010

2010-01-04 Thread PJB

As noted in this thread, the fact that cursor-less methods for friends/
followers ids will be deprecated was newly announced on December 22.

In fact, the API documentation still clearly indicates that cursors
are optional, and that their absence will return a complete social
graph.  E.g.:

http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-followers%C2%A0ids

(If the cursor parameter is not provided, all IDs are attempted to be
returned)

The example at the bottom of that page gives a good example of
retrieving 300,000+ ids in several seconds:

http://twitter.com/followers/ids.xml?screen_name=dougw

Of course, retrieving 20-40k users is significantly faster.

Again, many of us have built apps around cursor-less API calls.  To
now deprecate them, with just a few days warning over the holidays, is
clearly inappropriate and uncalled for.  Similarly, to announce that
we must now expect 5x slowness when doing the same calls, when these
existing methods work well, is shocking.

Many developers live and die by the API documentation.  It's a really
fouled-up situation when the API documentation is so totally wrong,
right?

I urge those folks addressing this issue to preserve the cursor-less
methods.  Barring that, I urge them to return at least 25,000 ids per
cursor (as you note, time progression has made 5000 per call
antiquated and ineffective for today's Twitter user) and grant at
least 3 months before deprecation.

On Jan 4, 10:23 pm, John Kalucki j...@twitter.com wrote:
 The existing APIs stopped providing accurate data about a year ago
 and degraded substantially over a period of just a few months. Now the
 only data store for social graph data requires cursors to access
 complete sets. Pagination is just not possible with the same latency
 at this scale without an order of magnitude or two increase in cost.
 So, instead of hardware units in the tens and hundreds, think about
 the same in the thousands and tens of thousands.

 These APIs and their now decommissioned backing stores were developed
 when having 20,000 followers was a lot. We're an order of magnitude or
 two beyond that point along nearly every dimension. Accounts.
 Followers per account. Tweets per second. Etc. As systems evolve, some
 evolutionary paths become extinct.

 Given boundless resources, the best we could do for a REST API, as
 Marcel has alluded, is to do the cursoring for you and aggregate many
 blocks into much larger responses. This wouldn't work very well for at
 least two immediate reasons: 1) Running a system with multimodal
 service times is a nightmare -- we'd have to provision a specific
 endpoint for such a resource. 2) Ruby GC chokes on lots of objects.
 We'd have to consider implementing this resource in another stack, or
 do a lot of tuning. All this to build the opposite of what most
 applications want: a real-time stream of graph deltas for a set of
 accounts, or the list of recent set operations since the last poll --
 and rarely, if ever, the entire following set.

 Also, I'm a little rusty on the details on the social graph api, but
 please detail which public resources allow retrieval of 40,000
 followers in two seconds. I'd be very interested in looking at the
 implementing code on our end. A curl timing would be nice (time curl
 URL  /dev/null) too.

 -John Kaluckihttp://twitter.com/jkalucki
 Services, Twitter Inc.

 On Mon, Jan 4, 2010 at 9:18 PM, PJB pjbmancun...@gmail.com wrote:

  On Jan 4, 8:58 pm, John Kalucki j...@twitter.com wrote:
  at the moment). So, it seems that we're returning the data over home
  DSL at between 2,500 and 4,000 ids per second, which seems like a
  perfectly reasonable rate and variance.

  It's certainly not reasonable to expect it to take 10+ seconds to get
  25,000 to 40,000 ids, PARTICULARLY when existing methods, for whatever
  reason, return the same data in less than 2 seconds.  Twitter is being
  incredibly short-sighted if they think this is indeed reasonable.

  Some of us have built applications around your EXISTING APIs, and to
  now suggest that we may need formal business relationships to
  continue to use such APIs is seriously disquieting.

  Disgusted...




[twitter-dev] Re: Social Graph API: Legacy data format will be eliminated 1/11/2010

2010-01-04 Thread PJB
~300,000 ids in 15 seconds:

$ time curl http://twitter.com/followers/ids.xml?screen_name=dougw  /
dev/null
  % Total% Received % Xferd  Average Speed   TimeTime
Time  Current
 Dload  Upload   Total   Spent
Left  Speed
100 5545k  100 5545k0 0   346k  0  0:00:15  0:00:15
--:--:--  474k

real0m15.994s
user0m0.021s
sys 0m0.061s

===

~100,000 ids in 6 seconds:

$ time curl http://twitter.com/followers/ids.xml?screen_name=karlrove
 /dev/null
  % Total% Received % Xferd  Average Speed   TimeTime
Time  Current
 Dload  Upload   Total   Spent
Left  Speed
100 1700k  100 1700k0 0   286k  0  0:00:05  0:00:05
--:--:--  433k

real0m5.932s
user0m0.010s
sys 0m0.025s

===

12,000 ids in 1.2 seconds:

$ time curl http://twitter.com/followers/ids.xml?screen_name=markos  /
dev/null
  % Total% Received % Xferd  Average Speed   TimeTime
Time  Current
 Dload  Upload   Total   Spent
Left  Speed
100  213k  100  213k0 0   168k  0  0:00:01  0:00:01
--:--:--  257k

real0m1.269s
user0m0.004s
sys 0m0.003s

===

These calls are night-and-day better than cursor-based calls.  Again,
I plead with those folks pushing the bits about to preserve what is
officially documented.



On Jan 4, 10:23 pm, John Kalucki j...@twitter.com wrote:
 The existing APIs stopped providing accurate data about a year ago
 and degraded substantially over a period of just a few months. Now the
 only data store for social graph data requires cursors to access
 complete sets. Pagination is just not possible with the same latency
 at this scale without an order of magnitude or two increase in cost.
 So, instead of hardware units in the tens and hundreds, think about
 the same in the thousands and tens of thousands.

 These APIs and their now decommissioned backing stores were developed
 when having 20,000 followers was a lot. We're an order of magnitude or
 two beyond that point along nearly every dimension. Accounts.
 Followers per account. Tweets per second. Etc. As systems evolve, some
 evolutionary paths become extinct.

 Given boundless resources, the best we could do for a REST API, as
 Marcel has alluded, is to do the cursoring for you and aggregate many
 blocks into much larger responses. This wouldn't work very well for at
 least two immediate reasons: 1) Running a system with multimodal
 service times is a nightmare -- we'd have to provision a specific
 endpoint for such a resource. 2) Ruby GC chokes on lots of objects.
 We'd have to consider implementing this resource in another stack, or
 do a lot of tuning. All this to build the opposite of what most
 applications want: a real-time stream of graph deltas for a set of
 accounts, or the list of recent set operations since the last poll --
 and rarely, if ever, the entire following set.

 Also, I'm a little rusty on the details on the social graph api, but
 please detail which public resources allow retrieval of 40,000
 followers in two seconds. I'd be very interested in looking at the
 implementing code on our end. A curl timing would be nice (time curl
 URL  /dev/null) too.

 -John Kaluckihttp://twitter.com/jkalucki
 Services, Twitter Inc.

 On Mon, Jan 4, 2010 at 9:18 PM, PJB pjbmancun...@gmail.com wrote:

  On Jan 4, 8:58 pm, John Kalucki j...@twitter.com wrote:
  at the moment). So, it seems that we're returning the data over home
  DSL at between 2,500 and 4,000 ids per second, which seems like a
  perfectly reasonable rate and variance.

  It's certainly not reasonable to expect it to take 10+ seconds to get
  25,000 to 40,000 ids, PARTICULARLY when existing methods, for whatever
  reason, return the same data in less than 2 seconds.  Twitter is being
  incredibly short-sighted if they think this is indeed reasonable.

  Some of us have built applications around your EXISTING APIs, and to
  now suggest that we may need formal business relationships to
  continue to use such APIs is seriously disquieting.

  Disgusted...




[twitter-dev] Re: Social Graph API: Legacy data format will be eliminated 1/11/2010

2009-12-23 Thread PJB

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_cursor7128872798413429387/next_cursor
       previous_cursor0/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
       id1/id
       id2/id
       id3/id
     /ids

 whereas

     /friends/ids.xml?cursor=n
     /followers/ids.xml?cursor=n

 return data that looks like

     id_list
       ids
         id1/id
         id2/id
         id3/id
       /ids
       next_cursor1288724293877798413/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


[twitter-dev] Re: Social Graph API: Legacy data format will be eliminated 1/11/2010

2009-12-23 Thread PJB

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.

There was no reference in any of the previous announcements to
deprecating this valuable ability.  Is it now also doomed for the ash-
heap, and we shall never get more than 5000 ids at a time with these
calls?  That was never indicated to be the case in the prior
announcements, nor does the API documentation page hint at this new
change...?!


[twitter-dev] Re: Social Graph API: Legacy data format will be eliminated 1/11/2010

2009-12-23 Thread PJB

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_cursor7128872798413429387/next_cursor
         previous_cursor0/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
         id1/id
         id2/id
         id3/id
       /ids

   whereas

       /friends/ids.xml?cursor=n
       /followers/ids.xml?cursor=n

   return data that looks like

       id_list
         ids
           id1/id
           id2/id
           id3/id
         /ids
         next_cursor1288724293877798413/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


[twitter-dev] Re: Perl OAuth - updated example

2009-10-22 Thread PJB


On Oct 21, 11:28 pm, Nigel Cannings nigelcanni...@googlemail.com
wrote:

 Hope that is a better explanation, and might I say on behalf of all
 the Perl hackers on the list, keep the good work up!

Hear hear!  Net::Twitter is a brilliant and easy-to-use Perl interface
to Twitter.


[twitter-dev] Re: API Performance Tanking

2009-10-21 Thread PJB


From my testing, SOME api calls go through just fine (e.g., grabbing
DMs).  OTHERS are particularly slow (e.g., create friend).

From the rumours I have heard, Twitter is delegating performance to
more benign calls, and degrading performance for other calls more
closely associated with spam activities.  I hope this is not true.

On Oct 21, 8:01 pm, Dewald Pretorius dpr...@gmail.com wrote:
 On Wednesday afternoon/evening the 502s and connection refuses have
 been coming thick and fast, much worse than earlier in the week.

 When can we expect to see an improvement instead of a worsening of the
 API's performance?

 Dewald


[twitter-dev] Re: API Performance Tanking

2009-10-21 Thread PJB


I should add that that rumour is probably pure speculation.  But it
does strike me as odd that some calls work perfectly fine, while
others are significantly delayed.

Possibly the degradation is due to the deals Twitter struck today with
Google and Microsoft's Bing?  Presumably these behemoths are eating up
significant API resources.

On Oct 21, 9:54 pm, PJB pjbmancun...@gmail.com wrote:
 From my testing, SOME api calls go through just fine (e.g., grabbing
 DMs).  OTHERS are particularly slow (e.g., create friend).

 From the rumours I have heard, Twitter is delegating performance to
 more benign calls, and degrading performance for other calls more
 closely associated with spam activities.  I hope this is not true.

 On Oct 21, 8:01 pm, Dewald Pretorius dpr...@gmail.com wrote:

  On Wednesday afternoon/evening the 502s and connection refuses have
  been coming thick and fast, much worse than earlier in the week.

  When can we expect to see an improvement instead of a worsening of the
  API's performance?

  Dewald




[twitter-dev] Re: Duplicate Tweets

2009-10-14 Thread PJB


What kept me up at night is wondering what is coming down the pike...
who knows if feature X, Y, or Z in your new Twitter app might get a
stop-work order from Twitter.  That's really scary.

On Oct 14, 11:13 am, Neicole neic...@trustneicole.com wrote:
 Is Twitter crazy?! Have they even looked at their own user, market,
 and competitor information?

 Twitter has said they are actively pursuing businesses (and bloggers)
 and doing away with recurring tweets does away with key business
 value. Besides, there are technical solutions to this problem, so why
 implement a blanket policy that will negatively impact Twitter and its
 users.

 I just blogged my reasons, based on data, for why this is such a BAD
 idea. Dear Twitter, please don't kill your markethttp://bit.ly/1N5AHA

 On Oct 13, 1:31 pm, JDG ghil...@gmail.com wrote:

  Yes, and should be treated as such. I personally detest all those stupid
  twitter-based games. Point is, with Twitter's userbase, some get through the
  cracks. Don't like it, report it. This is like complaining that cops only
  pull over SOME speeders. Yeah, some are going to get through the cracks.

  On Tue, Oct 13, 2009 at 14:29, PJB pjbmancun...@gmail.com wrote:

For the sake of argument, let's take this at face value as true. How
about the search pollution issue with recurrent tweets in general?

   You may have a point.  But it comes down to uneven enforcement.
   Twitter smacks down an app because they allow an individual to recur,
   say, every Monday: Today is Monday and my office hours will be from
   2:15-3:30pm.

   Meanwhile, you have apps which do things like this:
  http://search.twitter.com/search?q=%23fun140

   Aren't those effectively recurring tweets?

  --
  Internets. Serious business.- Hide quoted text -

  - Show quoted text -




[twitter-dev] Re: Duplicate Tweets

2009-10-13 Thread PJB


Twitter is being incredibly stupid, rash, and short-sighted about
this.

Does ATT write to Microsoft and say, hey, our network is getting a
lot of junk email sent through Microsoft Outlook.  We therefore demand
you get rid of the CC and BCC features of that product.  Of course
not!

That Twitter is now focusing on regulating Twitter APPS shows that it
has a weak and ineffective user regulation system in place.  It can't
effectively police its users, so it decides to go after apps that they
(may) use.  Cheap shot.  It's like stopping drunk driving by banning
all driving after dark.  Do they really think that that is going to
work?  Sure, they can probably slam down Web-based clients that use
dedicated, whitelisted IP addresses.  But as I pointed out earlier,
this will just shift the behavior, and make it even more nettlesome.
Now it will move to desktop clients that they cannot stop (yes, they
can still ban individual members for duplicate content, but they
cannot stop the sale and use of the desktop client).

Months ago I emailed Twitter asking them what OUR responsibilities
were as app developers.  I think all of us understand and recognize
that many of our apps have features that could be abused.  I think
many of us are perfectly willing to police our own apps, and work with
Twitter to help reign in behavior that isn't acceptable.  But it seems
out-of-bounds for Twitter to bypass such a cooperative system, and
instead just carte blanche ban a particular app feature that has many
legitimate uses.


On Oct 13, 6:32 am, JDG ghil...@gmail.com wrote:
 They can still check for duplicate tweets, and can still suspend accounts
 violating the TOS, regardless of client.

 On Mon, Oct 12, 2009 at 23:23, PJB pjbmancun...@gmail.com wrote:

  I worried about this. Doesn't Twitter realize this will just shift
  things to desktop apps which they have less control over?!?

  On Oct 12, 7:24 pm, Dewald Pretorius dpr...@gmail.com wrote:
   Any developer who has included and/or is thinking about including a
   recurring tweet feature in your app, please take note that they are
   against Twitter TOS.

   You can read what Twitter wrote to me here:

  http://www.socialoomphblog.com/recurring-tweets/

 --
 Internets. Serious business.


[twitter-dev] Re: basic help needed on connect to TWITTER and send a tweet with PERL

2009-10-13 Thread PJB


http://search.cpan.org/dist/Net-Twitter/lib/Net/Twitter.pod

On Oct 13, 3:33 am, apfelmaennchen alexander.grefr...@gmail.com
wrote:
 I really find it difficult to understand documentation how to code a
 TWITTER-API in perl. But with a bit start-help, I think I'll be able
 to proceed.

 Can somebody help me with a sample PERL-code:

 From within a PERL script  ( which has two variables filled with
 strings. names of those VARS are $VAR1, $VAR2) I want to

 a) connect to twitter (lets assume username = test, password =
 water)
 b) send a tweet Hello world $VAR1 {space} $VAR2. This is my first
 test tweet automatically posted from a perl script.
 c) disconnect from twitter

 Maybe you also can give a command-reference, something like perl
 TWITTER API in a nutshell.

 Very many thanks for your help, Alex


[twitter-dev] Re: Duplicate Tweets

2009-10-13 Thread PJB


 If the desktop client uses OAuth (which, if and when they deprecate basic
 auth, will be all), you bet your ass they can regulate desktop clients. All
 they have to do is ban any tweets using the Consumer Secret and Key for that
 app (and any subsequent keys said jackass developer attempts to get after
 previous tokens have been banned).

Wrong.  Basic Authentication will obviously ALWAYS be an option for
desktop clients, regardless of whether or not it is via API.

 Furthermore, the app in question explicitly offered the option of a
 recurring tweet which is a violation of the TOS. Regardless of whether or
 not that provides a useful service -- I'm not going to start debating that
 -- the fact of the matter is it *is* a violation of the TOS. Plain and
 simple. Why shouldn't they be allowed (as if we have a say what a private
 company does with their own resources) to ban an app that violates the TOS
 with one of their own options?

I see, so then sites like mapmyrun and others that, for example, tweet
Bob ran 10 miles today in 2 hours, Bob ran 12 miles today in 1
hour, and other templated text, are also in violation of the terms?
Or what about hootsuite where I can queue up 100 tweets with the exact
same text to fire off every hour, perhaps interspersed with a second
tweet?

The bottom line is that this situation isn't as black and white as you
think, and Twitter's approach is wrong-headed.






[twitter-dev] Re: Duplicate Tweets

2009-10-13 Thread PJB



On Oct 13, 12:48 pm, JDG ghil...@gmail.com wrote:
  Wrong.  Basic Authentication will obviously ALWAYS be an option for
  desktop clients, regardless of whether or not it is via API.

 Explain to me where it's obvious that basic auth will ALWAYS be an option
 for desktop clients. Furthermore, please explain to me what voodoo you
 employed while reading those statements to come to your conclusion.

You clearly do not understand the basics of HTTP.  Do you think that
Twitter is going to somehow deny Firefox, IE, and other desktop
clients from connecting to Twitter with a simple username and password
only?

  I see, so then sites like mapmyrun and others that, for example, tweet
  Bob ran 10 miles today in 2 hours, Bob ran 12 miles today in 1
  hour, and other templated text, are also in violation of the terms?
  Or what about hootsuite where I can queue up 100 tweets with the exact
  same text to fire off every hour, perhaps interspersed with a second
  tweet?

 Why on earth would people do that? Why on earth would you want to tweet the
 exact same text once an hour for 100 consecutive hours. What benefit could
 that POSSIBLY provide to the Twitter ecosystem?

I am beginning to realize it is of no use arguing with you.  Obviously
there is no benefit.  That's the point: that both the app in question
AND those apps provide means for violating Twitter's Terms of
Service.


[twitter-dev] Re: Duplicate Tweets

2009-10-13 Thread PJB



  You clearly do not understand the basics of HTTP.  Do you think that
  Twitter is going to somehow deny Firefox, IE, and other desktop
  clients from connecting to Twitter with a simple username and password
  only?

 Since when do Firefox and IE use the API to communicate with Twitter?  Last
 time I checked, they don't...but maybe I am just missing something.

My point is that desktop apps can perform Twitter actions without
going through the API.

Any crackdown on particular behaviors of Web-based Twitter apps will
likely see that behavior shift to desktop apps, as they are
exceedingly difficult, if not impossible, to centrally restrict.


[twitter-dev] Re: Duplicate Tweets

2009-10-13 Thread PJB



 For the sake of argument, let's take this at face value as true. How
 about the search pollution issue with recurrent tweets in general?

You may have a point.  But it comes down to uneven enforcement.
Twitter smacks down an app because they allow an individual to recur,
say, every Monday: Today is Monday and my office hours will be from
2:15-3:30pm.

Meanwhile, you have apps which do things like this:
http://search.twitter.com/search?q=%23fun140

Aren't those effectively recurring tweets?


[twitter-dev] Re: Duplicate Tweets

2009-10-13 Thread PJB


Chad:

Sorry, I didn't see you had posted in here, and not sure if my
subsequent posts properly answered you.

I mean that Desktop apps, not being bound by a whitelisted IP,
wouldn't be limited by restrictions limiting API access to OAUTH
only.  Namely, a desktop client could use a Mozilla user-agent, scrape
Twitter.com, grab an authenticity_token, and then do a simple HTTP
form submission with plaintext username/password.  From there, the
client could do whatever outlawed actions aren't possible from Web
apps.

While you could presumably find some commonalities with these logins
for a time, probably the only effective way to counter this approach
is to introduce login captchas.  And that's an ugly barrier to entry
for the average user.

Restricting Web-based apps will presumably shift the policed behavior
to such desktop apps, where it would probably morph into something
even more destructive.

As a web-based developer, I've previously asked for guidelines on what
our responsibilities are in terms of self-policing.  No answer.  And
it's really disheartening to hear that carte blanche limitations are
now being imposed.

There are obvious legitimate uses for recurring dynamic tweets (e.g.,
NBC announcing show schedules/guests, or fitness apps tweeting how
many miles you ran).  Blocking such behavior across the board seems
incredibly short-sighted and limits further important business-
oriented development in this area.

PB

On Oct 13, 12:47 pm, Chad Etzel c...@twitter.com wrote:
 On Tue, Oct 13, 2009 at 3:38 PM, PJB pjbmancun...@gmail.com wrote:

  Wrong.  Basic Authentication will obviously ALWAYS be an option for
  desktop clients, regardless of whether or not it is via API.

 Please explain this statement?
 -Chad

  Furthermore, the app in question explicitly offered the option of a
  recurring tweet which is a violation of the TOS. Regardless of whether or
  not that provides a useful service -- I'm not going to start debating that
  -- the fact of the matter is it *is* a violation of the TOS. Plain and
  simple. Why shouldn't they be allowed (as if we have a say what a private
  company does with their own resources) to ban an app that violates the TOS
  with one of their own options?

  I see, so then sites like mapmyrun and others that, for example, tweet
  Bob ran 10 miles today in 2 hours, Bob ran 12 miles today in 1
  hour, and other templated text, are also in violation of the terms?
  Or what about hootsuite where I can queue up 100 tweets with the exact
  same text to fire off every hour, perhaps interspersed with a second
  tweet?

  The bottom line is that this situation isn't as black and white as you
  think, and Twitter's approach is wrong-headed.




[twitter-dev] Re: Duplicate Tweets

2009-10-12 Thread PJB


I worried about this. Doesn't Twitter realize this will just shift
things to desktop apps which they have less control over?!?

On Oct 12, 7:24 pm, Dewald Pretorius dpr...@gmail.com wrote:
 Any developer who has included and/or is thinking about including a
 recurring tweet feature in your app, please take note that they are
 against Twitter TOS.

 You can read what Twitter wrote to me here:

 http://www.socialoomphblog.com/recurring-tweets/


[twitter-dev] Re: Twitter API in 24 Hours

2009-10-10 Thread PJB


What are you going to do when Twitter makes a huge unannounced change
to their API in, say, 3 months and totally alters everything?  It has
happened before; it will happen again!  This isn't a particularly
mature platform to be writing about, especially with a publication
date 6+ months away!

On Oct 9, 2:42 pm, Andrew Mager andrew.ma...@gmail.com wrote:
 I am co-authoring a book about the Twitter API, and I was wondering if
 any of you guys wanted to write a chapter.

 The book will be in the SAMS 24 hour series, and it's scheduled to be
 released mid-next year.

 Here is our tentative table of contents:

 Introduction to Twitter
 An overview of Twitter and Microblogging
 Common Types of Twitter Applications
 Key Issues to Consider when Developing Twitter Apps
 Overview of Twitters's API structure
 The API is HTTP-based
 The API uses Representational State Transfer (REST)
 There are pagination limits
 The Twitter API supports UTF-8 encoding
 Getting Started with the API
 Setting up an environment
 Making your first API call
 Parsing the reply
 Message, date, author, image
 Creating a simple display
 Setting up an application framework
 Creating a twitter Class
 Various twitter libraries are available
 PHP Class used in this book
 Modifing our class
 Twitter Error messages
 What each error code means
 Modifing our twitter Class
 Passing credentials to twitter
 Standard method (HTTP)
 Using cookies (create, retrieve, delete)
 OAuth
 Sending and Receiving messages from Twitter
 Creating a basic twitter client
 Sending messages in twitter
 Twitter search
 Dealing with Twitter downtimes and errors
 Twitter Beyond the API
 Future of Twitter
 Example Applications
 Other Mashup Twitter Services
 Twitter Etiquette

 Ping me directly if you are interested! andrew.ma...@gmail.com


[twitter-dev] Re: twitter.com/followers/befriend_all ?

2009-10-09 Thread PJB


If it is not in the Twitter API documentation, if the API call not
work for you, if you see no reference to it here on this forum... I am
at a loss why you are asking whether it exists or not.  Clearly it
does not.

On Oct 7, 11:29 am, Rick Yazwinski rick.yazwin...@gmail.com wrote:
 I see comments via google about having a bot call this regularily to
 make sure your bot follows anyone following the bot... makes sense
 (rather than getting all friends and all followers and issuing
 seperate friend requests), however I see no reference to it on the
 twitter api site.

 Is this legit?

 When I call it it just redirects to my home page.

 Rick...


[twitter-dev] Re: Account management app - suspended accounts

2009-10-09 Thread PJB


Agreed.  What else is wefollow.com, which Twitter freely advertises,
but a ranking of people by followers (just look at some of the top
people in the categories and you have to ask yourself, wtf!?)  When
the value of a Twitter account is determined by followers (as apps
like wefollow make clear), then people will obviously and naturally
try to increase their follower counts.  I mean, Twitter freely
advertises twittercounter.com too... and that app even shows charted
daily growth in followers, prompting viewers to wonder how they, too,
can have such growth.

And, personally, I don't necessarily see anything wrong with that.
After all, which is more detrimental to the community, someone like
Karl Rove or Rick Sanchez or Arnold Schwarzenegger using some auto-
follow technique, or the 10s of 1000s of BS accounts tweeting about
weight loss or promotional URL @replies to random people?

I wish Twitter would focus it's anti-spam tactics MORE on the content
of the tweet stream, rather than on some amorphous following abuse
which they undercut by highlighting apps like wefollow.  Or at least a
combination of the two.  There's too many accounts tweeting about
weight loss, etc... and it's a shame when folks like Karl Rove, Rick
Sanchez, and others get suspended because they apparently fell afoul
of follow/unfollow.  A quick look at their tweet stream and it is
apparent they are not spammers.

There's too many false positives in the current anti-spam dragnets,
and far too little focus on the clear-as-day spam tweets currently
making Twitter increasingly hard to use.

On Oct 9, 12:59 pm, Dewald Pretorius dpr...@gmail.com wrote:
 One more thought about this.

 Audience (followers) is to Twitter what PageRank is to Google. Twitter
 created a commodity when it enabled the unlimited follower capability.

 As long as it is a commodity, money-motivated people will continue to
 exploit it as a commodity, just like they exploit Google's PageRank.

 The entire SEO industry is centered around ranking high in SE's, with
 Google's PageRank being one of the most coveted commodities.

 You can expect to see an entire industry forming around gaining
 Twitter followers. And very clever people will continuously try to
 outsmart you to circumvent any counter-measures that you try to
 implement.

 The only way to win that battle is to make followers a non-commodity.

 Dewald

 On Oct 9, 4:04 pm, Dewald Pretorius dpr...@gmail.com wrote:

  John,

  With reference to used for invalid purposes in your post.

  That begs the question, what exactly constitute invalid purposes?

  From a Twitter purist's point of view, anything other than What are
  you doing? constitutes an invalid purpose.

  I'd venture to say that very few people use Twitter for What are you
  doing? No way do I want to or need to tell a few thousand strangers
  (and have it indexed by Google) where I am right now, what I am doing
  right now, or what I am having for lunch. Facebook is a far better
  platform for that, where one has privacy and a hand-picked audience
  who just might care.

  Twitter created a platform that is ideally suited for the marketers
  and mega-phones. Why else would people actually spend money to buy
  followers, and get involved in all kinds of schemes to acquire more
  followers? Because the way your platform works enables and encourages
  that type of purpose.

  When you find yourself spending many frustrating hours of fighting
  invalid use, you are in effect fighting the animal that Twitter
  created. One cannot be angry with users when they use the service in
  unforeseen ways, especially when the service enables that type of use.

  The easiest way to fight invalid use is to change Twitter so that only
  valid use is possible. When Facebook realized that they were
  enabling the mega-phone type, they quickly changed their system to
  discourage that use by limiting the number of friends one can have.

  You either have to do that, or you have to expand your definition of
  valid use, and rejoice in the success it brings you when people use
  your service in unexpected and unanticipated ways.

  By having a flexible platform that encourages many purposes and trying
  to limit those purposes only to what you deem valid, you are forever
  going to fight a losing battle. And, you are laying down rich soil for
  the competition to germinate.

  If every who does not stick to What are you doing? abandoned Twitter
  today, you will be back to where you were in your early days in terms
  of size and relevance.

  Dewald

  On Oct 9, 2:07 pm, John Kalucki jkalu...@gmail.com wrote:

   Openness about abuse is generally counter-productive for everyone. For
   example, opaque limits are harder to game and give better detection
   signals. Also, practically, limits need to be adjusted without notice
   to respond changing attacks. In the end, valid access that is
   difficult to distinguish from access overwhelmingly used for invalid
   purposes 

[twitter-dev] Re: Account management app - suspended accounts

2009-10-09 Thread PJB


Well, in the last dragnet, http://twitter.com/ricksanchezcnn,
http://twitter.com/scottkwalker, http://twitter.com/karlrove were all
suspended.  And while you might disagree with their politics, it's
pretty evident from their tweets that they were not spammers.  These
well-known personalities (and several others) were quickly restored,
but you have to wonder how many non-wellknown, non-spam accounts are
now in the weeds waiting for Twitter to restore their accounts.

Too many false positives, and too many unknown rules arbitrarily
applied.


On Oct 9, 12:05 pm, Andrew Badera and...@badera.us wrote:
 As someone who's been a Twitter user since March 2007 or so, and a
 developer since late 2007, I have a hard time disagreeing with
 anything I've seen from Twitter on spam policies. In general, it seems
 to me, if you're not a douchebag, you don't get suspended. With one or
 two exceptions in that entire time.

 ∞ Andy Badera
 ∞ +1 518-641-1280
 ∞ This email is: [ ] bloggable [x] ask first [ ] private
 ∞ Google me:http://www.google.com/search?q=andrew%20badera

 On Fri, Oct 9, 2009 at 2:54 PM, freefall tehgame...@googlemail.com wrote:

  Yes exactly - Twitter doesnt live by a coherent ruleset. It openly
  promotes bots yet suspends people without any warning or information.
  It opens its doors to be gamed and kicks people out randomly.

  This lack of transparant rules is working like a charm isnt it.

  On Oct 9, 7:44 pm, Cameron Kaiser spec...@floodgap.com wrote:
Openness about abuse is generally counter-productive for everyone. For
example, opaque limits are harder to game and give better detection
signals. Also, practically, limits need to be adjusted without notice
to respond changing attacks. In the end, valid access that is
difficult to distinguish from access overwhelmingly used for invalid
purposes are sometimes, sadly, going to get caught in a low-latency
high-volume countermeasure system.

   How about you just answer my question?

   What you're saying is mankind is wrong to live by well defined and
   concrete rules.

  Um, no. What John is saying is that Twitter doesn't live by them. And,
  considering that Twitter is a relatively new medium, that's pretty much
  by definition.

   Of course the reality is Twitter is another laissez fair bums on seats
   driven site and as google proved, there is nothing like the abiltiy to
   change the rules on a whim, or hide a problem for a company of this
   ilk.

  The line for Jaiku starts over there.

  --
   
  personal:http://www.cameronkaiser.com/--
    Cameron Kaiser * Floodgap Systems *www.floodgap.com*ckai...@floodgap.com
  -- Prediction is very difficult, especially ... about the future. -- Niels 
  Bohr




[twitter-dev] Re: Private user's 'following' information: why am I denied access via API but can get through Twitter.com?

2009-09-30 Thread PJB


This is an annoying inconsistency with the Twitter API.

If you do an authenticated call to view a user's friends/followers,
and that user is either blocking the authenticated user or is private,
you will not be able to view their friends/followers.  You will get
not authorized error.  However, if on Twitter.com, you login and try
to do the same thing, you CAN do this.

The solution in the API is to make UNauthenticated calls and you will
be able to view friends/followers without issue.

On Sep 3, 12:37 am, Tweet Thief tweetth...@gmail.com wrote:
 Summary Question: If a user is 'private' on Twitter, why can I see
 their followers on Twitter.com (IFF I log in) but not through the
 API?

 Details:

 For example, I went tohttp://twitter.com/just_me_hi/followers/and
 can see all of her followers, despite the fact that she is private

 (Note: I can see them on twitter.com while logged in even when I am
 fairly certain that she blocked me before going private.)

 curl -D - -s -u user:pass
 http://twitter.com/friendships/exists.xml?user_a=just_me_hiuser_b=tw...;

 Results in:

 HTTP/1.1 403 Forbidden
 Status: 403 Forbidden
 (irrelevant headers edited)

 ?xml version=1.0 encoding=UTF-8?
 hash
   
 request/friendships/exists.xml?user_a=just_me_hiamp;user_b=tweetthief/request
   errorYou do not have permission to retrieve following status for
 both specified users./error
 /hash

 PLEASE NOTE: I tried the same API access from another account I am
 99.% sure she did NOT block, and it still gives me this
 permission error so it does NOT appear to have anything to do with
 whether or not this account is blocked and everything to do with the
 fact that the account is marked private…

 I don't understand why the API gives me less access to information
 than the website.

 T.T.

 ps: @just_me_hi appears to have gone private after I (and others)
 called her out for plagiarism in violation of the Twitter TOS. You can
 see the chain of events here:

 http://tweetthief.tumblr.com/tagged/justmehi/chrono

 --http://tweetthief.tumblr.com
 Shining a light on users who plagiarize on Twitter


[twitter-dev] Re: Comments for the group and Twitter staff

2009-09-15 Thread PJB


Please also stop willy-nilly changing the error codes and error
messages.  Since your error messages are so often inaccurate, some of
us have setup special rules to decipher what the errors actually are
-- when you change the text or code, our rules break.

For example, suspended users are/were getting rate limit warnings when
trying to authenticate as them.  Separately, a new not authorized
message appears for both failed authentication errors as well as
successfully authenticated users trying friends/ids on blocking
users.  Since the messages and codes are the same, it is hard to
distinguish between these error types to tell the user what is going
on.  There are about a half-dozen of these ambiguities and bad errors
that we've accounted for.  (Don't get me started on 200: OK non-
errors.)

So, after much trial and error, we CAN figure out the actual
underlying problem based on the action and message you send us.  But
when you suddenly change the error code, or message, it throws our
rules into disarray.

(Of course, it would be nice if the actual error messages you sent
were themselves accurate, but for now we're just hoping you can
CONSISTENTLY send us the same inaccurate errors.)


On Sep 15, 12:29 pm, Alex Payne a...@twitter.com wrote:
 We're planning on doing just that: communicating more, monitoring the
 API via a third-party service from a variety of locales, and providing
 better documentation. We've got more developer support hires lined up,
 and more.

 Thanks for the list of what you'd like to see, and thanks for bearing with us.



 On Tue, Sep 15, 2009 at 12:13, zippy_monster alex.zep...@gmail.com wrote:

  On Sep 15, 11:04 am, Alex Payne a...@twitter.com wrote:

  Please understand that the denormalized lists are currently provided
  to developers on a best-effort basis. For the vast majority of Twitter
  applications, this data isn't necessary. A specialized class of
  applications need this data, and we're doing our best to provide it.

  As a developer, implementation details are mainly a recreational
  interest.  My primary concern is the end result (does it work? or
  not?).  Excuses and apologies are nice, but not a substitute for more
  explicit testing and communication.  So far I've run into two
  disruptive changes:

  - Today, for a brief period, API queries were returning twice the
  number of responses they should have.  Instead of showing the proper 6
  DMs, I was getting 12 back.  Oops.

  - Previously, the way POST + OAuth requests were being handled
  changed.  The code I was using (MGTwitterEngine + various OAuth hacks)
  was sending GET arguments with every request (even POST).  For a while
  this worked, but in the past few weeks this broke with no warning.
  Yeah, that was sloppy client-side code, but the documentation was
  silent on this, and certainly the error message (invalid/re-used
  nonce) was not terribly helpful as a proper nonce was being generated
  each time.

  Additionally, Internet rumblings about how OAuth was handled lend
  credence to the idea that the API just isn't terribly stable... both
  from the idea that you're pushing people to use what is officially
  considered an experimental API, and that it's being treated as an
  experimental API (OAuth specific outages for instance).

  Or, the current pagination problems.  The threads I see here seem to
  all be started by API consumers.  What's missing from the picture is
  an announcement from Twitter that some feature is broken.  That smacks
  of really poor (well, non-existent) communication.

  So, yeah, after spending time tracking down the above problems, and
  reading general internet rumblings, my gut feeling is that the Twitter
  API simply isn't terribly stable.  Specifically, I wonder how serious
  Twitter is about testing things in a non-production environment.  If I
  had to propose a solution, it would be to keep a more explicit list
  (blog, regular group postings, whatever) of what changes... even if
  you think it's insignificant.  When something breaks, no matter how
  small, a formal announcement would be great.  If such a thing exists,
  I sure don't know about it.

  The API blog hasn't been updated since July.  The third hit on Google
  for twitter api is a post to this group begging for documentation.
  The API changelog is out there, but it too seems like it's not
  consistently updated.

 --
 Alex Payne - Platform Lead, Twitter, Inc.http://twitter.com/al3x


[twitter-dev] Re: Comments for the group and Twitter staff

2009-09-15 Thread PJB


Would be good if Twitter.com used API to determine, e.g., DM count on
right-side.  Right now it is woefully wrong if we delete DMs via API.

On Sep 15, 2:16 pm, Alex Payne a...@twitter.com wrote:
 The main twitter.com site already uses the API in some places. Our
 revised mobile site is built entirely on the API, and our Facebook
 application has been built off our API for some time.

 Dogfooding! We support it.



 On Tue, Sep 15, 2009 at 14:08, Jim Renkel james.ren...@gmail.com wrote:

  I emphatically second and support the idea of twitter.com having to use
  the API.

  We had similar quality problems at a place I formerly worked, and they
  were solved, completely, when such a policy was instituted.

  Yeah, it puts pressure on the API team and may inconvenience the UI
  team, or whatever you call them, but in the long run it will be worth
  it.

  Side effects that we saw were a simpler, cleaner, more consistent
  architecture for the whole system, and lower total costs to develop and
  maintain the system.

  Bite the bullet and do it now. The longer you wait, the more difficult
  and expensive it will be.

  Jim Renkel

  -Original Message-
  From: twitter-development-talk@googlegroups.com
  [mailto:twitter-development-t...@googlegroups.com] On Behalf Of Scott
  Haneda
  Sent: Tuesday, September 15, 2009 15:55
  To: twitter-development-talk@googlegroups.com
  Subject: [twitter-dev] Re: Comments for the group and Twitter staff

  Probably too late for this, but perhaps moving forward, it could be
  done...
  Twitter.com should move to using their own API.  The tools they use to
  power their own site should be the same tools we use and rely on.

  In all reality, this seems a simpler approach, rather than pushing out
  code for their stuff, and then essentially backporting that to an API,
  just work on making the API, and then integrate that into the
  twitter.com site.

  As far as I can tell, this would solve pretty much every problem the
  API has, as there can not be a case where twitter is down, but the API
  is up, or the API is down, and twitter is up.

  Twitter should be eating their own dog food :)
  --
  Scott * If you contact me off list replace talklists@ with scott@ *

 --
 Alex Payne - Platform Lead, Twitter, Inc.http://twitter.com/al3x


[twitter-dev] empty data + no error returned from friends/ids

2009-09-14 Thread PJB


We are seeing random, intermittent empty result sets from friends/ids,
called without page or cursor arguments.  These empty results return
without error, and frequently correct themselves when tried again.
Is this a known issue?  What is the status of this issue?


[twitter-dev] Re: Draft: Twitter Rules for API Use

2009-09-11 Thread PJB



Dean:

Can you please stop posting about your individual TWITTER ACCOUNT
issue on a Twitter developer forum?  No app was blacklisted in your
case -- rather your account was suspended.  There's a big difference,
and this particular forum topic is about API Rules, NOT about Twitter
account rules.

While I'm sure your situation sucks, you are confusing and conflating
this very important topic -- API rules -- with something totally
different (Twitter user rules).

PB


On Sep 11, 7:21 am, Dean Collins d...@cognation.net wrote:
 Yep, this  we can blacklist an app for any other reason as we deem
 fit, stuff is fine but don't expect other 3rd party developers to play
 along.

 I've been trying to get an exact number of people you can delete from a
 following in 24 hours without risking your twitter account from the
 tech support team following the suspension of my @LiveNFLchat account,
 no one seems to know/be prepared to state a number.

 We're happy to play by the rules, just spell out what those rules
 clearly are.

 Regards,

 Dean Collins
 Live Chat Concepts Inc
 d...@livechatconcepts.com
 +1-212-203-4357   New York
 +61-2-9016-5642   (Sydney in-dial).
 +44-20-3129-6001 (London in-dial).

 -Original Message-
 From: twitter-development-talk@googlegroups.com

 [mailto:twitter-development-t...@googlegroups.com] On Behalf Of Dewald
 Pretorius
 Sent: Friday, September 11, 2009 8:43 AM
 To: Twitter Development Talk
 Subject: [twitter-dev] Re: Draft: Twitter Rules for API Use

 I guess the lawyers wrote this draft as an extension of the modified

 Twitter TOS.

 Alex, you will need to jump on this draft from a dizzy height and get

 all your Platform rules in there.

 Once the API Rules are published as The Rules you will have no

 grounds to blacklist an application for other than what is written in

 The Rules. Unless the rules also state that, we can blacklist an

 app for any other reason as we deem fit, which will fly like a lead

 balloon.

 If the rules are not clear and comprehensive, they will become a ball

 and chain around the ankles of the Platform team.

 Dewald




[twitter-dev] Re: Draft: Twitter Rules for API Use

2009-09-11 Thread PJB


I think you're assuming that correlation equals causation.  You have
no idea why you were suspended, and any hypothesis you, or others come
up with, is simply conjecture.  It could be because you hit follow
limit repeatedly, because you removed too many people, because
(looking at your Google cache) you have a large number of
advertisements, because most of your tweets contain links, because too
many people blocked you, because too many people reported you as spam,
because you were a victim of a phishing attack, because you logged in
from multiple different IPs, because you clicked on a phishing link,
and on and on.

It's highly unlikely that you're going to find the answer here,
however.  The best bet is to follow their reporting system and almost
certainly someone will get in touch with you to explain.

I do hope you give Twitter a little more breathing room before you
contact the press!!! ;)

Regards, PB

On Sep 11, 10:46 am, Dean Collins d...@cognation.net wrote:
 -Original Message-
 From: twitter-development-talk@googlegroups.com
 [mailto:twitter-development-t...@googlegroups.com] On Behalf Of PJB
 Sent: Friday, September 11, 2009 12:49 PM
 To: Twitter Development Talk
 Subject: [twitter-dev] Re: Draft: Twitter Rules for API Use

 Dean:

 Can you please stop posting about your individual TWITTER ACCOUNT
 issue on a Twitter developer forum?  No app was blacklisted in your
 case -- rather your account was suspended.  There's a big difference,
 and this particular forum topic is about API Rules, NOT about Twitter
 account rules.

 While I'm sure your situation sucks, you are confusing and conflating
 this very important topic -- API rules -- with something totally
 different (Twitter user rules).

 PB

 Sure PB,

 But Dossy who runs Twitter karma might want a specific number of
 undeletes per 24 hours SO that he can improve on his application instead
 causing twitter end users unnecessary issues.

 As I said this isn't an account issue or an api issue - it's a rules
 issue and Twitter's insistence of not posting complete and comprehensive
 rules for everyone everywhere to follow.

 Regards,

 Dean




[twitter-dev] Unannounced API change -- new unauthorized errors for blocking users

2009-09-10 Thread PJB


We believe an unannounced Twitter API change happened today or
yesterday, and we just want to fill the group in on our findings.
This change caused some consternation from some of our user base
(your app doesn't work!), and we want to help preclude that for
others.

As you know, if user A blocks user B, there's no easy way for user B
to know that A has blocked him.  On Twitter.com, user B can still view
user A's friends, followers, tweet stream, and profile.  Before
yesterday, as far as we experienced, this used to also be the case for
Twitter API calls.

That's now changed.

If you do authenticated calls for a blocking user, you will receive
Unauthorized errors.  These calls include statuses/user_timeline,
friends/ids, followers/ids, and presumably others.

While this change certainly makes sense for the otherwise limited
block feature, I have two requests from the Twitter team:

1.  Can you please match this behavior on Twitter.com?  As it is,
users of our app are frustrated because they can, e.g., view the
user_timeline of a blocking competitor on Twitter.com, but not through
our app.  This leads to complaints from users saying our app is
broken.

2.  Can you please tell us when API changes occur?  As it is, the
changelog (http://apiwiki.twitter.com/REST-API-Changelog ) hasn't been
updated for almost 2 months.  Seemingly small changes like this can
have significant consequences for apps with larger user bases.



[twitter-dev] Re: Draft: Twitter Rules for API Use

2009-09-10 Thread PJB


This document needs further detail, specifics, and allowances.

1.  Identify the user that authored or provided the Tweet

What do you mean by this?  Presumably the author of the tweet is the
person for whom the tweet appears on Twitter.com and who therefore
actually made the tweet or authorized it, right?  Isn't that
sufficient?

Or do you mean, say, that all those vampire bite tweets must
identify that they come from vampiresRus.com (or wherever) IN THE
TWEET ITSELF?  Does a source parameter count as identification, or
must the tweet itself contain separate identification along with the
content of the tweet?

2.  Maintain the integrity of Tweets and not edit or revise them.

Wait, we can edit tweets?!

I think you need to be more precise with your language and definitions
here.  In my mind, a tweet is something that appears on Twitter.com,
and isn't something which may soon appear on Twitter.com.  If Barack
Obama says a sentence, it isn't a tweet until it is on Twitter.com.

Furthermore, you should get rid of the part where it says edit or
revise.  It is sufficient to say integrity, particularly as new
transformational tools come on line.  For example, if a user queues up
tweets and indicates that he wishes for them to be translated into
Klingon prior to their tweeting, that does constitute edits and
revisions to those tweets.  But presumably this is acceptable as the
user has approved such transformation.

Similarly, I think you need to account for the fact that many
applications allow the user to approve action-based Tweets where there
is no actual text to approve.  For example, the Firefox add-ons that
let me tweet a particular URL, or one that lets me tweet stock trades
I am making, etc.  In these cases, I have approved the method to
create the tweet (that I press a button and the URL and Title of the
page I am on will be tweeted), but I haven't explicitly approved the
text of that URL/title (nor would I want to go through that hassle).

I would reword the section, then, as something like:  Maintain the
integrity of the user-approved text to be tweeted, or the process by
which the text to be tweeted is created; and do not edit or revise
said text, except where the user has specifically approved such
transformations.

3.  Get each user's consent before sending Tweets or other messages
on their behalf. A user authenticating with your application does not
constitute consent to send a message.

Okay, so what DOES constitute consent?  A checkbox that defaults to
'on' with the Tweet?  Or a checkbox that defaults to 'off' and which
the user can turn on?  What about if the user agrees to a long small-
type contract wherein it stipulates that the app can tweet on their
behalf (yet which the user most likely hasn't fully read)?  I think
instead of defining what DOESNT constitute consent, you should give
examples of what does constitute consent.










On Sep 10, 4:58 pm, Marcel Molina mar...@twitter.com wrote:
 To accompany our updated Terms of Service (http://bit.ly/2ZXsyW) we've
 posted a draft of the Twitter API rules athttp://twitter.com/apirules. As the 
 subject states, these rules are a
 work in progress and feedback is welcome. Please read the TOS
 announcement athttp://bit.ly/2ZXsyWfor some background. We encourage
 you to use the contact us link athttp://twitter.com/apiruleswith
 any feedback you may have.

 --
 Marcel Molina
 Twitter Platform Teamhttp://twitter.com/noradio


[twitter-dev] Re: Recent Following and Follower Issues and Some Background on Social Graph

2009-09-08 Thread PJB



John:

Will the third system be used if, e.g., the user has 1000 friends
and we request friends/ids WITHOUT pagination?  Or must we include
pagination arguments even if 5000 to use the third system?

PJB

On Sep 7, 9:52 pm, John Kalucki jkalu...@gmail.com wrote:
 I don't know all the details, but my general understanding is that
 these bulk followers calls have been heavily returning 503s for quite
 some time now, and this is long established, but bad, behavior. These
 bulk calls are hard to support and they need to be moved over to some
 form of practical pagination scheme. Ideally, we'd offer a stream of
 social graph deltas on the Streaming API and this polling business
 could be tightly restricted.

 Bluntly, until further back-end work is in place, we can return 5k
 followers reliably from the third system, or we can attempt to return
 large result sets, but often throw 503s -- really, timeouts, from the
 second system. We cannot return bulk operations, or use row-based
 cursors, from the third system.

 Scraping the social graph is certainly valuable in some cases, but
 generally it's a low value proposition for users, and scraping is
 often is used to support abusive behavior.

 -John Kaluckihttp://twitter.com/jkalucki
 Services, Twitter Inc.

 On Sep 7, 9:27 pm, David W. d...@botanicus.net wrote:

  Hi John,

  On Sep 6, 3:59 pm, John Kalucki jkalu...@gmail.com wrote:

   resources. There is minor pagination jitter in one case and a certain
   class of row-count-based queries have to be deprecated (or limited)
   and replaced with cursor-based queries to be practical. For now, we're
   sending the row-count-queries queries back to the second system, which
   is otherwise idle, but isn't consistent with the first or third
   system.

  I am getting several emails per day at the moment from users telling
  me my app's results are wrong. The application currently asks for the
  entire follower/following ID list at once, using /followers/ids and /
  friends/ids. Does this count as a row-count-query?

  David




[twitter-dev] Re: Recent Following and Follower Issues and Some Background on Social Graph

2009-09-06 Thread PJB


For now, we're sending the row-count-queries queries back to the
second system, which is otherwise idle, but isn't consistent with the
first or third system. 

Can you help us better understand what queries you're talking about?
Do you mean, e.g., that any queries that call for *ALL* friends/ids
without pagination will use the second inconsistent system?  And so
the recommended solution would for us to change our queries to use
pagination... if we want accurate data?


[twitter-dev] Re: Followers count

2009-09-05 Thread PJB


The friend/follower counts are TOTALLY off.  Why can't new features be
introduced without breaking critical existing features?  When will
this be fixed.  Many of us rely on these counts for accurate f/f
counts!

On Sep 4, 8:49 pm, John Kalucki jkalu...@gmail.com wrote:
 The 5k limit is a bug. Working to fix.

 On Sep 4, 6:51 pm, freefall tehgame...@googlemail.com wrote:

  Until today you could use:http://twitter.com/followers/ids.xml

  and get the total - this was way more accurate than getting it from
  user/show. They appear to ahve just lowerd this total to 5000 so that
  will no longer work (unless that's a bug).

  On Sep 3, 7:24 am, Waldron Faulkner waldronfaulk...@gmail.com wrote:

   Same oddness w. friends count as well? I'd guess so.

   My problem is that if I try to get followers using paging, I get
   different numbers (and different followers) than if I pull the entire
   list w/o paging. Also, followers disappear and reappear from one hour
   to the next.

   On Sep 2, 5:44 pm, Jason Tan jasonw...@gmail.com wrote:

Hello,

I have spent a good portion of today reading through closed, merged,
and open issues onhttp://code.google.com/p/twitter-api/issues/list

I am trying to figure out the best way to get an accurate followers
count.  Initially, I was using /users/show which returns the full user
object, including the followers_count item.  However, I have noticed
that this number only updates when the user posts a tweet.  If the
user has no new tweets, the follower count is not updated.  Data I was
pulling in was many days old.  I understand the need to cache data,
but being unable to pull up an approximate count of followers from the
past several days is a problem.

I have seen this issue posted many times, but it is always merged into
issue 474, which appears to only deal with the following flag, and not
the followers_count.  There was one issue (which I can't find anymore)
where there was acknowledgment that the users/show data was cached
until a new post was made but no mention of any fix or solution.

My next approach was to use the statuses/user_timeline.  I wasn't sure
if the user object for each status would have the current value or
the value at the time of the status update.  When I grabbed the xml
formatted response, I got (starting from the most recent status and
going back):
1686, 1653, 1685, 1685, 1685, 1685, 1685...

Through the rest of the statuses, it stayed the same.  Interestingly,
1686 is the current value listed on the website.  1653 was the value I
got from /users/show.  And I'm quite certain that the followers count
did not stay constant at 1685.

Moreover, when I grabbed the json version of statuses/user_timeline, I
got entirely different results:
1653, 1653, 1683, 1675, 1652, 1661, 1644...

This seems to reflect the current number of followers at the time of
the status update, unlike the XML feed.

Anyways, to get back to my original question.  How do I get an
accurate followers count for a user?  Also, why are there still XML/
JSON discrepancies (I came across a few reported issues that said they
had been resolved).

Any help or suggestions would be very much appreciated!

Thanks,
Jason

P.S.  The account I was using for the above examples was DailyPHP- Hide 
quoted text -

   - Show quoted text -




[twitter-dev] friends/ids now returns w/ 1-5% random duplicates (as of this morning)

2009-09-05 Thread PJB


The fix to last nights 5000 limit to friends/ids, followers/ids now
returns with approximately 1-5% duplicates.

For example:

User1:
followers: 32795
unique followers: 32428

User2:
friends: 32350
unique friends: 32046

User3:
followers: 19243
unique followers: 19045

NEITHER of these figures comes close to matching what is on
Twitter.com.  In fact, if I repeat the same calls 10 times for each
user (with no following/unfollowing in between), each result is
usually different.

The duplicates follow either immediately or within 2 or 3 positions
after each other.

What's strange is that the duplicates are NOT the same if the call is
repeated.

Please help.

This bug is new as of this morning.


[twitter-dev] Re: Can you speak in plain english

2009-09-03 Thread PJB


$_ =~ s/\-([^\[]+?)\-/process($1)/ges foreach (@tweets);

On Sep 2, 6:50 pm, Dante Soiu dsoiual...@gmail.com wrote:
 And not computer language, Dante Soiu


[twitter-dev] Re: Can you speak in plain english

2009-09-03 Thread PJB


I think the UK Telegraph (?) article yesterday put it perfectly... the
problem is two-fold: Twitter itself is pretty insecure (unfixed
javascript hacks, etc), and third-party apps are even LESS secure (non-
encrypted db storage of Twitter authentication on mysql injectable
hosts, etc etc).

My general feeling is that Twitter is going to throw baby out with the
bathwater in a desperate attempt to shore up its security.  This no
doubt will mean that the good apps along with the lousy apps will be
thrown to the curb (i.e., blacklisted, or whatever).

For those of us relying on Twitter app development as something more
than just a hobby, or as something more than a chance to speak
computer language, we should really foster a sense of self-
regulation that DISCOURAGES the average non-programmer from using
Twitter's API.

Programming secure, effective, and useful Twitter apps IS VERY HARD.
If you don't have expensive programming and db experience, STAY AWAY!
This app's NOT for you!

On Sep 3, 2:29 am, Nicholas Granado ngran...@gmail.com wrote:
 PJB ... really? There really no need to flame-bait this thread. I think
 Scott put it perfectly.

 Cheers,
 Nick

 On Wed, Sep 2, 2009 at 11:37 PM, PJB pjbmancun...@gmail.com wrote:

  $_ =~ s/\-([^\[]+?)\-/process($1)/ges foreach (@tweets);

  On Sep 2, 6:50 pm, Dante Soiu dsoiual...@gmail.com wrote:
   And not computer language, Dante Soiu




[twitter-dev] Problem in past 48 hours: friendships/create severe lag or loss

2009-08-31 Thread PJB


Woke up this morning to find that several of our users have written in
noting that friendship actions taken through our application are not
working.

We confirmed this problem, across multiple IPs and multiple different
apps.  Friendships/create works inconsistently: about 30% of the time
they work as expected, and the new friends immediately appear in
friends/ids API call, as well as when logging into Twitter.com and
looking at the new friends pages (we see following).

Another 30% appear to be delayed for several hours, during which time
a call to friends/ids does NOT show new friends' ids (nor on
Twitter.com).  Another 30% appears to be lost forever (or severely
lagged).

All of these friendship creates are returning no errors.

A search of @twitterapi on Twitter indicates that this is a (fairly)
widespread problem.

Can Twitter give us some idea as to when this problem will be
resolved?  Any chance you can also add a status update for this
problem so we can point users to that page?


[twitter-dev] Re: Problem in past 48 hours: friendships/create severe lag or loss

2009-08-31 Thread PJB


Thanks Jon... can you let us know if past friendships/create (etc)
calls that haven't yet worked, will eventually work?  Since we
database all of these actions, we're worried that we're going to have
bad data for the past, e.g., 48 hours, unless those non-error calls
actually go through.

On Aug 31, 12:03 pm, John Kalucki jkalu...@gmail.com wrote:
 We're on this. Updates from the usual sources soon.

 On Aug 31, 11:57 am, David Dellanave david.dellan...@gmail.com
 wrote:

  I am pretty sure I am experiencing this issue as well.  I can't verify it,
  yet.  I assumed it was an issue with OAuth, but it seems like that it is the
  same issue.




[twitter-dev] Re: Stop playing around with Source parameters

2009-08-22 Thread PJB


Hehehe... your regex isn't much better!

/a\s+(.*?\s+)?href=[']?(.+?)[']?(\s+.*?)?(.+?)\/a/is

On Aug 21, 9:54 pm, Gonzalo Larralde gonzalolarra...@gmail.com
wrote:
 On Sat, Aug 22, 2009 at 1:17 AM, TCI ticoconid...@gmail.com wrote:

  Recently you added nofollow's, and now you moved the nofollow after
  the href. Some of us filter these out and you changing them is only
  making it more complicated. Please make up your mind and stop changing
  these...

  a href=http://fun140.com/;Fun140/a

  a rel=nofollow href=http://fun140.com/;Fun140/a

  a href=http://fun140.com/; rel=nofollowFun140/a

 Or, maybe, you can try using this regex:

 /a.*? href=(.*?).*?(.*?)\/a/

 and let them do whatever they want.
 --
 Gonzalo.

 PS: My english sucks, sorry about that.


[twitter-dev] Re: Join us in the #twitterapi IRC channel on freenode

2009-08-19 Thread PJB


Usenet, IRC... I am starting to feel like its 1993 all over again!
Maybe next we can get a game of Netrek going on NeXt stations! ;)

On Aug 18, 3:35 pm, Marcel Molina mar...@twitter.com wrote:
 We've heard your requests for greater transparency and more frequent
 communication in the last couple weeks around the fall out from the
 DDoS attacks. The Twitter Development Talk mailing list and
 @twitterapi account have gone a long way to keeping the conversation
 flowing. We want to facilitate even more modes of communication
 though. So we've opened up the #twitterapi IRC channel on
 irc.freenode.net. We hope to be able to provide some real-time support
 when things go awry. Unfortunately, we can't provide 24/7 support via
 IRC, but we'll try to be around during deploys, unexpected outages,
 and special events. We also envision it as a place for developers to
 help each other. So, if you're into IRC, we encourage you to come on
 over.

 --
 Marcel Molina
 Twitter Platform Teamhttp://twitter.com/noradio


[twitter-dev] Re: MyTwitterButler.com Legal issues Update 2

2009-08-15 Thread PJB



The scariest part about all of this, frankly, is less the trademark
stuff, and more the fact that he is being punished for violating
Twitter's terms and services.  As near as I can tell, his app just
follows users who tweet certain keywords.  It doesn't even UNFOLLOW
them (thus potentially churning), it just follows people.

Since there are API calls for those actions, many of us have built
rich apps around follow.  Indeed, Twitter DOES support mass
following... if not, why would batch following be in their roadmap
(http://apiwiki.twitter.com/V2-Roadmap#Following )... To now see
another app taken down because of supposed API violations around mass
following is very scary.

And what's even MORE scary is the selectivity of it.  Why was this
little guy taken down?  What about, say, the popular downloadable XYZ
app which apparently does what tweetbutler does and then some?  Do
they have some more formal relationship with Twitter?  Or do their
other apps somehow inculcate them against violating TS?

It's a minefield out there, and that's VERY VERY scary.  Who knows if
the API calls you make today might violate terms and services
tomorrow?  Perhaps you can count your lucky stars if you have casual
email correspondence with a Twitter engineer... maybe that's what's
needed to fend off trouble?  And too bad for those guys over in
England, like this guy, who perhaps didn't have such a relationship!



[twitter-dev] Re: MyTwitterButler.com Legal issues Update 2

2009-08-14 Thread PJB



This is all rather scary, especially for those of us dedicating
significant resources to Twitter-related development.

I was having a new logo designed... it was going to be in light blue.

I guess I will have to reconsider that option now!


[twitter-dev] problem: friends/ids occasionally returning empty sets

2009-08-12 Thread PJB


Before I bring you back to your regularly scheduled programming
concerning intellectual property issues and whether or not someone may
or may not be sued, I do have something API-related...

Is anyone else experiencing problems today with friends/ids and
followers/ids returning empty sets, yet with no errors?  The JSON
returned does not time out and is well-formed, but there are zero ids
returned, when the queried for user clearly has friends/followers.
This problem occurs intermittently.  Anyone else?