Twitter Meetup at the Hacker Dojo

Post on 26-Jan-2015

107 views 0 download

Tags:

description

What's Next & Big with Twitter

transcript

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&amp;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&amp;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&amp;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&amp;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&amp;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 <raffi@twitter.com>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 <raffi@twitter.com>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 <raffi@twitter.com>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 Stuff@twitterapistatus.twitter.combit.ly/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