i can has api? a love story
TRANSCRIPT
I can has API?A love story
Cal Henderson
Open Hack Day, 16th June 2007 2
flickr.com/services
/api
The end!
Any questions?
Open Hack Day, 16th June 2007 4
Cal HendersonOh hai
Open Hack Day, 16th June 2007 5
(This oneis me)
Cal Henderson
Open Hack Day, 16th June 2007 6
Flickr!
Open Hack Day, 16th June 2007 7
Ludicorp
Open Hack Day, 16th June 2007 8
VancouverCanada
Open Hack Day, 16th June 2007 9
Vancouver
(Not part of America)Canada
Open Hack Day, 16th June 2007 10
LondonEngland
Open Hack Day, 16th June 2007 11
Game NeverEnding
Open Hack Day, 16th June 2007 12
Game NeverEnding
(Now Ended)
Open Hack Day, 16th June 2007 13
Virtual online worldthingy
Open Hack Day, 16th June 2007 14
In stunning 2D!
Open Hack Day, 16th June 2007 15
Carry things!
Open Hack Day, 16th June 2007 16
A microeconomy
Open Hack Day, 16th June 2007 17
Where do I fit in?
Open Hack Day, 16th June 2007 18
No APIs
Open Hack Day, 16th June 2007 19
HTTP
Sniffable
Discoverable
Open Hack Day, 16th June 2007 20
gnespy.com
Also GNExus, etc
Open Hack Day, 16th June 2007 21
Flickr?
Open Hack Day, 16th June 2007 22
Games take money
Open Hack Day, 16th June 2007 23
GNE was slow
NodeserviceNot modular – argh!
Open Hack Day, 16th June 2007 24
Make some moneyFast!
Open Hack Day, 16th June 2007 25
Then we can getback to the game
Lies!
Open Hack Day, 16th June 2007 26
Flickr!
Open Hack Day, 16th June 2007 27
APIs
Open Hack Day, 16th June 2007 28
APIs
Army of Robots
Open Hack Day, 16th June 2007 29
ApplicationProgramming
Interface
Open Hack Day, 16th June 2007 30
Feedsvs
APIs
Open Hack Day, 16th June 2007 31
Feeds architectureFlickr Brain
Templating
RDF AtomRSS
Open Hack Day, 16th June 2007 32
RSS
Feeds architectureFlickr Brain
Templating
RDF AtomCSV
SQLCDFPHP
YAMLJSON
Open Hack Day, 16th June 2007 33
flickr.com/services
/feeds
Open Hack Day, 16th June 2007 34
Why bother
providing feeds?
Open Hack Day, 16th June 2007 35
Simple
Just like web pages
Open Hack Day, 16th June 2007 36
Not just for nerds?
Open Hack Day, 16th June 2007 37
Not just for nerds?
Open Hack Day, 16th June 2007 38
Open Hack Day, 16th June 2007 39
(Well, sort of)
Open Hack Day, 16th June 2007 40
Cheaper than‘push’
Open Hack Day, 16th June 2007 41
Less pushthese days
Open Hack Day, 16th June 2007 42
Besidesgames
Open Hack Day, 16th June 2007 43
Comet
Flash
Java
Sockets
Open Hack Day, 16th June 2007 44
Push
Less bandwidth
Less computing
Open Hack Day, 16th June 2007 45
Push
ImmediateFast
Open Hack Day, 16th June 2007 46
Push
Producer must knowabout consumers
Open Hack Day, 16th June 2007 47
Pull
Bandwidth & Processing
(cache stuff)
Open Hack Day, 16th June 2007 48
Pull
Asynchronous
Slow
Open Hack Day, 16th June 2007 49
Pull
Allows for adhoc consumers
Open Hack Day, 16th June 2007 50
API architecture
FlickrBrainRequest Response
Open Hack Day, 16th June 2007 51
Von Neuman?
ProcessInput Output
Open Hack Day, 16th June 2007 52
flickr.com/services
/api
Open Hack Day, 16th June 2007 53
Open?
Or public?
Open Hack Day, 16th June 2007 54
API Explorer
(Built for us)
Open Hack Day, 16th June 2007 55
Open Hack Day, 16th June 2007 56
Authentication
The problem
Open Hack Day, 16th June 2007 57
Authentication
The revenge!
Open Hack Day, 16th June 2007 58
Don’t sharepasswords!
Open Hack Day, 16th June 2007 59
Tokens,
Frobs
& Mini-Frobs
Open Hack Day, 16th June 2007 60
Advantages?
Open Hack Day, 16th June 2007 61
Push identity
to flickr
Open Hack Day, 16th June 2007 62
Operate on
private data
Open Hack Day, 16th June 2007 63
Write!
Open Hack Day, 16th June 2007 64
Why have
an API?
Open Hack Day, 16th June 2007 65
Open Hack Day, 16th June 2007 66
Unit testing
Open Hack Day, 16th June 2007 67
EmpowerDevelopers
(Army of monkeys)
Open Hack Day, 16th June 2007 68
All the cool kids..
Open Hack Day, 16th June 2007 69
Flickr
as
Platform
Open Hack Day, 16th June 2007 70
Open Hack Day, 16th June 2007 71
MutuallyBeneficial
Open Hack Day, 16th June 2007 72
Doesn’t comefor free
Open Hack Day, 16th June 2007 73
Bandwidth
ProcessingStorage
Open Hack Day, 16th June 2007 74
Abuse
(Stupidity)
Open Hack Day, 16th June 2007 75
Support
Open Hack Day, 16th June 2007 76
API Kits
PHP Perl ActionScript
Open Hack Day, 16th June 2007 77
API Kits
PHP Perl ActionScriptColdFusion
LISP
cUrl
Delphi Java
.NET
Python BASICRuby
Open Hack Day, 16th June 2007 78
Open Hack Day, 16th June 2007 79
Open Hack Day, 16th June 2007 80
Open Hack Day, 16th June 2007 81
Open Hack Day, 16th June 2007 82
What’s specialabout flixor?
Open Hack Day, 16th June 2007 83
Public
by default
Open Hack Day, 16th June 2007 84
Creative Commons
Open Hack Day, 16th June 2007 85
Improve?
Open Hack Day, 16th June 2007 86
More methods?
~100 public
Open Hack Day, 16th June 2007 87
More formats?
FeedsRequests Responses
Open Hack Day, 16th June 2007 88
Push?
Open Hack Day, 16th June 2007 89
The future..?
Open Hack Day, 16th June 2007 90
Flickr on Flickr
Open Hack Day, 16th June 2007 91
Rich Integration
Open Hack Day, 16th June 2007 92
Photo creditshttp://flickr.com/photos/laughingsquid/109584042/http://flickr.com/photos/jdlasica/153327729/http://flickr.com/photos/stewart/175271684/http://flickr.com/photos/hustlerofculture/104996715/http://flickr.com/photos/kirksiang/185374339/http://flickr.com/photos/jonsie/254419011/http://flickr.com/photos/24342028@N00/216035211/http://flickr.com/photos/yhassy/254837345/http://flickr.com/photos/ch/110731841/http://flickr.com/photos/andrewcoulterenright/9205611/http://flickr.com/photos/spike55151/18285051/http://flickr.com/photos/sepulture/164151196/http://flickr.com/photos/curiouskiwi/45667526/http://flickr.com/photos/andidfl/199832851/http://flickr.com/photos/santos/27538777/http://flickr.com/photos/beejjorgensen/12372792/http://flickr.com/photos/jaxxon/16914729/http://flickr.com/photos/holgalomaniac/50597465/http://flickr.com/photos/mbernet/72441466/
Open Hack Day, 16th June 2007 93
Photo credits cont…http://flickr.com/photos/ccgd/64767879/http://flickr.com/photos/olivander/58499153/http://flickr.com/photos/thijsjacobs/90522778/http://flickr.com/photos/quiplash/47545024/http://flickr.com/photos/su-chan/157487686/http://flickr.com/photos/gabrielm3/182987412/http://flickr.com/photos/mr_mt_02/167611123/http://flickr.com/photos/thomashawk/120229489/http://flickr.com/photos/helenpalsson/196006913/http://flickr.com/photos/shutupyourface/222616352/http://flickr.com/photos/dgbalancesrocks/82272917/http://flickr.com/photos/laughingsquid/111795102/http://flickr.com/photos/santos/96977613/http://flickr.com/photos/bunchofpants/24767283/http://flickr.com/photos/kaptainkobold/83359336/http://flickr.com/photos/momo0379/93207810/http://flickr.com/photos/processblack/67107439/http://flickr.com/photos/pscafe/79504379/http://flickr.com/photos/sergio_one/116015471/
Open Hack Day, 16th June 2007 94
Photo credits cont…http://flickr.com/photos/intvgene/370973576/http://flickr.com/photos/josstyk/248920216/http://flickr.com/photos/ratterrell/267850875/http://flickr.com/photos/borghetti/43058749/http://flickr.com/photos/snowriderguy/37343192/http://flickr.com/photos/pandarine/3443396/http://flickr.com/photos/tedreese/192952089/http://flickr.com/photos/r80o/1583381/http://flickr.com/photos/drydenrenegade/35882847/http://flickr.com/photos/difusa/135964682/http://flickr.com/photos/avalonstar/52276678/http://flickr.com/photos/hiromy/199767366/http://flickr.com/photos/reneeanddolan/47927688/http://flickr.com/photos/jeffbelmonte/8228640/http://flickr.com/photos/tim_d/245116574/http://flickr.com/photos/wiseacre/153532248/http://flickr.com/photos/bees/543501526/http://flickr.com/photos/stuckincustoms/182191565/http://flickr.com/photos/baboon/162579094/
Open Hack Day, 16th June 2007 95
Photo credits cont…http://flickr.com/photos/bright/15332404/http://flickr.com/photos/tracylee/415291546/http://flickr.com/photos/25512069@N00/499701703/http://flickr.com/photos/vidiot/69075298/http://flickr.com/photos/28481088@N00/159877767/http://flickr.com/photos/piper/22584430/http://flickr.com/photos/monster/432466087/http://flickr.com/photos/drewvigal/58837009/http://flickr.com/photos/drewvigal/58837009/
The end!
Open Hack Day, 16th June 2007 97
Questions?