SlideShare a Scribd company logo
1 of 133
Download to read offline
First-Class APIs


                             Helgi Þormar Þorbjörnsson
                           PHP Tek, Chicago, 25th May 2011

Thursday, 26 May 2011
Hi there, I’m Helgi



Thursday, 26 May 2011
VP of Engineering at Orchestra.io




Thursday, 26 May 2011
VP of Engineering at Orchestra.io
                        Developer at PEAR




Thursday, 26 May 2011
VP of Engineering at Orchestra.io
                        Developer at PEAR
                        From Iceland




Thursday, 26 May 2011
VP of Engineering at Orchestra.io
                        Developer at PEAR
                        From Iceland
                        @h on Twitter




Thursday, 26 May 2011
1995           2000   2005            2010


                                                     John Musser
                                      Founder, Programmable Web

Thursday, 26 May 2011
Why do we need
            a website?




         1995              2000   2005            2010


                                                        John Musser
                                         Founder, Programmable Web

Thursday, 26 May 2011
Why do we need    Of course we
            a website?     have a website




         1995               2000            2005            2010


                                                                  John Musser
                                                   Founder, Programmable Web

Thursday, 26 May 2011
Why do we need    Of course we    Why do we need
            a website?     have a website      an API?




         1995               2000               2005                   2010


                                                                            John Musser
                                                             Founder, Programmable Web

Thursday, 26 May 2011
Why do we need    Of course we    Why do we need        Of course we
            a website?     have a website      an API?            have an API




         1995               2000               2005                   2010


                                                                            John Musser
                                                             Founder, Programmable Web

Thursday, 26 May 2011
Data is the new business model




Thursday, 26 May 2011
APIs are the business glue




Thursday, 26 May 2011
Business without an API?




Thursday, 26 May 2011
Developers hunger to use
                               your data




Thursday, 26 May 2011
Do not keep it all to your self




Thursday, 26 May 2011
The data wasn’t yours to
                              begin with!




Thursday, 26 May 2011
Thursday, 26 May 2011
Mine?             Mine?     Mine?

                                              Mine?
                                                      Mine?
                        Mine?
                                  Mine?



                                Mine?

                                          Mine?




Thursday, 26 May 2011
Not everyone believes this




Thursday, 26 May 2011
They do like their ivory towers




Thursday, 26 May 2011
For years APIs have been
                              treated as...




Thursday, 26 May 2011
Second-Class
                           Citizen


Thursday, 26 May 2011
Why?



Thursday, 26 May 2011
It’s a conceptional problem




Thursday, 26 May 2011
Companies believe they will
                 lose business if they share




Thursday, 26 May 2011
Websites are considered the
                        business




Thursday, 26 May 2011
Not the API




Thursday, 26 May 2011
APIs are for the cool kids




Thursday, 26 May 2011
Or...




Thursday, 26 May 2011
Not enough money




Thursday, 26 May 2011
Not enough time




Thursday, 26 May 2011
Not enough resources




Thursday, 26 May 2011
Not enough foresight




Thursday, 26 May 2011
Finally the time/money comes




Thursday, 26 May 2011
Shoehorned onto the website




Thursday, 26 May 2011
Hot tub awkwardly
                        attached to a house




Thursday, 26 May 2011
Thursday, 26 May 2011
Sparse Documentation




Thursday, 26 May 2011
Ill maintained code




Thursday, 26 May 2011
Lack of testing




Thursday, 26 May 2011
Ticket response time is in the
                     weeks not days




Thursday, 26 May 2011
It is a problem with management




Thursday, 26 May 2011
APIs should be...



Thursday, 26 May 2011
First-Class Citizens



Thursday, 26 May 2011
Thursday, 26 May 2011
Inconceivable?



Thursday, 26 May 2011
Absolutely not!



Thursday, 26 May 2011
2010 Mobile

Thursday, 26 May 2011
2011 Tablets

Thursday, 26 May 2011
There are few companies
                           that really get this




Thursday, 26 May 2011
Opening up the API when
                  they release mobile clients




Thursday, 26 May 2011
New trend for
                          startups


Thursday, 26 May 2011
Start with an API
                               Not
                           a website.



Thursday, 26 May 2011
Start with an API
                               Not
                           a website.



Thursday, 26 May 2011
Why do this?



Thursday, 26 May 2011
Mashups!




Thursday, 26 May 2011
Supply and Demand




Thursday, 26 May 2011
There is a demand for APIs




Thursday, 26 May 2011
Developers are the supply




Thursday, 26 May 2011
Going First-Class?



Thursday, 26 May 2011
Common architecture




Thursday, 26 May 2011
Data




Thursday, 26 May 2011
Data




                               Website

Thursday, 26 May 2011
Data




                                MVC




                               Website

Thursday, 26 May 2011
Data




                                      MVC




                        API          Website

Thursday, 26 May 2011
Data




                        MVC           MVC




                        API          Website

Thursday, 26 May 2011
RE     Data


                              JE
                        MVC     CT     MVC


                                      ED
                        API           Website

Thursday, 26 May 2011
Data




Thursday, 26 May 2011
Data




                               Website

Thursday, 26 May 2011
Data




                        API          Website

Thursday, 26 May 2011
Data




                              MVC




                        API          Website

Thursday, 26 May 2011
RE     Data


                              JE
                                CT
                               MVC


                                      ED
                        API           Website

Thursday, 26 May 2011
Upgrading the API
                     to First-Class


Thursday, 26 May 2011
Data




Thursday, 26 May 2011
Data



                        API




Thursday, 26 May 2011
Data



                          API



                         MVC



                        Website
Thursday, 26 May 2011
Data



                          API



            Mobile       MVC



                        Website
Thursday, 26 May 2011
Data



                          API



            Mobile       MVC      3rd Party


                        Website
Thursday, 26 May 2011
Website as a client



Thursday, 26 May 2011
Data



                          API



            Mobile       MVC      3rd Party


                        Website
Thursday, 26 May 2011
Data



                          API



            Mobile       MVC      3rd Party


                        Website
Thursday, 26 May 2011
Data



                          API



            Mobile       MVC      3rd Party


 JavaScript             Website
Thursday, 26 May 2011
FRAPI
                        (getfrapi.com)




Thursday, 26 May 2011
API First?




Thursday, 26 May 2011
Ideally!




Thursday, 26 May 2011
At least plan for it




Thursday, 26 May 2011
Higher upfront cost but
                        lower in the long term




Thursday, 26 May 2011
Any downsides!?



Thursday, 26 May 2011
Of course!



Thursday, 26 May 2011
Additional Overhead




Thursday, 26 May 2011
OAuth/Security + Website




Thursday, 26 May 2011
Eventually Consistent




Thursday, 26 May 2011
The First version always sucks




Thursday, 26 May 2011
Keep things internal if need be




Thursday, 26 May 2011
Data



                          API



                         MVC



                        Website
Thursday, 26 May 2011
Data



                          API



                         MVC



                        Website
Thursday, 26 May 2011
Data



                            API



                           MVC
               Internal


                          Website
Thursday, 26 May 2011
The gain?



Thursday, 26 May 2011
API becomes the core business




Thursday, 26 May 2011
Single Codebase




Thursday, 26 May 2011
Better Documentation




Thursday, 26 May 2011
More extensive tests




Thursday, 26 May 2011
Better response time on bugs




Thursday, 26 May 2011
Consistency




Thursday, 26 May 2011
Higher upfront cost but
                        lower in the long term




Thursday, 26 May 2011
The Story of
                          Twitter


Thursday, 26 May 2011
This is just an example




Thursday, 26 May 2011
I am not trying to be an
                          asshole to Twitter :-)




Thursday, 26 May 2011
Started in 2006




Thursday, 26 May 2011
Took off in 2007 at SXSW




Thursday, 26 May 2011
20k    60k
                        tweets per day



Thursday, 26 May 2011
200% Growth


Thursday, 26 May 2011
There was no API




Thursday, 26 May 2011
Developers asked for it




Thursday, 26 May 2011
And of course it got bolted on




Thursday, 26 May 2011
API was half cooked and
                            organically grew




Thursday, 26 May 2011
They tried their best, but...




Thursday, 26 May 2011
Thursday, 26 May 2011
#NewTwitter in Oct 2010




Thursday, 26 May 2011
Web client consuming it’s
                                own API.




Thursday, 26 May 2011
More care was taken on the
                           API side




Thursday, 26 May 2011
What if Facebook
                         did the same?


Thursday, 26 May 2011
In conclusion



Thursday, 26 May 2011
Treat the API as your core
                                 business




Thursday, 26 May 2011
Or at least plan it
                         from the start




Thursday, 26 May 2011
Thursday, 26 May 2011
Clients      URL
                         Login
                                            Shorteners




                          etc                 etc




                         Image
                                    etc     Analytics
                        Hosting


Thursday, 26 May 2011
ApiGee & Mashery



Thursday, 26 May 2011
Outsource the innovation of
                 UX to people who know
                         how to!



Thursday, 26 May 2011
Thursday, 26 May 2011
N
                         O
                             M
                              OR
                                 E
Thursday, 26 May 2011
Thanks for coming!

                                    @h
                            helgi@orchestra.io




                        Joind.in: http://joind.in/3400
Thursday, 26 May 2011

More Related Content

More from Helgi Þormar Þorbjörnsson

Website releases made easy with the PEAR installer, OSCON 2009
Website releases made easy with the PEAR installer, OSCON 2009Website releases made easy with the PEAR installer, OSCON 2009
Website releases made easy with the PEAR installer, OSCON 2009
Helgi Þormar Þorbjörnsson
 
Website releases made easy with the PEAR installer - Barcelona 2008
Website releases made easy with the PEAR installer - Barcelona 2008Website releases made easy with the PEAR installer - Barcelona 2008
Website releases made easy with the PEAR installer - Barcelona 2008
Helgi Þormar Þorbjörnsson
 

More from Helgi Þormar Þorbjörnsson (11)

Frontend caching
Frontend cachingFrontend caching
Frontend caching
 
Plant Pyrus in your system - A guide to a plugin system.
Plant Pyrus in your system - A guide to a plugin system.Plant Pyrus in your system - A guide to a plugin system.
Plant Pyrus in your system - A guide to a plugin system.
 
PEAR2 & Pyrus - The look ahead
PEAR2 & Pyrus - The look aheadPEAR2 & Pyrus - The look ahead
PEAR2 & Pyrus - The look ahead
 
Frontend Caching - The "new" frontier
Frontend Caching - The "new" frontierFrontend Caching - The "new" frontier
Frontend Caching - The "new" frontier
 
Caching for Cash, part 4 DPC 2009
Caching for Cash, part 4 DPC 2009Caching for Cash, part 4 DPC 2009
Caching for Cash, part 4 DPC 2009
 
Cashing For Cash, part 1 DPC 2009
Cashing For Cash, part 1 DPC 2009Cashing For Cash, part 1 DPC 2009
Cashing For Cash, part 1 DPC 2009
 
Website releases made easy with the PEAR installer, OSCON 2009
Website releases made easy with the PEAR installer, OSCON 2009Website releases made easy with the PEAR installer, OSCON 2009
Website releases made easy with the PEAR installer, OSCON 2009
 
Caching for Cash - Part 4
Caching for Cash - Part 4Caching for Cash - Part 4
Caching for Cash - Part 4
 
Caching for Cash - Part 1
Caching for Cash - Part 1Caching for Cash - Part 1
Caching for Cash - Part 1
 
Coping with Cyber Monday
Coping with Cyber MondayCoping with Cyber Monday
Coping with Cyber Monday
 
Website releases made easy with the PEAR installer - Barcelona 2008
Website releases made easy with the PEAR installer - Barcelona 2008Website releases made easy with the PEAR installer - Barcelona 2008
Website releases made easy with the PEAR installer - Barcelona 2008
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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...
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

First-Class APIs, PHPTek 11, Chicago