Twitter Meetup at the Hacker Dojo
-
Upload
matt-harris -
Category
Technology
-
view
109 -
download
0
description
Transcript of Twitter Meetup at the Hacker Dojo
TM
1
TM
What's Next & Big with Twitter
@hackerdojoJuly 1, 2010
#tmeetup @themattharris @raffi @hackerdojo
2
TM
About us
3
TM
The team
4
TM
@themattharrisAbout us
5
TM
@raffiAbout us
6
TM
7
TM
160,000
8
TM
160,000Registered third-party Applications
9
TM
75%
10
TM
75%Traffic on Twitter comes from places outside of twitter.com
11
TM
65 Million
12
TM
65 MillionTweets per day
13
TM
65%
14
TM
65%Users are outside of the United States
15
TM
3.5 Billion
16
TM
3.5 BillionRequests per day to the API
17
TM
2,928
18
TM
2,928Tweets-per-second (June 14 2010, Brazil vs North Korea)
19
TM
2,928 3,283Tweets-per-second (June 24 2010, Japan vs Denmark)
20
TM
What is ? The Twitter Platform
21
TM
What is ? ‣ REST API
‣ provides the “basic” Twitter functionality - tweet, follow, etc.
‣ all functions available on your timeline on twitter.com
‣ Search API
‣ real-time search index
‣ get “top tweets” / relevant search results
‣ Streaming API
‣ HTTP long-poll connection
‣ tweets come out of the system in real-time
22
TM
The goals of ‣ To be ridiculously simple
‣ To be obvious
‣ To be self-describing
23
TM
Authenticating to ‣ OAuth 1.0a
‣ Signing “write” requests
‣ Give Twitter visibility into the stack
‣ Applications don’t have the user’s username / password
‣ User can change password at any time
‣ User is secure in knowing his/her password is not stored
‣ User can revoke permissions to app at any time
‣ User has one place to see which applications have access to their account
24
TM
twurl‣ http://github.com/marcel/twurl
‣ Command line tool to interact with using OAuth
‣ Transparently handles OAuth signing against
‣ POST and GET data
‣ Trace requests
25
TM
Limits‣ 175 API calls/hour using OAuth against api.twitter.com
‣ Unauthenticated it goes against the source IP address
‣ Authenticated it goes against the calling user
‣ “Natural” limits on
‣ number of tweets sent
‣ number of DMs sent
‣ number of followings / unfollowings
‣ Status limits
‣ No duplicate tweets
‣ No malware links in tweets
26
TM
@anywhere
27
TM
Core Features‣ Hovercards
‣ Tweet Box
‣ Follow Buttons
‣ Linkify
28
TM
Easiest Example<!DOCTYPE HTML><html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <title>Anywhere Sample</title> <script src="http://platform.twitter.com/anywhere.js?id=YOUR_API_KEY&v=1"> </script> <script type="text/javascript"> twttr.anywhere(function(T) { T.hovercards(); T("#follow-placeholder").followButton('themattharris'); T("#tbox").tweetBox(); }); </script> </head> <body> <p>Some text with @twitter screen names in it.</p>
<div id="tweets"></div> <div id="tbox"></div> <span id="follow-placeholder"></span> </body></html>
29
TM
Easiest Example
30
TM
Easiest Example
<head> <script src="http://platform.twitter.com/anywhere.js?id=YOUR_API_KEY&v=1"> </script> <script type="text/javascript"> twttr.anywhere(function(T) { T.hovercards(); T("#follow-placeholder").followButton('themattharris'); T("#tbox").tweetBox(); }); </script> </head>
31
TM
Easiest Example
<head> <script src="http://platform.twitter.com/anywhere.js?id=YOUR_API_KEY&v=1"> </script> <script type="text/javascript"> twttr.anywhere(function(T) { T.hovercards(); T("#follow-placeholder").followButton('themattharris'); T("#tbox").tweetBox(); }); </script> </head>
32
TM
Easiest Example
<head> <script src="http://platform.twitter.com/anywhere.js?id=YOUR_API_KEY&v=1"> </script> <script type="text/javascript"> twttr.anywhere(function(T) { T.hovercards(); T("#follow-placeholder").followButton('themattharris'); T("#tbox").tweetBox(); }); </script> </head>
33
TM
Easiest Example
<head> <script src="http://platform.twitter.com/anywhere.js?id=YOUR_API_KEY&v=1"> </script> <script type="text/javascript"> twttr.anywhere(function(T) { T.hovercards(); T("#follow-placeholder").followButton('themattharris'); T("#tbox").tweetBox(); }); </script> </head>
34
TM
Complex Example twttr.anywhere(function (T) { var currentUser, screenName, profileImage, profileImageTag;
var onLogin = function() { currentUser = T.currentUser; screenName = currentUser.data('screen_name'); profileImage = currentUser.data('profile_image_url'); profileImageTag = "<img src='" + profileImage + "'/>";
document.getElementById('connect-placeholder').innerHTML = "Logged in as " + profileImageTag + " @" + screenName; document.getElementById('tbox').style.display = 'block'; document.getElementById('follow-placeholder').style.display = 'block'; document.getElementById('signout').style.display = 'block';
T("#follow-placeholder").followButton('themattharris'); T("#tbox").tweetBox({ label: "Careful! This is a real tweet box.", defaultContent: "tweet tweet ", height: 300, width: 700 }); },
35
TM
Complex Example cleanup = function() { document.getElementById('connect-placeholder').innerHTML = ''; document.getElementById('signout').style.display = 'none'; document.getElementById('tbox').style.display = 'none'; document.getElementById('follow-placeholder').style.display = 'none'; }, init = function() { if (T.isConnected()) { onLogin(); } else { T("#connect-placeholder").connectButton({ authComplete: function(user) { onLogin(); }, signOut: function() { cleanup(); init(); } }); } }; init(); T.hovercards({ expanded: true }); });
36
TM
Easiest Example
37
TM
More Info... Check outbit.ly/anywhere-begin
38
TM
OAuthpocalypseThe day is 30th June 16th August 2010
39
TM
What you need to know‣ All applications must be using OAuth for the REST API
‣ Streaming API will still support Basic Auth
‣ Search API has no auth
‣ OAuth key exchange for Open Source Applications
‣ Replace curl with twurl for debugging
http://dev.twitter.com/pages/auth_overview
http://github.com/marcel/twurl
40
TM
OAuth Methods‣ Web must use three legged OAuth
‣ Desktop and mobile apps can also use out-of-band OAuth
‣ Some desktop and mobile apps will be considered for xAuth
41
TM
xAuth not XAuth
xAuth is OAuth
http://dev.twitter.com/pages/xauth
42
TM
Check your host!
api.twitter.com
twitter.com
43
TM
Libraries
http://dev.twitter.com/pages/oauth_libraries
ActionScript/FlashC/C++C#/.NETClojureErlangJavaJavaScript
Objective-C/Cocoa & iPhone ProgrammingPerlPHPPythonQtRubyScala
44
TM
OAuth Echo
45
TM
‣ Delegation for Identity Verification
‣ Pass the header needed for an application to confirm your identify with Twitter
OAuth Echo
46
TM
Services offering it‣ yFrog
‣ TwitPic
‣ TwitVid
‣ TweetPhoto
‣ Mobypicture
‣ Twitgoo
‣ Posterous
‣ img.ly
‣ Vodpod
47
TM
Geo
48
TM
Endpoints‣ /1/geo/search
‣ /1/geo/similar_places
‣ /1/geo/reverse_geocode
‣ /1/geo/id/:id
‣ /1/geo/place
49
TM
/1/geo/search‣ Find places to use in status updates
‣ Search by lat, long, IP or free-form name. Also search by attribute.
‣ Limit to poi, neighborhood, city, admin or country
‣ Find only places within another if desired
‣ Set a callback
‣ Use authorisation to bias ordering to the users location history
http://api.twitter.com/1/geo/search.json
50
TM
http://api.twitter.com/1/geo/similar_places.json
/1/geo/similar_places‣ Find places to use in status updates
‣ Search by lat, long, free-form name. Also search by attribute.
‣ Find only places within another if desired
‣ Set a callback
‣ Search by attribute
51
TM
/1/geo/similar_places‣ Must make this call before creating a place
‣ Returns a creation token
http://api.twitter.com/1/geo/similar_places.json
52
TM
http://api.twitter.com/1/geo/reverse_geocode.json
/1/geo/reverse_geocode‣ Find 20 places around the provided lat, long
‣ Limit to poi, neighborhood, city, admin or country
‣ Set a callback
‣ /geo/search is better
53
TM
http://api.twitter.com/1/geo/id/:id
/1/geo/id/:id‣ Information on a place
‣ :id from /geo/search methods
54
TM
http://api.twitter.com/1/geo/place
/1/geo/place‣ create a place
‣ must have
‣ name
‣ contained_within - place_id of another place, e.g. city
‣ token
‣ lat, long
‣ Set a callback
55
TM
Create a place - the flow‣ /1/geo/search
‣ show what’s nearby
‣ /1/geo/similar_places
‣ not found in search, find by name
‣ /1/geo/place
‣ still not found, create a new place
http://api.twitter.com/1/geo/place
56
TM
Use in search‣ just pass place:place_id
http://search.twitter.com/search?q=place%3A247f43d441defc03
57
TM
Attributes { "name": "Twitter HQ", "polylines": [
], "country_code": "US", "country": "The United States of America", "attributes": { "street_address": "795 Folsom St", "1166:id": "49547", "623:id": "210176" }, "url": "http://api.twitter.com/1/geo/id/247f43d441defc03.json", "id": "247f43d441defc03",}
58
TM
Timelines
59
TM
Timeline Endpoints‣ /1/statuses/public_timeline
‣ /1/statuses/home_timeline
‣ /1/statuses/friends_timeline
‣ /1/statuses/status_timeline
‣ /1/statuses/mentions
‣ /1/statuses/retweeted_by_me
‣ /1/statuses/retweeted_to_me
‣ /1/statuses/retweets_of_me
60
TM
Modifiers‣ include_rts
Accepted values: true, 1, t
61
TM
Modifiers‣ include_rts
‣ include_entities
Accepted values: true, 1, t
62
TM
Modifiers‣ include_rts
‣ include_entities
‣ trim_user
Accepted values: true, 1, t
63
TM
What is a Tweet?The anatomy of a status update
64
TM
Dissecting a status object
{"id"=>12296272736,
"text"=>
"An early look at Annotations:
http://groups.google.com/group/twitter-api-announce/browse_thread/thread/fa5da2608865453",
"created_at"=>"Fri Apr 16 17:55:46 +0000 2010",
"in_reply_to_user_id"=>nil,
"in_reply_to_screen_name"=>nil,
"in_reply_to_status_id"=>nil
"favorited"=>false,
"truncated"=>false,
"user"=>
{"id"=>6253282,
"screen_name"=>"twitterapi",
"name"=>"Twitter API",
"description"=>
"The Real Twitter API. I tweet about API changes, service issues and
happily answer questions about Twitter and our API. Don't get an answer? It's on my website.",
"url"=>"http://apiwiki.twitter.com",
"location"=>"San Francisco, CA",
"profile_background_color"=>"c1dfee",
"profile_background_image_url"=>
"http://a3.twimg.com/profile_background_images/59931895/twitterapi-background-new.png",
"profile_background_tile"=>false,
"profile_image_url"=>"http://a3.twimg.com/profile_images/689684365/api_normal.png",
"profile_link_color"=>"0000ff",
"profile_sidebar_border_color"=>"87bc44",
"profile_sidebar_fill_color"=>"e0ff92",
"profile_text_color"=>"000000",
"created_at"=>"Wed May 23 06:01:13 +0000 2007",
"contributors_enabled"=>true,
"favourites_count"=>1,
"statuses_count"=>1628,
"friends_count"=>13,
"time_zone"=>"Pacific Time (US & Canada)",
"utc_offset"=>-28800,
"lang"=>"en",
"protected"=>false,
"followers_count"=>100581,
"geo_enabled"=>true,
"notifications"=>false,
"following"=>true,
"verified"=>true},
"contributors"=>[3191321],
"geo"=>nil,
"coordinates"=>nil,
"place"=>
{"id"=>"2b6ff8c22edd9576",
"url"=>"http://api.twitter.com/1/geo/id/2b6ff8c22edd9576.json",
"name"=>"SoMa",
"full_name"=>"SoMa, San Francisco",
"place_type"=>"neighborhood",
"country_code"=>"US",
"country"=>"The United States of America",
"bounding_box"=>
{"coordinates"=>
[[[-122.42284884, 37.76893497],
[-122.3964, 37.76893497],
[-122.3964, 37.78752897],
[-122.42284884, 37.78752897]]],
"type"=>"Polygon"}},
"source"=>"web"}
The tweet's unique ID. These
IDs are roughly sorted &
developers should treat them
as opaque (http://bit.ly/dCkppc).
Text of the tweet.
Consecutive duplicate tweets
are rejected. 140 character
max (http://bit.ly/4ud3he).
Tweet's
creation
date.
DE
PR
EC
AT
ED
The ID of an existing tweet that
this tweet is in reply to. Won't
be set unless the author of the
referenced tweet is mentioned.The screen name &
user ID of replied to
tweet author. Truncated to 140
characters. Only
possible from SMS.
The a
uth
or
of th
e tw
eet. T
his
em
bedded o
bje
ct can g
et out of sync.
The a
uth
or's
user
ID.
The author's
user name.
The author's
screen name.
The author's
biography.
The author's
URL.The author's "location". This is a free-form text field, and
there are no guarantees on whether it can be geocoded.
Rendering information
for the author. Colors
are encoded in hex
values (RGB).The creation date
for this account.Whether this account has
contributors enabled
(http://bit.ly/50npuu). Number of
favorites this
user has.
Num
ber
of tw
eets
this
user
has.
Number of
users this user
is following.The timezone and offset
(in seconds) for this user.
The user's selected
language.
Whether this user is protected
or not. If the user is protected,
then this tweet is not visible
except to "friends".
Number of
followers for
this user.
Wheth
er
this
user
has g
eo
enable
d (
http://b
it.ly/4
pF
Y77).
DEPRECATED
in this context
Whether this user
has a verified badge.
The g
eo tag o
n this
tw
eet in
GeoJS
ON
(http://b
it.ly/b
8L1C
p).
The contributors' (if any) user
IDs (http://bit.ly/50npuu).
DEPRECATED
The place associated with this
Tweet (http://bit.ly/b8L1Cp).
The place ID
The URL to fetch a detailed
polygon for this placeThe printable names of this place
The type of this
place - can be a
"neighborhood"
or "city"
The country this place is in
The bounding
box for this
place
The application
that sent this
tweetMap of a Twitter Status Object
Raffi Krikorian <[email protected]>18 April 2010
65
TM
{"id"=>12296272736,
"text"=>
"An early look at Annotations:
http://groups.google.com/group/twitter-api-announce/browse_thread/thread/fa5da2608865453",
"created_at"=>"Fri Apr 16 17:55:46 +0000 2010",
"in_reply_to_user_id"=>nil,
"in_reply_to_screen_name"=>nil,
"in_reply_to_status_id"=>nil
"favorited"=>false,
"truncated"=>false,
"user"=>
{"id"=>6253282,
"screen_name"=>"twitterapi",
"name"=>"Twitter API",
"description"=>
"The Real Twitter API. I tweet about API changes, service issues and
happily answer questions about Twitter and our API. Don't get an answer? It's on my website.",
"url"=>"http://apiwiki.twitter.com",
"location"=>"San Francisco, CA",
"profile_background_color"=>"c1dfee",
"profile_background_image_url"=>
"http://a3.twimg.com/profile_background_images/59931895/twitterapi-background-new.png",
"profile_background_tile"=>false,
"profile_image_url"=>"http://a3.twimg.com/profile_images/689684365/api_normal.png",
"profile_link_color"=>"0000ff",
"profile_sidebar_border_color"=>"87bc44",
"profile_sidebar_fill_color"=>"e0ff92",
"profile_text_color"=>"000000",
"created_at"=>"Wed May 23 06:01:13 +0000 2007",
"contributors_enabled"=>true,
"favourites_count"=>1,
"statuses_count"=>1628,
"friends_count"=>13,
"time_zone"=>"Pacific Time (US & Canada)",
"utc_offset"=>-28800,
"lang"=>"en",
"protected"=>false,
"followers_count"=>100581,
"geo_enabled"=>true,
"notifications"=>false,
"following"=>true,
"verified"=>true},
"contributors"=>[3191321],
"geo"=>nil,
"coordinates"=>nil,
"place"=>
{"id"=>"2b6ff8c22edd9576",
"url"=>"http://api.twitter.com/1/geo/id/2b6ff8c22edd9576.json",
"name"=>"SoMa",
"full_name"=>"SoMa, San Francisco",
"place_type"=>"neighborhood",
"country_code"=>"US",
"country"=>"The United States of America",
"bounding_box"=>
{"coordinates"=>
[[[-122.42284884, 37.76893497],
[-122.3964, 37.76893497],
[-122.3964, 37.78752897],
[-122.42284884, 37.78752897]]],
"type"=>"Polygon"}},
"source"=>"web"}
The tweet's unique ID. These
IDs are roughly sorted &
developers should treat them
as opaque (http://bit.ly/dCkppc).
Text of the tweet.
Consecutive duplicate tweets
are rejected. 140 character
max (http://bit.ly/4ud3he).
Tweet's
creation
date.
DE
PR
EC
AT
ED
The ID of an existing tweet that
this tweet is in reply to. Won't
be set unless the author of the
referenced tweet is mentioned.The screen name &
user ID of replied to
tweet author. Truncated to 140
characters. Only
possible from SMS.
The a
uth
or
of th
e tw
eet. T
his
em
bedded o
bje
ct can g
et out of sync.
The a
uth
or's
user
ID.
The author's
user name.
The author's
screen name.
The author's
biography.
The author's
URL.The author's "location". This is a free-form text field, and
there are no guarantees on whether it can be geocoded.
Rendering information
for the author. Colors
are encoded in hex
values (RGB).The creation date
for this account.Whether this account has
contributors enabled
(http://bit.ly/50npuu). Number of
favorites this
user has.
Num
ber
of tw
eets
this
user
has.
Number of
users this user
is following.The timezone and offset
(in seconds) for this user.
The user's selected
language.
Whether this user is protected
or not. If the user is protected,
then this tweet is not visible
except to "friends".
Number of
followers for
this user.
Wheth
er
this
user
has g
eo
enable
d (
http://b
it.ly/4
pF
Y77).
DEPRECATED
in this context
Whether this user
has a verified badge.
The g
eo tag o
n this
tw
eet in
GeoJS
ON
(http://b
it.ly/b
8L1C
p).
The contributors' (if any) user
IDs (http://bit.ly/50npuu).
DEPRECATED
The place associated with this
Tweet (http://bit.ly/b8L1Cp).
The place ID
The URL to fetch a detailed
polygon for this placeThe printable names of this place
The type of this
place - can be a
"neighborhood"
or "city"
The country this place is in
The bounding
box for this
place
The application
that sent this
tweetMap of a Twitter Status Object
Raffi Krikorian <[email protected]>18 April 2010
Dissecting a status object
66
TM
{"id"=>12296272736,
"text"=>
"An early look at Annotations:
http://groups.google.com/group/twitter-api-announce/browse_thread/thread/fa5da2608865453",
"created_at"=>"Fri Apr 16 17:55:46 +0000 2010",
"in_reply_to_user_id"=>nil,
"in_reply_to_screen_name"=>nil,
"in_reply_to_status_id"=>nil
"favorited"=>false,
"truncated"=>false,
"user"=>
{"id"=>6253282,
"screen_name"=>"twitterapi",
"name"=>"Twitter API",
"description"=>
"The Real Twitter API. I tweet about API changes, service issues and
happily answer questions about Twitter and our API. Don't get an answer? It's on my website.",
"url"=>"http://apiwiki.twitter.com",
"location"=>"San Francisco, CA",
"profile_background_color"=>"c1dfee",
"profile_background_image_url"=>
"http://a3.twimg.com/profile_background_images/59931895/twitterapi-background-new.png",
"profile_background_tile"=>false,
"profile_image_url"=>"http://a3.twimg.com/profile_images/689684365/api_normal.png",
"profile_link_color"=>"0000ff",
"profile_sidebar_border_color"=>"87bc44",
"profile_sidebar_fill_color"=>"e0ff92",
"profile_text_color"=>"000000",
"created_at"=>"Wed May 23 06:01:13 +0000 2007",
"contributors_enabled"=>true,
"favourites_count"=>1,
"statuses_count"=>1628,
"friends_count"=>13,
"time_zone"=>"Pacific Time (US & Canada)",
"utc_offset"=>-28800,
"lang"=>"en",
"protected"=>false,
"followers_count"=>100581,
"geo_enabled"=>true,
"notifications"=>false,
"following"=>true,
"verified"=>true},
"contributors"=>[3191321],
"geo"=>nil,
"coordinates"=>nil,
"place"=>
{"id"=>"2b6ff8c22edd9576",
"url"=>"http://api.twitter.com/1/geo/id/2b6ff8c22edd9576.json",
"name"=>"SoMa",
"full_name"=>"SoMa, San Francisco",
"place_type"=>"neighborhood",
"country_code"=>"US",
"country"=>"The United States of America",
"bounding_box"=>
{"coordinates"=>
[[[-122.42284884, 37.76893497],
[-122.3964, 37.76893497],
[-122.3964, 37.78752897],
[-122.42284884, 37.78752897]]],
"type"=>"Polygon"}},
"source"=>"web"}
The tweet's unique ID. These
IDs are roughly sorted &
developers should treat them
as opaque (http://bit.ly/dCkppc).
Text of the tweet.
Consecutive duplicate tweets
are rejected. 140 character
max (http://bit.ly/4ud3he).
Tweet's
creation
date.
DE
PR
EC
AT
ED
The ID of an existing tweet that
this tweet is in reply to. Won't
be set unless the author of the
referenced tweet is mentioned.The screen name &
user ID of replied to
tweet author. Truncated to 140
characters. Only
possible from SMS.
Th
e a
uth
or
of
the
tw
ee
t. T
his
em
be
dd
ed
ob
ject
ca
n g
et
ou
t o
f syn
c.
Th
e a
uth
or's
use
r ID
.
The author's
user name.
The author's
screen name.
The author's
biography.
The author's
URL.The author's "location". This is a free-form text field, and
there are no guarantees on whether it can be geocoded.
Rendering information
for the author. Colors
are encoded in hex
values (RGB).The creation date
for this account.Whether this account has
contributors enabled
(http://bit.ly/50npuu). Number of
favorites this
user has.
Nu
mb
er
of
twe
ets
this
use
r h
as.
Number of
users this user
is following.The timezone and offset
(in seconds) for this user.
The user's selected
language.
Whether this user is protected
or not. If the user is protected,
then this tweet is not visible
except to "friends".
Number of
followers for
this user.
Wh
eth
er
this
use
r h
as g
eo
en
ab
led
(h
ttp
://b
it.ly/4
pF
Y7
7).
DEPRECATED
in this context
Whether this user
has a verified badge.
Th
e g
eo
ta
g o
n t
his
tw
ee
t in
Ge
oJS
ON
(h
ttp
://b
it.ly/b
8L
1C
p).
The contributors' (if any) user
IDs (http://bit.ly/50npuu).
DEPRECATED
The place associated with this
Tweet (http://bit.ly/b8L1Cp).
The place ID
The URL to fetch a detailed
polygon for this placeThe printable names of this place
The type of this
place - can be a
"neighborhood"
or "city"
The country this place is in
The bounding
box for this
place
The application
that sent this
tweetMap of a Twitter Status Object
Raffi Krikorian <[email protected]>18 April 2010
67
TM
Context is everything
68
TM
#hashtagsThose things you add to a Tweet for grouping
69
TM
@mentionsTalk about or to another user
70
TM
51.495466,-0.146341Locates a Tweet
71
TM
via My Appwhat created the Tweet
72
TM
dev.twitter.comThe developer portal
73
TM
Creating an appYour own small playground
74
TM
75
TM
76
TM
77
TM
Browsing docsRemembering how to read
78
TM
79
TM
80
TM
81
TM
Streaming APINear-Realtime Access to Public Statuses
82
TM
Streaming API‣ A persistent connection to Twitter servers
‣ Get pushed a tweet that matches your predicate in “real-time”
‣ Server to server integrations
83
TM
Basic Usage‣ Curl with Basic Auth or Twurl with OAuth
‣ One connection per username permitted
http://stream.twitter.com/1/statuses/sample.json
84
TM
Follow some users‣ Curl with Basic Auth or Twurl with OAuth
‣ One connection per username permitted
‣ Pass up to 400 user_ids, comma seperated
http://stream.twitter.com/1/statuses/filter.json
85
TM
Filter by keyword‣ Curl with Basic Auth or Twurl with OAuth
‣ One connection per username permitted
‣ Pass up to 200 keywords, comma seperated
‣ Example: Twitter will return statuses which contain: TWITTER, twitter, "Twitter", twitter., #twitter and @twitter
http://stream.twitter.com/1/statuses/filter.json
86
TM
Streaming API - Access Levels‣ Default
87
TM
Streaming API - Default Level‣ 200 x Keywords
‣ 400 x Follow userids
‣ 10 x 1-degree location boxes
88
TM
Streaming API - Access Levels‣ Default
‣ Shadow - many followings
‣ Birddog - many more followings
‣ Restricted Track - many keywords
‣ Partner Track - many more keywords
‣ locRestricted - many locations
89
TM
Streaming API - Access Levels‣ Default
‣ Shadow - many followings
‣ Birddog - many more followings
‣ Restricted Track - many keywords
‣ Partner Track - many more keywords
‣ locRestricted - many locations
‣ Firehose - all public statuses
90
TM
Streaming API - Firehose
91
TM
More Info... Check outbit.ly/streaming_api
92
TM
UserstreamsReal-time updates of all data needed to update a desktop application display
93
TM
UserstreamsReal-time updates of all data needed to update a desktop application display
BETA
94
TM
Keyfacts‣ Rate limits practically eliminated
‣ Hit the API for backfill of data
‣ Transition to userstream for real-time updates
‣ Social events streamed too
BETA
95
TM
More Info... Check outbit.ly/userstreams-betabit.ly/userstreams-overview
BETA
96
TM
Stay Informed... Joinbit.ly/twitter-anywhere-talkbit.ly/twitter-dev-talk
Important [email protected]/twitter-api-announce
97
TM
Help... Check outdev.twitter.com
98
TM
Join the Flock! Find out morejobs.twitter.com
99
TM
Questions? Follow us attwitter.com/twitterapitwitter.com/themattharristwitter.com/raffi
100
TM
101