SlideShare a Scribd company logo
1 of 97
I can has API? A love story Cal Henderson
flickr.com /services /api
The end! Any questions?
Cal Henderson Oh hai
(This one is me) Cal Henderson
Flickr!
Ludicorp
Vancouver Canada
Vancouver (Not part of America) Canada
London England
Game Never Ending
Game Never Ending (Now Ended)
Virtual online world thingy
In stunning 2D!
Carry things!
A micro economy
Where do I fit in?
No APIs
HTTP Sniffable Discoverable
gnespy.com Also GNExus, etc
Flickr?
Games take money
GNE was slow Nodeservice Not modular – argh!
Make some money Fast!
Then we can get back to the game Lies!
Flickr!
APIs
APIs Army of Robots
Application Programming Interface
Feeds vs APIs
Feeds architecture Flickr Brain Templating RDF Atom RSS
RSS Feeds architecture Flickr Brain Templating RDF Atom CSV SQL CDF PHP YAML JSON
flickr.com /services /feeds
Why bother providing feeds?
Simple Just like web pages
Not just for nerds?
Not just for nerds?
 
(Well, sort of)
Cheaper than ‘ push’
Less push these days
Besides games
Comet Flash Java Sockets
Push Less bandwidth Less computing
Push Immediate Fast
Push Producer must know about consumers
Pull Bandwidth & Processing (cache stuff)
Pull Asynchronous Slow
Pull Allows for adhoc consumers
API architecture Flickr Brain Request Response
Von Neuman? Process Input Output
flickr.com /services /api
Open? Or public?
API Explorer (Built for us)
 
Authentication The problem
Authentication The revenge!
Don’t share passwords!
Tokens, Frobs & Mini-Frobs
Advantages?
Push identity to flickr
Operate on private data
Write!
Why have an API?
 
Unit testing
Empower Developers (Army of monkeys)
All the cool kids..
Flickr as Platform
Facebook
Mutually Beneficial
Doesn’t come for free
Bandwidth Processing Storage
Abuse (Stupidity)
Support
API Kits PHP Perl ActionScript
API Kits PHP Perl ActionScript ColdFusion LISP cUrl Delphi Java .NET Python BASIC Ruby
 
 
 
 
What’s special about flixor?
Public by  default
Creative Commons
Improve?
More methods? ~100 public
More formats? Feeds Requests Responses
Push?
The future..?
Flickr  on  Flickr
Rich Integration
Photo credits ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Photo credits cont… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Photo credits cont… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Photo credits cont… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The end!
Questions?

More Related Content

What's hot

What's hot (20)

Gary Reynolds Slide tips
Gary Reynolds Slide tipsGary Reynolds Slide tips
Gary Reynolds Slide tips
 
DjangoCon recap
DjangoCon recapDjangoCon recap
DjangoCon recap
 
Amazing WordPress & Productivity Tips
Amazing WordPress & Productivity TipsAmazing WordPress & Productivity Tips
Amazing WordPress & Productivity Tips
 
How and Why to extend Firefox
How and Why to extend FirefoxHow and Why to extend Firefox
How and Why to extend Firefox
 
Migrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 stepsMigrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 steps
 
Essential open source tools for serverless developers
Essential open source tools for serverless developersEssential open source tools for serverless developers
Essential open source tools for serverless developers
 
WordPress as Data (csv,conf 2016)
WordPress as Data (csv,conf 2016)WordPress as Data (csv,conf 2016)
WordPress as Data (csv,conf 2016)
 
Building Headless Applications with WordPress & Gutenberg
Building Headless Applications with WordPress & GutenbergBuilding Headless Applications with WordPress & Gutenberg
Building Headless Applications with WordPress & Gutenberg
 
Reactive Streams and the Wide World of Groovy
Reactive Streams and the Wide World of GroovyReactive Streams and the Wide World of Groovy
Reactive Streams and the Wide World of Groovy
 
Jeff Siarto: Party Like It’s 1984, An introduction to social APIs
Jeff Siarto: Party Like It’s 1984, An introduction to social APIsJeff Siarto: Party Like It’s 1984, An introduction to social APIs
Jeff Siarto: Party Like It’s 1984, An introduction to social APIs
 
Help Me Help You: The art and science of getting good WordPress support - Wor...
Help Me Help You: The art and science of getting good WordPress support - Wor...Help Me Help You: The art and science of getting good WordPress support - Wor...
Help Me Help You: The art and science of getting good WordPress support - Wor...
 
Ember. it is time to try
Ember. it is time to tryEmber. it is time to try
Ember. it is time to try
 
A Beginner's Guide to WordPress - WordCamp Toronto 2012
A Beginner's Guide to WordPress - WordCamp Toronto 2012A Beginner's Guide to WordPress - WordCamp Toronto 2012
A Beginner's Guide to WordPress - WordCamp Toronto 2012
 
Passionate About Plugins and Wild for Widgets
Passionate About Plugins and Wild for WidgetsPassionate About Plugins and Wild for Widgets
Passionate About Plugins and Wild for Widgets
 
Passionate About Plugins
Passionate About PluginsPassionate About Plugins
Passionate About Plugins
 
WordPress Essentials for Beginners - YES Montreal December 2014
WordPress Essentials for Beginners - YES Montreal December 2014WordPress Essentials for Beginners - YES Montreal December 2014
WordPress Essentials for Beginners - YES Montreal December 2014
 
SEO Before Yoast: WordCamp Rhode Island
SEO Before Yoast: WordCamp Rhode IslandSEO Before Yoast: WordCamp Rhode Island
SEO Before Yoast: WordCamp Rhode Island
 
Top 5 Things I've Messed Up in Live Streaming
Top 5 Things I've Messed Up in Live StreamingTop 5 Things I've Messed Up in Live Streaming
Top 5 Things I've Messed Up in Live Streaming
 
Developer Flow
Developer FlowDeveloper Flow
Developer Flow
 
WordPress for Beginners - West Island Women's Centre
WordPress for Beginners - West Island Women's CentreWordPress for Beginners - West Island Women's Centre
WordPress for Beginners - West Island Women's Centre
 

Similar to I can has API? A Love Story

Web Services Mash-Up
Web Services Mash-UpWeb Services Mash-Up
Web Services Mash-Up
Cal Henderson
 

Similar to I can has API? A Love Story (20)

Flickr Services
Flickr ServicesFlickr Services
Flickr Services
 
Flickr Services
Flickr ServicesFlickr Services
Flickr Services
 
Flink in action
Flink in actionFlink in action
Flink in action
 
Introduction to PHP - SDPHP
Introduction to PHP - SDPHPIntroduction to PHP - SDPHP
Introduction to PHP - SDPHP
 
Mashup University 4: Intro To Mashups
Mashup University 4: Intro To MashupsMashup University 4: Intro To Mashups
Mashup University 4: Intro To Mashups
 
Etech2005
Etech2005Etech2005
Etech2005
 
Web Services Mash-Up
Web Services Mash-UpWeb Services Mash-Up
Web Services Mash-Up
 
A high profile project with Symfony and API Platform: beIN SPORTS
A high profile project with Symfony and API Platform: beIN SPORTSA high profile project with Symfony and API Platform: beIN SPORTS
A high profile project with Symfony and API Platform: beIN SPORTS
 
POIDH: The Flickr API
POIDH: The Flickr APIPOIDH: The Flickr API
POIDH: The Flickr API
 
Eugene PHP June 2015 - Let's Talk Laravel
Eugene PHP June 2015 - Let's Talk LaravelEugene PHP June 2015 - Let's Talk Laravel
Eugene PHP June 2015 - Let's Talk Laravel
 
HTML 5
HTML 5HTML 5
HTML 5
 
Adobemax2009na
Adobemax2009naAdobemax2009na
Adobemax2009na
 
Frontend development of the (current) future
Frontend development of the (current) futureFrontend development of the (current) future
Frontend development of the (current) future
 
Approaching unknown unknowns: CMF for the masses
Approaching unknown unknowns: CMF for the massesApproaching unknown unknowns: CMF for the masses
Approaching unknown unknowns: CMF for the masses
 
Why Django
Why DjangoWhy Django
Why Django
 
Talking to Web Services
Talking to Web ServicesTalking to Web Services
Talking to Web Services
 
Pimp legacy PHP apps with Apigility - TrueNorthPHP 2014
Pimp legacy PHP apps with Apigility - TrueNorthPHP 2014Pimp legacy PHP apps with Apigility - TrueNorthPHP 2014
Pimp legacy PHP apps with Apigility - TrueNorthPHP 2014
 
An introduction to Phing the PHP build system (PHPDay, May 2012)
An introduction to Phing the PHP build system (PHPDay, May 2012)An introduction to Phing the PHP build system (PHPDay, May 2012)
An introduction to Phing the PHP build system (PHPDay, May 2012)
 
Lean JS Deeply, but don't forget about PHP!
Lean JS Deeply, but don't forget about PHP!Lean JS Deeply, but don't forget about PHP!
Lean JS Deeply, but don't forget about PHP!
 
SoundCloud API Do:s and Don't:s
SoundCloud API Do:s and Don't:sSoundCloud API Do:s and Don't:s
SoundCloud API Do:s and Don't:s
 

More from Cal Henderson (7)

Web App Scaffolding - FOWA London 2010
Web App Scaffolding - FOWA London 2010Web App Scaffolding - FOWA London 2010
Web App Scaffolding - FOWA London 2010
 
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYCScalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
 
Moving Pictures - Web 2.0 Expo NYC
Moving Pictures - Web 2.0 Expo NYCMoving Pictures - Web 2.0 Expo NYC
Moving Pictures - Web 2.0 Expo NYC
 
Why I Hate Django - Part 2/2
Why I Hate Django - Part 2/2Why I Hate Django - Part 2/2
Why I Hate Django - Part 2/2
 
Why I Hate Django - Part 1/2
Why I Hate Django - Part 1/2Why I Hate Django - Part 1/2
Why I Hate Django - Part 1/2
 
Scalable Web Architectures - Common Patterns & Approaches
Scalable Web Architectures - Common Patterns & ApproachesScalable Web Architectures - Common Patterns & Approaches
Scalable Web Architectures - Common Patterns & Approaches
 
Ten reasons to love Web 2.0
Ten reasons to love Web 2.0Ten reasons to love Web 2.0
Ten reasons to love Web 2.0
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

I can has API? A Love Story