Let’s Hack the Twitter User Streams API <ul><li>@aral #warblecamp </li></ul>
http://apiwiki.twitter.com/ ChirpUserStreams
http://apiwiki.twitter.com/ Streaming-API-Documentation
BETA
http://chirpstream.twitter.com/2b/user.json
betastream.twitter.com
Client-side use only
(Continue to use  stream.twitter.com  for service to service integrations.) integrations.) John Kalucki (Twitter Dev Maili...
JSON only
1) If the key &quot;text&quot; exists, this is a status2) If the key &quot;delete&quot; exists, this is a status deletion3...
oAuth support live (as of May 7th, 2010)
Fully hydrated objects (as of May 3rd)
1) The user's latest status may not be included 2) The user's status count may not be included 3) The user's favorites cou...
{&quot;created_at&quot;=>&quot;Mon May 03 17:42:55 +0000 2010&quot;,  &quot;target_object&quot;=>  {&quot;coordinates&quot...
     &quot;profile_sidebar_fill_color&quot;=>&quot;e0ff92&quot;,     &quot;location&quot;=>nil,     &quot;created_at&quot;...
     &quot;description&quot;=>nil,     &quot;profile_background_color&quot;=>&quot;9ae4e8&quot;,     &quot;geo_enabled&quo...
    &quot;profile_sidebar_fill_color&quot;=>&quot;e0ff92&quot;,   &quot;location&quot;=>nil,   &quot;created_at&quot;=>&qu...
    &quot;description&quot;=>nil,   &quot;profile_background_color&quot;=>&quot;9ae4e8&quot;,   &quot;geo_enabled&quot;=>f...
    &quot;profile_image_url&quot;=>    &quot; http://s3.amazonaws.com/twitter_development/profile_images/2/jack_normal.jpg...
   &quot;geo_enabled&quot;=>false,   &quot;time_zone&quot;=>&quot;Pacific Time (US & Canada)&quot;,   &quot;profile_backgr...
{  &quot;target_object&quot;=>    &quot;user&quot;=>     {     &quot;name&quot;=>&quot;Ray&quot;,    },  &quot;event&quot;...
Direct Messages
{ &quot;direct_message&quot;=>   {&quot;created_at&quot;=>&quot;Wed Apr 28 14:56:31 +0000 2010&quot;, //...   &quot;sender...
Resources
Earlybird sample app: http://github.com/zbowling/earlybird/ http://github.com/zbowling/earlybird/
earlybird.rb  -c consumer_token -s consumer_secret -a access_token -S access_secret [-d] [-f] [-t key,words] [-u url] [-h ...
Useful clients: Tweetstream (Ruby) intridea/tweetstream intridea/tweetstream intridea/tweetstream
(See @tommorris’s session for more info)
Upcoming SlideShare
Loading in …5
×

Twitter User Streams Api

1,534 views

Published on

My quickly-hacked together presentation for Warblecamp on the new Twitter User Streams API.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Twitter User Streams Api

  1. 1. Let’s Hack the Twitter User Streams API <ul><li>@aral #warblecamp </li></ul>
  2. 2. http://apiwiki.twitter.com/ ChirpUserStreams
  3. 3. http://apiwiki.twitter.com/ Streaming-API-Documentation
  4. 4. BETA
  5. 5. http://chirpstream.twitter.com/2b/user.json
  6. 6. betastream.twitter.com
  7. 7. Client-side use only
  8. 8. (Continue to use stream.twitter.com for service to service integrations.) integrations.) John Kalucki (Twitter Dev Mailing List, May 3)
  9. 9. JSON only
  10. 10. 1) If the key &quot;text&quot; exists, this is a status2) If the key &quot;delete&quot; exists, this is a status deletion3) If the key &quot;scrub_geo&quot; exists, this is a geo-tagging deletion message4) If the key &quot;direct_message&quot; exists, this is a direct message5) If the key &quot;event&quot; exists, this is a social event Mark McBride (Twitter Dev Mailing List, May 3)
  11. 11. oAuth support live (as of May 7th, 2010)
  12. 12. Fully hydrated objects (as of May 3rd)
  13. 13. 1) The user's latest status may not be included 2) The user's status count may not be included 3) The user's favorites count may not be included 3) The user's favorites count may not be included 3) The user's favorites count may not be included Mark McBride (Twitter Dev Mailing List, May 3)
  14. 14. {&quot;created_at&quot;=>&quot;Mon May 03 17:42:55 +0000 2010&quot;,  &quot;target_object&quot;=>  {&quot;coordinates&quot;=>nil,   &quot;truncated&quot;=>false,   &quot;created_at&quot;=>&quot;Sun Jun 28 23:10:35 +0000 2009&quot;,   &quot;favorited&quot;=>false,   &quot;contributors&quot;=>nil,   &quot;text&quot;=>&quot;looking at cricket eyes!&quot;,   &quot;id&quot;=>4,   &quot;geo&quot;=>nil,   &quot;in_reply_to_user_id&quot;=>nil,   &quot;source&quot;=>&quot;web&quot;,   &quot;place&quot;=>nil,   &quot;user&quot;=>    {&quot;profile_background_tile&quot;=>false,     &quot;name&quot;=>&quot;Ray&quot;,     &quot;profile_sidebar_border_color&quot;=>&quot;87bc44&quot;,     &quot;profile_sidebar_fill_color&quot;=>&quot;e0ff92&quot;,     &quot;location&quot;=>nil,     &quot;created_at&quot;=>&quot;Mon Apr 12 00:00:00 +0000 2010&quot;,     &quot;profile_image_url&quot;=>&quot;/images/default_profile_4_normal.png&quot;,     &quot;profile_link_color&quot;=>&quot;0000ff&quot;,     &quot;contributors_enabled&quot;=>false,     &quot;url&quot;=>nil,     &quot;favourites_count&quot;=>1,     &quot;id&quot;=>4,     &quot;utc_offset&quot;=>-21600,     &quot;profile_text_color&quot;=>&quot;000000&quot;,     &quot;protected&quot;=>true,     &quot;lang&quot;=>&quot;en&quot;,     &quot;followers_count&quot;=>3,     &quot;notifications&quot;=>nil,     &quot;verified&quot;=>false,     &quot;description&quot;=>nil,     &quot;profile_background_color&quot;=>&quot;9ae4e8&quot;,     &quot;geo_enabled&quot;=>false,     &quot;time_zone&quot;=>&quot;Saskatchewan&quot;,     &quot;profile_background_image_url&quot;=>&quot;/images/themes/theme1/bg.png&quot;,     &quot;statuses_count&quot;=>1,     &quot;friends_count&quot;=>3,     &quot;screen_name&quot;=>&quot;ray&quot;,     &quot;following&quot;=>nil},   &quot;in_reply_to_screen_name&quot;=>nil,   &quot;in_reply_to_status_id&quot;=>nil},  &quot;event&quot;=>&quot;favorite&quot;,  &quot;target&quot;=>  {&quot;profile_background_tile&quot;=>false,   &quot;name&quot;=>&quot;Ray&quot;,   &quot;profile_sidebar_border_color&quot;=>&quot;87bc44&quot;,   &quot;profile_sidebar_fill_color&quot;=>&quot;e0ff92&quot;,   &quot;location&quot;=>nil,   &quot;created_at&quot;=>&quot;Mon Apr 12 00:00:00 +0000 2010&quot;,   &quot;profile_image_url&quot;=>&quot;/images/default_profile_4_normal.png&quot;,   &quot;profile_link_color&quot;=>&quot;0000ff&quot;,   &quot;contributors_enabled&quot;=>false,   &quot;url&quot;=>nil,   &quot;favourites_count&quot;=>1,   &quot;id&quot;=>4,   &quot;utc_offset&quot;=>-21600,   &quot;profile_text_color&quot;=>&quot;000000&quot;,   &quot;protected&quot;=>true,   &quot;lang&quot;=>&quot;en&quot;,   &quot;followers_count&quot;=>3,   &quot;notifications&quot;=>nil,   &quot;verified&quot;=>false,   &quot;description&quot;=>nil,   &quot;profile_background_color&quot;=>&quot;9ae4e8&quot;,   &quot;geo_enabled&quot;=>false,   &quot;time_zone&quot;=>&quot;Saskatchewan&quot;,   &quot;profile_background_image_url&quot;=>&quot;/images/themes/theme1/bg.png&quot;,   &quot;statuses_count&quot;=>1,   &quot;friends_count&quot;=>3,   &quot;screen_name&quot;=>&quot;ray&quot;,   &quot;following&quot;=>nil},  &quot;source&quot;=>  {&quot;profile_background_tile&quot;=>false,   &quot;name&quot;=>&quot;Jack&quot;,   &quot;profile_sidebar_border_color&quot;=>&quot;87bc44&quot;,   &quot;profile_sidebar_fill_color&quot;=>&quot;e0ff92&quot;,   &quot;location&quot;=>&quot;San Francisco&quot;,   &quot;created_at&quot;=>&quot;Wed Apr 28 00:00:00 +0000 2010&quot;,   &quot;profile_image_url&quot;=>    &quot; http://s3.amazonaws.com/twitter_development/profile_images/2/jack_normal.jpg &quot;,   &quot;profile_link_color&quot;=>&quot;0000ff&quot;,   &quot;contributors_enabled&quot;=>false,   &quot;url&quot;=>nil,   &quot;favourites_count&quot;=>0,   &quot;id&quot;=>3,   &quot;utc_offset&quot;=>-28800,   &quot;profile_text_color&quot;=>&quot;000000&quot;,   &quot;protected&quot;=>true,   &quot;lang&quot;=>&quot;en&quot;,   &quot;followers_count&quot;=>2,   &quot;notifications&quot;=>nil,   &quot;verified&quot;=>false,   &quot;description&quot;=>&quot;love, love&quot;,   &quot;profile_background_color&quot;=>&quot;9ae4e8&quot;,   &quot;geo_enabled&quot;=>false,   &quot;time_zone&quot;=>&quot;Pacific Time (US & Canada)&quot;,   &quot;profile_background_image_url&quot;=>&quot;/images/themes/theme1/bg.png&quot;,   &quot;statuses_count&quot;=>1,   &quot;friends_count&quot;=>2,   &quot;screen_name&quot;=>&quot;jack&quot;,   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}
  15. 15.     &quot;profile_sidebar_fill_color&quot;=>&quot;e0ff92&quot;,     &quot;location&quot;=>nil,     &quot;created_at&quot;=>&quot;Mon Apr 12 00:00:00 +0000 2010&quot;,     &quot;profile_image_url&quot;=>&quot;/images/default_profile_4_normal.png&quot;,     &quot;profile_link_color&quot;=>&quot;0000ff&quot;,     &quot;contributors_enabled&quot;=>false,     &quot;url&quot;=>nil,     &quot;favourites_count&quot;=>1,     &quot;id&quot;=>4,     &quot;utc_offset&quot;=>-21600,     &quot;profile_text_color&quot;=>&quot;000000&quot;,     &quot;protected&quot;=>true,     &quot;lang&quot;=>&quot;en&quot;,     &quot;followers_count&quot;=>3,     &quot;notifications&quot;=>nil,     &quot;verified&quot;=>false,     &quot;description&quot;=>nil,     &quot;profile_background_color&quot;=>&quot;9ae4e8&quot;,     &quot;geo_enabled&quot;=>false,     &quot;time_zone&quot;=>&quot;Saskatchewan&quot;,     &quot;profile_background_image_url&quot;=>&quot;/images/themes/theme1/bg.png&quot;,     &quot;statuses_count&quot;=>1,     &quot;friends_count&quot;=>3,     &quot;screen_name&quot;=>&quot;ray&quot;,     &quot;following&quot;=>nil},   &quot;in_reply_to_screen_name&quot;=>nil,   &quot;in_reply_to_status_id&quot;=>nil},  &quot;event&quot;=>&quot;favorite&quot;,  &quot;target&quot;=>  {&quot;profile_background_tile&quot;=>false,   &quot;name&quot;=>&quot;Ray&quot;,   &quot;profile_sidebar_border_color&quot;=>&quot;87bc44&quot;,   &quot;profile_sidebar_fill_color&quot;=>&quot;e0ff92&quot;,   &quot;location&quot;=>nil,   &quot;created_at&quot;=>&quot;Mon Apr 12 00:00:00 +0000 2010&quot;,   &quot;profile_image_url&quot;=>&quot;/images/default_profile_4_normal.png&quot;,   &quot;profile_link_color&quot;=>&quot;0000ff&quot;,   &quot;contributors_enabled&quot;=>false,   &quot;url&quot;=>nil,   &quot;favourites_count&quot;=>1,   &quot;id&quot;=>4,   &quot;utc_offset&quot;=>-21600,   &quot;profile_text_color&quot;=>&quot;000000&quot;,   &quot;protected&quot;=>true,   &quot;lang&quot;=>&quot;en&quot;,   &quot;followers_count&quot;=>3,   &quot;notifications&quot;=>nil,   &quot;verified&quot;=>false,   &quot;description&quot;=>nil,   &quot;profile_background_color&quot;=>&quot;9ae4e8&quot;,   &quot;geo_enabled&quot;=>false,   &quot;time_zone&quot;=>&quot;Saskatchewan&quot;,   &quot;profile_background_image_url&quot;=>&quot;/images/themes/theme1/bg.png&quot;,   &quot;statuses_count&quot;=>1,   &quot;friends_count&quot;=>3,   &quot;screen_name&quot;=>&quot;ray&quot;,   &quot;following&quot;=>nil},  &quot;source&quot;=>  {&quot;profile_background_tile&quot;=>false,   &quot;name&quot;=>&quot;Jack&quot;,   &quot;profile_sidebar_border_color&quot;=>&quot;87bc44&quot;,   &quot;profile_sidebar_fill_color&quot;=>&quot;e0ff92&quot;,   &quot;location&quot;=>&quot;San Francisco&quot;,   &quot;created_at&quot;=>&quot;Wed Apr 28 00:00:00 +0000 2010&quot;,   &quot;profile_image_url&quot;=>    &quot; http://s3.amazonaws.com/twitter_development/profile_images/2/jack_normal.jpg &quot;,   &quot;profile_link_color&quot;=>&quot;0000ff&quot;,   &quot;contributors_enabled&quot;=>false,   &quot;url&quot;=>nil,   &quot;favourites_count&quot;=>0,   &quot;id&quot;=>3,   &quot;utc_offset&quot;=>-28800,   &quot;profile_text_color&quot;=>&quot;000000&quot;,   &quot;protected&quot;=>true,   &quot;lang&quot;=>&quot;en&quot;,   &quot;followers_count&quot;=>2,   &quot;notifications&quot;=>nil,   &quot;verified&quot;=>false,   &quot;description&quot;=>&quot;love, love&quot;,   &quot;profile_background_color&quot;=>&quot;9ae4e8&quot;,   &quot;geo_enabled&quot;=>false,   &quot;time_zone&quot;=>&quot;Pacific Time (US & Canada)&quot;,   &quot;profile_background_image_url&quot;=>&quot;/images/themes/theme1/bg.png&quot;,   &quot;statuses_count&quot;=>1,   &quot;friends_count&quot;=>2,   &quot;screen_name&quot;=>&quot;jack&quot;,   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}
  16. 16.     &quot;description&quot;=>nil,     &quot;profile_background_color&quot;=>&quot;9ae4e8&quot;,     &quot;geo_enabled&quot;=>false,     &quot;time_zone&quot;=>&quot;Saskatchewan&quot;,     &quot;profile_background_image_url&quot;=>&quot;/images/themes/theme1/bg.png&quot;,     &quot;statuses_count&quot;=>1,     &quot;friends_count&quot;=>3,     &quot;screen_name&quot;=>&quot;ray&quot;,     &quot;following&quot;=>nil},   &quot;in_reply_to_screen_name&quot;=>nil,   &quot;in_reply_to_status_id&quot;=>nil},  &quot;event&quot;=>&quot;favorite&quot;,  &quot;target&quot;=>  {&quot;profile_background_tile&quot;=>false,   &quot;name&quot;=>&quot;Ray&quot;,   &quot;profile_sidebar_border_color&quot;=>&quot;87bc44&quot;,   &quot;profile_sidebar_fill_color&quot;=>&quot;e0ff92&quot;,   &quot;location&quot;=>nil,   &quot;created_at&quot;=>&quot;Mon Apr 12 00:00:00 +0000 2010&quot;,   &quot;profile_image_url&quot;=>&quot;/images/default_profile_4_normal.png&quot;,   &quot;profile_link_color&quot;=>&quot;0000ff&quot;,   &quot;contributors_enabled&quot;=>false,   &quot;url&quot;=>nil,   &quot;favourites_count&quot;=>1,   &quot;id&quot;=>4,   &quot;utc_offset&quot;=>-21600,   &quot;profile_text_color&quot;=>&quot;000000&quot;,   &quot;protected&quot;=>true,   &quot;lang&quot;=>&quot;en&quot;,   &quot;followers_count&quot;=>3,   &quot;notifications&quot;=>nil,   &quot;verified&quot;=>false,   &quot;description&quot;=>nil,   &quot;profile_background_color&quot;=>&quot;9ae4e8&quot;,   &quot;geo_enabled&quot;=>false,   &quot;time_zone&quot;=>&quot;Saskatchewan&quot;,   &quot;profile_background_image_url&quot;=>&quot;/images/themes/theme1/bg.png&quot;,   &quot;statuses_count&quot;=>1,   &quot;friends_count&quot;=>3,   &quot;screen_name&quot;=>&quot;ray&quot;,   &quot;following&quot;=>nil},  &quot;source&quot;=>  {&quot;profile_background_tile&quot;=>false,   &quot;name&quot;=>&quot;Jack&quot;,   &quot;profile_sidebar_border_color&quot;=>&quot;87bc44&quot;,   &quot;profile_sidebar_fill_color&quot;=>&quot;e0ff92&quot;,   &quot;location&quot;=>&quot;San Francisco&quot;,   &quot;created_at&quot;=>&quot;Wed Apr 28 00:00:00 +0000 2010&quot;,   &quot;profile_image_url&quot;=>    &quot; http://s3.amazonaws.com/twitter_development/profile_images/2/jack_normal.jpg &quot;,   &quot;profile_link_color&quot;=>&quot;0000ff&quot;,   &quot;contributors_enabled&quot;=>false,   &quot;url&quot;=>nil,   &quot;favourites_count&quot;=>0,   &quot;id&quot;=>3,   &quot;utc_offset&quot;=>-28800,   &quot;profile_text_color&quot;=>&quot;000000&quot;,   &quot;protected&quot;=>true,   &quot;lang&quot;=>&quot;en&quot;,   &quot;followers_count&quot;=>2,   &quot;notifications&quot;=>nil,   &quot;verified&quot;=>false,   &quot;description&quot;=>&quot;love, love&quot;,   &quot;profile_background_color&quot;=>&quot;9ae4e8&quot;,   &quot;geo_enabled&quot;=>false,   &quot;time_zone&quot;=>&quot;Pacific Time (US & Canada)&quot;,   &quot;profile_background_image_url&quot;=>&quot;/images/themes/theme1/bg.png&quot;,   &quot;statuses_count&quot;=>1,   &quot;friends_count&quot;=>2,   &quot;screen_name&quot;=>&quot;jack&quot;,   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}
  17. 17.    &quot;profile_sidebar_fill_color&quot;=>&quot;e0ff92&quot;,   &quot;location&quot;=>nil,   &quot;created_at&quot;=>&quot;Mon Apr 12 00:00:00 +0000 2010&quot;,   &quot;profile_image_url&quot;=>&quot;/images/default_profile_4_normal.png&quot;,   &quot;profile_link_color&quot;=>&quot;0000ff&quot;,   &quot;contributors_enabled&quot;=>false,   &quot;url&quot;=>nil,   &quot;favourites_count&quot;=>1,   &quot;id&quot;=>4,   &quot;utc_offset&quot;=>-21600,   &quot;profile_text_color&quot;=>&quot;000000&quot;,   &quot;protected&quot;=>true,   &quot;lang&quot;=>&quot;en&quot;,   &quot;followers_count&quot;=>3,   &quot;notifications&quot;=>nil,   &quot;verified&quot;=>false,   &quot;description&quot;=>nil,   &quot;profile_background_color&quot;=>&quot;9ae4e8&quot;,   &quot;geo_enabled&quot;=>false,   &quot;time_zone&quot;=>&quot;Saskatchewan&quot;,   &quot;profile_background_image_url&quot;=>&quot;/images/themes/theme1/bg.png&quot;,   &quot;statuses_count&quot;=>1,   &quot;friends_count&quot;=>3,   &quot;screen_name&quot;=>&quot;ray&quot;,   &quot;following&quot;=>nil},  &quot;source&quot;=>  {&quot;profile_background_tile&quot;=>false,   &quot;name&quot;=>&quot;Jack&quot;,   &quot;profile_sidebar_border_color&quot;=>&quot;87bc44&quot;,   &quot;profile_sidebar_fill_color&quot;=>&quot;e0ff92&quot;,   &quot;location&quot;=>&quot;San Francisco&quot;,   &quot;created_at&quot;=>&quot;Wed Apr 28 00:00:00 +0000 2010&quot;,   &quot;profile_image_url&quot;=>    &quot; http://s3.amazonaws.com/twitter_development/profile_images/2/jack_normal.jpg &quot;,   &quot;profile_link_color&quot;=>&quot;0000ff&quot;,   &quot;contributors_enabled&quot;=>false,   &quot;url&quot;=>nil,   &quot;favourites_count&quot;=>0,   &quot;id&quot;=>3,   &quot;utc_offset&quot;=>-28800,   &quot;profile_text_color&quot;=>&quot;000000&quot;,   &quot;protected&quot;=>true,   &quot;lang&quot;=>&quot;en&quot;,   &quot;followers_count&quot;=>2,   &quot;notifications&quot;=>nil,   &quot;verified&quot;=>false,   &quot;description&quot;=>&quot;love, love&quot;,   &quot;profile_background_color&quot;=>&quot;9ae4e8&quot;,   &quot;geo_enabled&quot;=>false,   &quot;time_zone&quot;=>&quot;Pacific Time (US & Canada)&quot;,   &quot;profile_background_image_url&quot;=>&quot;/images/themes/theme1/bg.png&quot;,   &quot;statuses_count&quot;=>1,   &quot;friends_count&quot;=>2,   &quot;screen_name&quot;=>&quot;jack&quot;,   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}
  18. 18.    &quot;description&quot;=>nil,   &quot;profile_background_color&quot;=>&quot;9ae4e8&quot;,   &quot;geo_enabled&quot;=>false,   &quot;time_zone&quot;=>&quot;Saskatchewan&quot;,   &quot;profile_background_image_url&quot;=>&quot;/images/themes/theme1/bg.png&quot;,   &quot;statuses_count&quot;=>1,   &quot;friends_count&quot;=>3,   &quot;screen_name&quot;=>&quot;ray&quot;,   &quot;following&quot;=>nil},  &quot;source&quot;=>  {&quot;profile_background_tile&quot;=>false,   &quot;name&quot;=>&quot;Jack&quot;,   &quot;profile_sidebar_border_color&quot;=>&quot;87bc44&quot;,   &quot;profile_sidebar_fill_color&quot;=>&quot;e0ff92&quot;,   &quot;location&quot;=>&quot;San Francisco&quot;,   &quot;created_at&quot;=>&quot;Wed Apr 28 00:00:00 +0000 2010&quot;,   &quot;profile_image_url&quot;=>    &quot; http://s3.amazonaws.com/twitter_development/profile_images/2/jack_normal.jpg &quot;,   &quot;profile_link_color&quot;=>&quot;0000ff&quot;,   &quot;contributors_enabled&quot;=>false,   &quot;url&quot;=>nil,   &quot;favourites_count&quot;=>0,   &quot;id&quot;=>3,   &quot;utc_offset&quot;=>-28800,   &quot;profile_text_color&quot;=>&quot;000000&quot;,   &quot;protected&quot;=>true,   &quot;lang&quot;=>&quot;en&quot;,   &quot;followers_count&quot;=>2,   &quot;notifications&quot;=>nil,   &quot;verified&quot;=>false,   &quot;description&quot;=>&quot;love, love&quot;,   &quot;profile_background_color&quot;=>&quot;9ae4e8&quot;,   &quot;geo_enabled&quot;=>false,   &quot;time_zone&quot;=>&quot;Pacific Time (US & Canada)&quot;,   &quot;profile_background_image_url&quot;=>&quot;/images/themes/theme1/bg.png&quot;,   &quot;statuses_count&quot;=>1,   &quot;friends_count&quot;=>2,   &quot;screen_name&quot;=>&quot;jack&quot;,   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}
  19. 19.    &quot;profile_image_url&quot;=>    &quot; http://s3.amazonaws.com/twitter_development/profile_images/2/jack_normal.jpg &quot;,   &quot;profile_link_color&quot;=>&quot;0000ff&quot;,   &quot;contributors_enabled&quot;=>false,   &quot;url&quot;=>nil,   &quot;favourites_count&quot;=>0,   &quot;id&quot;=>3,   &quot;utc_offset&quot;=>-28800,   &quot;profile_text_color&quot;=>&quot;000000&quot;,   &quot;protected&quot;=>true,   &quot;lang&quot;=>&quot;en&quot;,   &quot;followers_count&quot;=>2,   &quot;notifications&quot;=>nil,   &quot;verified&quot;=>false,   &quot;description&quot;=>&quot;love, love&quot;,   &quot;profile_background_color&quot;=>&quot;9ae4e8&quot;,   &quot;geo_enabled&quot;=>false,   &quot;time_zone&quot;=>&quot;Pacific Time (US & Canada)&quot;,   &quot;profile_background_image_url&quot;=>&quot;/images/themes/theme1/bg.png&quot;,   &quot;statuses_count&quot;=>1,   &quot;friends_count&quot;=>2,   &quot;screen_name&quot;=>&quot;jack&quot;,   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}
  20. 20.   &quot;geo_enabled&quot;=>false,   &quot;time_zone&quot;=>&quot;Pacific Time (US & Canada)&quot;,   &quot;profile_background_image_url&quot;=>&quot;/images/themes/theme1/bg.png&quot;,   &quot;statuses_count&quot;=>1,   &quot;friends_count&quot;=>2,   &quot;screen_name&quot;=>&quot;jack&quot;,   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}   &quot;following&quot;=>nil}}
  21. 21. {  &quot;target_object&quot;=>   &quot;user&quot;=>    {     &quot;name&quot;=>&quot;Ray&quot;,    },  &quot;event&quot;=>&quot;favorite&quot;,  &quot;target&quot;=>   {   &quot;name&quot;=>&quot;Ray&quot;, },  &quot;source&quot;=>  {   &quot;name&quot;=>&quot;Jack&quot;, } } } } } } } } } } } } } } }
  22. 22. Direct Messages
  23. 23. { &quot;direct_message&quot;=>   {&quot;created_at&quot;=>&quot;Wed Apr 28 14:56:31 +0000 2010&quot;, //...   &quot;sender_screen_name&quot;=>&quot;user1&quot;,   &quot;sender&quot;=>   &quot;sender&quot;=>   &quot;sender&quot;=>   &quot;sender&quot;=>
  24. 24. Resources
  25. 25. Earlybird sample app: http://github.com/zbowling/earlybird/ http://github.com/zbowling/earlybird/
  26. 26. earlybird.rb -c consumer_token -s consumer_secret -a access_token -S access_secret [-d] [-f] [-t key,words] [-u url] [-h host] options:   -c   --consumer_token   consumer token   -s   --consumer_secret  consumer secret   -a   --access_token     access token   -S   --access_secret    access secret   -r                      show in reply too (takes a lot of API requests)   -d                      debug mode, read json from stdin   -f                      filter out @replies from users you don't follow   -g                      growl notifications for new tweets   -t                      track keywords separated by commas.   -u                      userstream path. Default: /2b/user.json   -h                      userstream hostname: Default: betastream.twitter.com betastream.twitter.com betastream.twitter.com betastream.twitter.com betastream.twitter.com betastream.twitter.com betastream.twitter.com betastream.twitter.com betastream.twitter.com betastream.twitter.com betastream.twitter.com betastream.twitter.com betastream.twitter.com
  27. 27. Useful clients: Tweetstream (Ruby) intridea/tweetstream intridea/tweetstream intridea/tweetstream
  28. 28. (See @tommorris’s session for more info)

×