SlideShare une entreprise Scribd logo
1  sur  46
Internet For Robots
    The How and Why of APIs


    prepared by Cory Forsyth (@bantic)
                 Aug 2011
Cory Forsyth
  @bantic
What is an API?
Application
Programming
  Interface
User Interface
User Interface
Application
                  User
Programming


      Interface
Application
                  User
Programming


      Interface
Machines Understand
  Structured Data
Machines Understand
  Structured Data
Interaction




flickr credit @stevendepolo
Why?
expand reach

                          monetize data

                       encourage innovation




flickr credit @kaet44
I owe everything
   to my API
I owe everything
                            to my API




• 1,000,000 Registered Apps
• 13 Billion API calls per day
Innovation
Innovation
3,200 Websites Have APIs
3,200 Websites Have APIs
Billionaires
      13 B/day




                 data from ProgrammableWeb
Billionaires
      13 B/day


      5 B/day


      5 B/day


                 data from ProgrammableWeb
Companies   APIs
Companies   APIs
$upercharged Innovation
$upercharged Innovation
$upercharged Innovation
$upercharged Innovation
Why Not Provide API?

• difficult, costly to build well
• commoditize your data
• enable competition
• expose your data
Who Should Offer API?

• dynamic content
• timely content
• user-generated content
• company as platform
Who Might Not Offer
       API?

• proprietary data set
• protected data set
• prohibitive cost
Consumers

credit: flickr @newtonfreelibrary
• get further faster
• leverage existing user bases
• personalization
Why Not Use API?

• Lock-in
• At the mercy of that API -- it could go
  down or be deprecated
• At the mercy of the API producer
Why Not Use API?
Technical Details
OAuth
passwordless login
OAuth
passwordless login
OAuth
passwordless login
Miscellany

• API vs SDK
• Unofficial APIs
• Screen scraping
First API?
First API?
questions?
prepared by Cory Forsyth (@bantic)
             Aug 2011

Contenu connexe

Tendances

Open APIs - State of the Market 2011
Open APIs - State of the Market 2011Open APIs - State of the Market 2011
Open APIs - State of the Market 2011John Musser
 
APIdays Helsinki 2019 - To What Extent are APIs a Strategic Tool for a Global...
APIdays Helsinki 2019 - To What Extent are APIs a Strategic Tool for a Global...APIdays Helsinki 2019 - To What Extent are APIs a Strategic Tool for a Global...
APIdays Helsinki 2019 - To What Extent are APIs a Strategic Tool for a Global...apidays
 
Consume (UI5) Web Apps from the HTML5 Application Repository
Consume (UI5) Web Apps from the HTML5 Application RepositoryConsume (UI5) Web Apps from the HTML5 Application Repository
Consume (UI5) Web Apps from the HTML5 Application RepositoryMarius Obert
 
API as a Growth Tool
API as a Growth ToolAPI as a Growth Tool
API as a Growth Tool3scale
 
API Strategy Evolution at Netflix
API Strategy Evolution at NetflixAPI Strategy Evolution at Netflix
API Strategy Evolution at NetflixMichael Hart
 
Idempotent REST APIs
Idempotent REST APIsIdempotent REST APIs
Idempotent REST APIsNitul Kukadia
 

Tendances (6)

Open APIs - State of the Market 2011
Open APIs - State of the Market 2011Open APIs - State of the Market 2011
Open APIs - State of the Market 2011
 
APIdays Helsinki 2019 - To What Extent are APIs a Strategic Tool for a Global...
APIdays Helsinki 2019 - To What Extent are APIs a Strategic Tool for a Global...APIdays Helsinki 2019 - To What Extent are APIs a Strategic Tool for a Global...
APIdays Helsinki 2019 - To What Extent are APIs a Strategic Tool for a Global...
 
Consume (UI5) Web Apps from the HTML5 Application Repository
Consume (UI5) Web Apps from the HTML5 Application RepositoryConsume (UI5) Web Apps from the HTML5 Application Repository
Consume (UI5) Web Apps from the HTML5 Application Repository
 
API as a Growth Tool
API as a Growth ToolAPI as a Growth Tool
API as a Growth Tool
 
API Strategy Evolution at Netflix
API Strategy Evolution at NetflixAPI Strategy Evolution at Netflix
API Strategy Evolution at Netflix
 
Idempotent REST APIs
Idempotent REST APIsIdempotent REST APIs
Idempotent REST APIs
 

En vedette

Microsoft tech talk march 28 2014
Microsoft tech talk march 28 2014Microsoft tech talk march 28 2014
Microsoft tech talk march 28 2014Cory Forsyth
 
OAuth 2.0 Misconceptions
OAuth 2.0 MisconceptionsOAuth 2.0 Misconceptions
OAuth 2.0 MisconceptionsCory Forsyth
 
EmberFest Mobiledoc Demo Lightning Talk
EmberFest Mobiledoc Demo Lightning TalkEmberFest Mobiledoc Demo Lightning Talk
EmberFest Mobiledoc Demo Lightning TalkCory Forsyth
 
Making ember-wormhole work with Fastboot
Making ember-wormhole work with FastbootMaking ember-wormhole work with Fastboot
Making ember-wormhole work with FastbootCory Forsyth
 
Stackup New Languages Talk: Ember is for Everybody
Stackup New Languages Talk: Ember is for EverybodyStackup New Languages Talk: Ember is for Everybody
Stackup New Languages Talk: Ember is for EverybodyCory Forsyth
 
Chrome Extensions at Manhattan JS
Chrome Extensions at Manhattan JSChrome Extensions at Manhattan JS
Chrome Extensions at Manhattan JSCory Forsyth
 
Torii: Ember.js Authentication Library
Torii: Ember.js Authentication LibraryTorii: Ember.js Authentication Library
Torii: Ember.js Authentication LibraryCory Forsyth
 
Ember testing internals with ember cli
Ember testing internals with ember cliEmber testing internals with ember cli
Ember testing internals with ember cliCory Forsyth
 
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0Cory Forsyth
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2Ido Flatow
 
What HTTP/2.0 Will Do For You
What HTTP/2.0 Will Do For YouWhat HTTP/2.0 Will Do For You
What HTTP/2.0 Will Do For YouMark Nottingham
 

En vedette (11)

Microsoft tech talk march 28 2014
Microsoft tech talk march 28 2014Microsoft tech talk march 28 2014
Microsoft tech talk march 28 2014
 
OAuth 2.0 Misconceptions
OAuth 2.0 MisconceptionsOAuth 2.0 Misconceptions
OAuth 2.0 Misconceptions
 
EmberFest Mobiledoc Demo Lightning Talk
EmberFest Mobiledoc Demo Lightning TalkEmberFest Mobiledoc Demo Lightning Talk
EmberFest Mobiledoc Demo Lightning Talk
 
Making ember-wormhole work with Fastboot
Making ember-wormhole work with FastbootMaking ember-wormhole work with Fastboot
Making ember-wormhole work with Fastboot
 
Stackup New Languages Talk: Ember is for Everybody
Stackup New Languages Talk: Ember is for EverybodyStackup New Languages Talk: Ember is for Everybody
Stackup New Languages Talk: Ember is for Everybody
 
Chrome Extensions at Manhattan JS
Chrome Extensions at Manhattan JSChrome Extensions at Manhattan JS
Chrome Extensions at Manhattan JS
 
Torii: Ember.js Authentication Library
Torii: Ember.js Authentication LibraryTorii: Ember.js Authentication Library
Torii: Ember.js Authentication Library
 
Ember testing internals with ember cli
Ember testing internals with ember cliEmber testing internals with ember cli
Ember testing internals with ember cli
 
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
 
What HTTP/2.0 Will Do For You
What HTTP/2.0 Will Do For YouWhat HTTP/2.0 Will Do For You
What HTTP/2.0 Will Do For You
 

Similaire à How APIs Enable Innovation and Interaction on the Internet

Clickslide pitchdeck
Clickslide pitchdeckClickslide pitchdeck
Clickslide pitchdeckClickslide
 
Accelerating Mobile App Data Synchronization and Real-Time Data Development w...
Accelerating Mobile App Data Synchronization and Real-Time Data Development w...Accelerating Mobile App Data Synchronization and Real-Time Data Development w...
Accelerating Mobile App Data Synchronization and Real-Time Data Development w...Amazon Web Services
 
Open API Strategy, by Sensedia
Open API Strategy, by SensediaOpen API Strategy, by Sensedia
Open API Strategy, by SensediaSensedia
 
APIs as a Product Strategy
APIs as a Product StrategyAPIs as a Product Strategy
APIs as a Product StrategyRavi Kumar
 
Building A Great API - Evan Cooke, Cloudstock, December 2010
Building A Great API - Evan Cooke, Cloudstock, December 2010Building A Great API - Evan Cooke, Cloudstock, December 2010
Building A Great API - Evan Cooke, Cloudstock, December 2010Twilio Inc
 
Your API is your Product - Arun Ravindran, Unisys
Your API is your Product - Arun Ravindran, UnisysYour API is your Product - Arun Ravindran, Unisys
Your API is your Product - Arun Ravindran, Unisysbaconfblr
 
Maintaining the Front Door to Netflix
Maintaining the Front Door to NetflixMaintaining the Front Door to Netflix
Maintaining the Front Door to NetflixBenjamin Schmaus
 
Accelerating API Development With OpenAPI and Serverless
Accelerating API Development With OpenAPI and ServerlessAccelerating API Development With OpenAPI and Serverless
Accelerating API Development With OpenAPI and ServerlessSmartBear
 
O'Reilly author webinar "APIs: A Strategy guide": Transforming Your Business...
O'Reilly author webinar "APIs: A Strategy guide":  Transforming Your Business...O'Reilly author webinar "APIs: A Strategy guide":  Transforming Your Business...
O'Reilly author webinar "APIs: A Strategy guide": Transforming Your Business...Apigee | Google Cloud
 
Think like a Platform - EDC 2012
Think like a Platform - EDC 2012Think like a Platform - EDC 2012
Think like a Platform - EDC 2012Delyn Simons
 
APIs and Beyond
APIs and BeyondAPIs and Beyond
APIs and BeyondWSO2
 
What is the difference between web scraping and api
What is the difference between web scraping and apiWhat is the difference between web scraping and api
What is the difference between web scraping and apiAparna Sharma
 
APIdays Helsinki 2019 - Balancing Between Internal and External Developer (AP...
APIdays Helsinki 2019 - Balancing Between Internal and External Developer (AP...APIdays Helsinki 2019 - Balancing Between Internal and External Developer (AP...
APIdays Helsinki 2019 - Balancing Between Internal and External Developer (AP...apidays
 
Design - Start Your API Journey Today
Design - Start Your API Journey TodayDesign - Start Your API Journey Today
Design - Start Your API Journey TodayLaurenWendler
 
Clickslide Datadipity Beta V1
Clickslide Datadipity Beta V1Clickslide Datadipity Beta V1
Clickslide Datadipity Beta V1Gabriel Ortiz
 
Case Study: A Real-World Implementation Of Linked Data
Case Study: A Real-World Implementation Of Linked DataCase Study: A Real-World Implementation Of Linked Data
Case Study: A Real-World Implementation Of Linked DataProgrammableWeb
 
Enterprise API Adoption Patterns
Enterprise API Adoption PatternsEnterprise API Adoption Patterns
Enterprise API Adoption PatternsAkana
 
Enterprise API Adoption Patterns
Enterprise API Adoption PatternsEnterprise API Adoption Patterns
Enterprise API Adoption PatternsAkana
 
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptxAPI Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptxBlockchainizator
 

Similaire à How APIs Enable Innovation and Interaction on the Internet (20)

Clickslide pitchdeck
Clickslide pitchdeckClickslide pitchdeck
Clickslide pitchdeck
 
Accelerating Mobile App Data Synchronization and Real-Time Data Development w...
Accelerating Mobile App Data Synchronization and Real-Time Data Development w...Accelerating Mobile App Data Synchronization and Real-Time Data Development w...
Accelerating Mobile App Data Synchronization and Real-Time Data Development w...
 
Beyond 200 OK.pptx
Beyond 200 OK.pptxBeyond 200 OK.pptx
Beyond 200 OK.pptx
 
Open API Strategy, by Sensedia
Open API Strategy, by SensediaOpen API Strategy, by Sensedia
Open API Strategy, by Sensedia
 
APIs as a Product Strategy
APIs as a Product StrategyAPIs as a Product Strategy
APIs as a Product Strategy
 
Building A Great API - Evan Cooke, Cloudstock, December 2010
Building A Great API - Evan Cooke, Cloudstock, December 2010Building A Great API - Evan Cooke, Cloudstock, December 2010
Building A Great API - Evan Cooke, Cloudstock, December 2010
 
Your API is your Product - Arun Ravindran, Unisys
Your API is your Product - Arun Ravindran, UnisysYour API is your Product - Arun Ravindran, Unisys
Your API is your Product - Arun Ravindran, Unisys
 
Maintaining the Front Door to Netflix
Maintaining the Front Door to NetflixMaintaining the Front Door to Netflix
Maintaining the Front Door to Netflix
 
Accelerating API Development With OpenAPI and Serverless
Accelerating API Development With OpenAPI and ServerlessAccelerating API Development With OpenAPI and Serverless
Accelerating API Development With OpenAPI and Serverless
 
O'Reilly author webinar "APIs: A Strategy guide": Transforming Your Business...
O'Reilly author webinar "APIs: A Strategy guide":  Transforming Your Business...O'Reilly author webinar "APIs: A Strategy guide":  Transforming Your Business...
O'Reilly author webinar "APIs: A Strategy guide": Transforming Your Business...
 
Think like a Platform - EDC 2012
Think like a Platform - EDC 2012Think like a Platform - EDC 2012
Think like a Platform - EDC 2012
 
APIs and Beyond
APIs and BeyondAPIs and Beyond
APIs and Beyond
 
What is the difference between web scraping and api
What is the difference between web scraping and apiWhat is the difference between web scraping and api
What is the difference between web scraping and api
 
APIdays Helsinki 2019 - Balancing Between Internal and External Developer (AP...
APIdays Helsinki 2019 - Balancing Between Internal and External Developer (AP...APIdays Helsinki 2019 - Balancing Between Internal and External Developer (AP...
APIdays Helsinki 2019 - Balancing Between Internal and External Developer (AP...
 
Design - Start Your API Journey Today
Design - Start Your API Journey TodayDesign - Start Your API Journey Today
Design - Start Your API Journey Today
 
Clickslide Datadipity Beta V1
Clickslide Datadipity Beta V1Clickslide Datadipity Beta V1
Clickslide Datadipity Beta V1
 
Case Study: A Real-World Implementation Of Linked Data
Case Study: A Real-World Implementation Of Linked DataCase Study: A Real-World Implementation Of Linked Data
Case Study: A Real-World Implementation Of Linked Data
 
Enterprise API Adoption Patterns
Enterprise API Adoption PatternsEnterprise API Adoption Patterns
Enterprise API Adoption Patterns
 
Enterprise API Adoption Patterns
Enterprise API Adoption PatternsEnterprise API Adoption Patterns
Enterprise API Adoption Patterns
 
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptxAPI Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
 

Dernier

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Dernier (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

How APIs Enable Innovation and Interaction on the Internet

Notes de l'éditeur

  1. \n
  2. \n
  3. To begin with, it’s an acronym, which is why it’s pronounced ay-pee-eye, not something that rhymes with happy.\nstands for application programming interface ->\n
  4. but that doesn’t really tell us all that much about what an API actually *is*, and that’s because it’s a term that was originally coined by computer engineers like this guy\n
  5. so \n
  6. So these are two types of interface. One is designed for users, that’s us, humans, and then the other...when you see those words, ‘application programming,’ you should think, “robot”. The application programming interface is designed to be easy to see and read by a machine.\n
  7. So, you might wonder what an interface designed for a machine would look like. The answer is, it’s just the data. We humans are visual and we make meaning out of what we see by relating the positions, shapes, and colors of what we see, and that’s why user interfaces came along and we don’t just all browse the web from the command line. But for a script that’s trying to relate data to other data, all that stuff is extraneous. So, to make it easy for robots (and computer programs, and the programmers who create those programs), an API outputs structured text that can be easily parsed by the program.\n\nThey have been around since about 2000, although we didn’t see more than a handful until about 2005.\n
  8. So, you might wonder what an interface designed for a machine would look like. The answer is, it’s just the data. We humans are visual and we make meaning out of what we see by relating the positions, shapes, and colors of what we see, and that’s why user interfaces came along and we don’t just all browse the web from the command line. But for a script that’s trying to relate data to other data, all that stuff is extraneous. So, to make it easy for robots (and computer programs, and the programmers who create those programs), an API outputs structured text that can be easily parsed by the program.\n\nThey have been around since about 2000, although we didn’t see more than a handful until about 2005.\n
  9. the other side of this is that by using an api, a script or other computer program can *programmatically* interact with the site that offers that api. So in addition to reading data from that site, it can actually make actions that affect that site. For example, you could use twitter’s api to post a message. The human equivalent is to log in to twitter.com, type a tweet into the message box, and push the ‘tweet’ button. The robot equivalent, going through the api, is to just send some data and commands to twitter’s api to make that action happen.\n
  10. so -- now we know *what* an API is...why do we want it? why does this matter? what’s the big deal?\n
  11. a web site is just one representation of data. many web sites have at least two representations of their data, two interfaces...one that is designed to be readable and understandable on a web page, and then another one that’s designed to show the same information -- the same text, or tweets, or blog posts, wikipedia articles or checkins -- that same information, on a mobile phone’s browser. That’s an example of the same data powering two different views, two different interfaces. \n\n(You might hear developers sometimes talking about separating presentation from content, and this is what they mean -- they’re pointing out that the ‘meat’ if you will of a web page is that data, and it’s the same however it’s displayed.) \n\nso at the core an API is a simple concept -- you’re filtering out all that extra markup, the colors, the shapes, the positions of items on the page -- and returning just the pure data that’s used to generate that page. But this concept has had a really profound change on the web. APIs are driving an entirely new iteration of the internet -- because before them, websites were like little islands, their users and data all self-contained, but by providing data through APIs, and using scripts to consume and re-use that data, we are gluing the web together in a way that just didn’t exist before at all.\n
  12. who here reads tweets or posts them via twitter.com?\ntwitter is a platform. it’s core value now is in its api. the website is literally its own api client.\n\nso one reason to have an API is to let third-party companies and developers build new tools on top of your data that you didn’t have the time or ability to do yourself. You make the core data underlying your website available, and folks out there will make the apps for it that fit the needs that they have. And you can focus on just providing a good backbone of interesting data that people want to see.\n
  13. another reason companies build apis. to tap innovative third parties.\n\n4sq and 7 years ago -- tells you what you were doing roughly a year ago today. This is something that the folks at foursquare weren’t going to build, ever...it’s most likely something they never thought of building. But because they make their data available through an api, it becomes possible for other people to build innovative, unusual things like this that the folks at 4sq never would have thought of.\n
  14. another reason companies build apis. to tap innovative third parties.\n\n4sq and 7 years ago -- tells you what you were doing roughly a year ago today. This is something that the folks at foursquare weren’t going to build, ever...it’s most likely something they never thought of building. But because they make their data available through an api, it becomes possible for other people to build innovative, unusual things like this that the folks at 4sq never would have thought of.\n
  15. here’s another interesting one...an interactive infographic created by the folks at the NYTimes that shows most popular movies by zipcode around new york city. it wouldn’t have been possible to make this without using the google maps api and the netflix api. and it’s certainly not something that either of those companies would have built on their own, but because they made their data available, it could be used in a new way by the NYT\n
  16. does this seem high or low to you?\n
  17. only 105 APIs at end of 2005\ntook > 3 years to get 1000\ntook 2 more years to get next 1000\ntook 9 months to get next 1000\n\n
  18. so we already mentioned that twitter has the most-used api. there are two others that get billions of requests daily...who knows what they are?\n
  19. some companies are taking the idea of offering an API a step further. they *are* their apis....they are literally nothing more than an API platform.\n\nin fact, this is what my company is trying to do, too. we create games that go on big screens, like a digital billboard or jumbotron, or just the TV in a bar, and you can play those games by using your phone like a controller, either through calling in or using one of our apps. We build some of these games ourselves, but we present ourselves as a platform and offer an API for developers to use to create games themselves, and that’s the primary goal of the company, to be the \n
  20. some companies are taking the idea of offering an API a step further. they *are* their apis....they are literally nothing more than an API platform.\n\nin fact, this is what my company is trying to do, too. we create games that go on big screens, like a digital billboard or jumbotron, or just the TV in a bar, and you can play those games by using your phone like a controller, either through calling in or using one of our apps. We build some of these games ourselves, but we present ourselves as a platform and offer an API for developers to use to create games themselves, and that’s the primary goal of the company, to be the \n
  21. literally buying innovation at pennies on the dollar...offering minor prizes.\nNYC actually used this, too. they ran a contest they called NYC Big Apps...170 data sets..30 different agencies... $20,000. 85 new apps...they’re saving millions of dollars doing it this way. donteat.at was a winner\nMTA had ads in the subway. they think the best way to do this is let the people who are motivated and skilled build the things on their own and just let them have access to the data and get out of their way.\n
  22. literally buying innovation at pennies on the dollar...offering minor prizes.\nNYC actually used this, too. they ran a contest they called NYC Big Apps...170 data sets..30 different agencies... $20,000. 85 new apps...they’re saving millions of dollars doing it this way. donteat.at was a winner\nMTA had ads in the subway. they think the best way to do this is let the people who are motivated and skilled build the things on their own and just let them have access to the data and get out of their way.\n
  23. literally buying innovation at pennies on the dollar...offering minor prizes.\nNYC actually used this, too. they ran a contest they called NYC Big Apps...170 data sets..30 different agencies... $20,000. 85 new apps...they’re saving millions of dollars doing it this way. donteat.at was a winner\nMTA had ads in the subway. they think the best way to do this is let the people who are motivated and skilled build the things on their own and just let them have access to the data and get out of their way.\n
  24. literally buying innovation at pennies on the dollar...offering minor prizes.\nNYC actually used this, too. they ran a contest they called NYC Big Apps...170 data sets..30 different agencies... $20,000. 85 new apps...they’re saving millions of dollars doing it this way. donteat.at was a winner\nMTA had ads in the subway. they think the best way to do this is let the people who are motivated and skilled build the things on their own and just let them have access to the data and get out of their way.\n
  25. literally buying innovation at pennies on the dollar...offering minor prizes.\nNYC actually used this, too. they ran a contest they called NYC Big Apps...170 data sets..30 different agencies... $20,000. 85 new apps...they’re saving millions of dollars doing it this way. donteat.at was a winner\nMTA had ads in the subway. they think the best way to do this is let the people who are motivated and skilled build the things on their own and just let them have access to the data and get out of their way.\n
  26. having seen all these great use cases that companies have capitalized on by releasing APIs -- what are some reasons NOT to provide an api?\nnumber of reasons making an api isn’t as simple as ju\nnot all companies need APIs. sometimes it doesn’t make sense. \n\nstealing all your data. you might be a company that owns a set of data and it’s your most valuable asset and it doesn’t change much or ever and if someone else got ahold of it then they could use it in such a way that they could compete with your site. an example would be a company that sells location data, such as the white pages -- their data is valuable to them and if they just gave it away to another company, that company could set up a new website that competes directly with them.\n
  27. What sort of companies are naturally good fits to release APIs?\n\ndynamic --\n\nweave themselves into the fabric of the web --\n
  28. having an API will be seen more and more as necessity\nmarketplace expectation\n\nproprietary -- yellow pages\nprotected -- newspaper articles\n\ncompetitive market pressures forcing even these companies to offer APIs or come up with evolved business models that are more open.\n
  29. So I’ve talked a lot about the proliferation of APIs and some of the benefits that companies get from making their data available. Now I’m going to talk about the flip side of that -- why would a company, or a developer want to build upon an API?\n
  30. lazy programmer -- don’t reinvent\n\nuser bases -- import friends from facebook, capitalize on the fact that so many people aready have facebook, or use twitter, or something like that.\n
  31. if you use an API, you make the company that controls that API into your benevolent benefactor. They are your supplier of an important resource -- data. If the data you get from their company -- say for example you’re building something that displays tweets -- if you are reliant on displaying those tweets, you are now reliant on twitter’s API as your tweets supplier, and if twitter goes down, or worse, decides to cut you off, or for whatever other reason your supplier of tweets dries up, you are stuck. \n\nThis is not purely a thought experiment, either. Twitter has a bit of a history of antagonizing its developers. Last year they decided to make official mobile and desktop apps, which put them into direct competition with some of the twitter clients that had already been built on their API. And when you are a company that is competing directly with your supplier...well, you’re in trouble. In this case twitter literally controls the fate of the other apps that have been built on its platform that it considers competitive with its mobile or desktop apps. It controls the API keys that those developers use to authenticate with twitter’s api, so it can, at any moment, simply revoke their API key which would leave that app completely out in the cold.\n\nSimilarly, google recently decided to deprecate their Google Translate API, which is used to translate text between languages...as of December it will no longer exist, so any apps that are reliant on it have about 4 months to figure out another translation provider.\n
  32. if you use an API, you make the company that controls that API into your benevolent benefactor. They are your supplier of an important resource -- data. If the data you get from their company -- say for example you’re building something that displays tweets -- if you are reliant on displaying those tweets, you are now reliant on twitter’s API as your tweets supplier, and if twitter goes down, or worse, decides to cut you off, or for whatever other reason your supplier of tweets dries up, you are stuck. \n\nThis is not purely a thought experiment, either. Twitter has a bit of a history of antagonizing its developers. Last year they decided to make official mobile and desktop apps, which put them into direct competition with some of the twitter clients that had already been built on their API. And when you are a company that is competing directly with your supplier...well, you’re in trouble. In this case twitter literally controls the fate of the other apps that have been built on its platform that it considers competitive with its mobile or desktop apps. It controls the API keys that those developers use to authenticate with twitter’s api, so it can, at any moment, simply revoke their API key which would leave that app completely out in the cold.\n\nSimilarly, google recently decided to deprecate their Google Translate API, which is used to translate text between languages...as of December it will no longer exist, so any apps that are reliant on it have about 4 months to figure out another translation provider.\n
  33. \n
  34. permissions -- APIs don’t simply give *all* data away...they restrict you from seeing anything except the data you are authorized to see, the same way the websites themselves, do.\nwhen facebook shows privacy request pop-ups like this, they are asking what data they are allowed to show of yours (and only yours) to the program that is using their API\n
  35. permissions -- APIs don’t simply give *all* data away...they restrict you from seeing anything except the data you are authorized to see, the same way the websites themselves, do.\nwhen facebook shows privacy request pop-ups like this, they are asking what data they are allowed to show of yours (and only yours) to the program that is using their API\n
  36. and the way they restrict access to certain features is using this, OAuth. It’s neat.\n\nold way -- you give your username and password -- this is bad for lots of reasons\n
  37. and the way they restrict access to certain features is using this, OAuth. It’s neat.\n\nold way -- you give your username and password -- this is bad for lots of reasons\n
  38. and the way they restrict access to certain features is using this, OAuth. It’s neat.\n\nold way -- you give your username and password -- this is bad for lots of reasons\n
  39. \n
  40. \n
  41. \n