SlideShare a Scribd company logo
1 of 58
API 101
What are apis,
and how can I use them to take over the world?
talk overview
• Intros and Getting Started
• Dive into APIs
• Business Cases
• REST Deconstructed
• API and Developer Success
http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
Intros and getting started
• Who are we?
• Who are you?
• Quick API definition
• API Example
• Workshop Participation
http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
tros and Getting Started ->

Who is kirsten?
API Ninja (developer evangelist)
Princess Polymath
tros and Getting Started ->

Who is Keith?
DEVELOPER EVANGELIST
TROUBLEMAKER
tros and Getting Started ->

who are you?
Developers
Designers
Marketing
Management
http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
tros and Getting Started ->

elevator pitch

What is an API?
A predictable way to
communicate with a computer
system

http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
tros and Getting Started ->

it’s a workshop!
We’re here to learn
This is a safe space
There are no stupid questions
Someone else wants to ask too
I’ll give you a treat!
http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
tros and Getting Started ->

asking questions
Wave your hands around!
Tweet with #api101 and #apistrat
... or @synedra and @caseysoftware
Comment on the API 101 Cheatsheet on
http://www.princesspolymath.com

http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
tros and Getting Started ->

quick api example

http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
tros and Getting Started ->

twitter -> wordpress
tros and Getting Started ->

how does that work?
Wordpress Plugin
Twitter API

Uses Authentication

Wordpress

Searches API for #api101
Formats response
Fills in sidebar
http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
dive into apis
• Quick history of APIs
• What do current APIs make possible?

http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
Dive into APIs ->

Very Brief History

• Computer -> Computer
• Databases
• Backups
• Client -> Server
• Email
• Content Management Systems
• Web Client -> API Server
http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
Dive into APIs ->

what can apis do?

http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
quick break!
• Don’t forget to tweet or comment your questions or
comments!
• Let’s check what’s there now... network willing
• Audience questions?
• Aaaaannnnndddd.... over to Keith!

http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
So you want to build an
API?
D Keith Casey Jr
Developer Evangelist, Austin
TALK OVERVIEW
• Intros and Getting Started
• Dive into APIs
• Business Cases
• REST Deconstructed
• API and Developer Success

@CaseySoftware

Tweet thoughts to:#apistrat #api101
Business Cases

@CaseySoftware

Tweet thoughts to:#apistrat #api101
API FIRST!

@CaseySoftware

Tweet thoughts to:#apistrat #api101
@CaseySoftware

Tweet thoughts to:#apistrat #api101
Platform as a strategy

@CaseySoftware

Tweet thoughts to:#apistrat #api101
Something to stand
on
Instead of building everything yourself.. Blackberry/RIM

Build a platform that others can build on to create value.. Apple

@CaseySoftware

Tweet thoughts to:#apistrat #api101
stuff vs optimization
Stuff: How can we build more stuff?
Examples: manufacturing, NYT/blogging networks
Optimization: How can we better distribute the stuff?
Examples: Walmart, search engines/RSS readers
Platform: How can we redefine ‘stuff’ & find new ways to solve the problem?
Examples: Ebay/Amazon Prime, Twitter
Source: http://platformed.info/platform-thinking/

@CaseySoftware

Tweet thoughts to:#apistrat #api101
hope as marketing

@CaseySoftware

Tweet thoughts to:#apistrat #api101
marketing as
marketing
Toolbox
Easy to use & plug into the system
Magnet
Pulls customers (both producers & consumers) into the system
Matchmaker
Accelerate & facilitate connections between producers & consumers
Source: http://blogs.hbr.org/2013/01/three-elements-of-a-successful-platform/

@CaseySoftware

Tweet thoughts to:#apistrat #api101
business
reasons
reasons
@CaseySoftware

Tweet thoughts to:#apistrat #api101
MARKET
PENETRATION:
NETFLIX
@CaseySoftware

Tweet thoughts to:#apistrat #api101
DEFENSIVE
STRATEGY:
PAYPAL
@CaseySoftware

Tweet thoughts to:#apistrat #api101
DRIVE USAGE:
TWITTER/FACEBO
OK
@CaseySoftware

Tweet thoughts to:#apistrat #api101
technical
Reasons
Reasons
@CaseySoftware

Tweet thoughts to:#apistrat #api101
email: Sendgrid
Abstraction
Abstraction
@CaseySoftware

Tweet thoughts to:#apistrat #api101
storage: Dropbox
metered usage
metered usage
@CaseySoftware

Tweet thoughts to:#apistrat #api101
inboxes: Context.io
simplification
simplification
@CaseySoftware

Tweet thoughts to:#apistrat #api101
telephony: Twilio
All of the above
(abstraction, metered usage, simplification)
(abstraction, metered usage, simplification)
(abstraction, metered usage, simplification)

@CaseySoftware

Tweet thoughts to:#apistrat #api101
Architectural
considerations
@CaseySoftware

Tweet thoughts to:#apistrat #api101
Schema
“An outline or model; organized pattern of thought or behavior”

Source: http://en.wikipedia.org/wiki/Schema_(psychology)
WRT Hypermedia: http://json-schema.org

@CaseySoftware

Tweet thoughts to:#apistrat #api101
Affordances
“An affordance is a quality of an object, or an environment, which
allows a user to perform an action.”

Source: http://en.wikipedia.org/wiki/Affordance
WRT Hypermedia: http://amundsen.com/blog/archives/1109

@CaseySoftware

Tweet thoughts to:#apistrat #api101
Choose your own
Adventure

@CaseySoftware

Tweet thoughts to:#apistrat #api101
Versioning
• Two schools of thought:
• Part of the name
• Keith

vs

Keith Jr

• /v1/name-of-item

vs

/v2/name-of-item

• Part of the conversation (content negotiation)
• Lunch
@CaseySoftware

vs

dinner menu
Tweet thoughts to:#apistrat #api101
Authentication &
Access Control
Access Control
@CaseySoftware

Tweet thoughts to:#apistrat #api101
TALK OVERVIEW
• Intros and Getting Started
• Dive into APIs
• Business Cases
• REST Deconstructed
• API and Developer Success

@CaseySoftware

Tweet thoughts to:#apistrat #api101
talk overview
• Intros and Getting Started
• Dive into APIs
• Business Cases
• REST Deconstructed
• API and Developer Success
http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
REst deconstructed
• HTTP
• Structure
• Verbs
• REST
• Structure
• Verbs
• Response Formats
• JSON
• XML
http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
EST Deconstructed ->

conversations

•

Unique names for things
Iced Tea

•

Create, Read, Update and Delete (CRUD)
Order, Get order back, Change order, Cancel order

•

Substitutions and changes
Unsweetened, Extra Ice

•

Context For here or to go?

http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
EST Deconstructed ->

HTTP
•

HyperText Transfer Protocol

•

Main internet protocol

•

Browser->web server

•

Technically - chatty, inefficient... simple

http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
EST Deconstructed -> HTTP

http messages
•

Simple resource address - URL (name)

•

Request -> Response

•

Context in headers

•

Substitutions: added to name

http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
EST Deconstructed -> HTTP

HTTP verbs
•

GET

•

POST

•

PUT

•

DELETE

•

... and a few others

http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
EST Deconstructed -> HTTP

REST Structure
•

URL -> Name

•

Context in headers

•

Substitutions and changes

http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
EST Deconstructed -> HTTP

REST actions
•

GET - Read back order

•

POST - Place order

•

PUT - Change order

•

DELETE - Cancel order

•

... and a few others

http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
EST Deconstructed -> Formats

response formats
JSON
{
“My thing” : “Awesome sauce”
}

• Smaller / More efficient
• More human readable
• Simpler to use in many
programming languages
• More natural for web
developers
http://www.princesspolymath.com

XML
<stuff>
<my_thing>Awesome sauce</my_thing>
</stuff>

• More verbose
• Less human readable
• Good integration with .NET
• Supports better metainformation with attributes

Tweet thoughts to:#apistrat #api101
TALK OVERVIEW
• Intros and Getting Started
• Dive into APIs
• Business Cases
• REST Deconstructed
• API and Developer Success
http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
API AND DEVELOPER SUCCESS
• API Design
• Marketing your API
• Supporting your Developers

http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
PI and Developer Success ->

API DESIGN

• User Experience - What do you want people to do with your
API?
• System constraints - How do you want them to do it?
• Creation, Design and Documentation of APIs
Thursday, 11:20 (Apiary.io, Swagger, APISpark, Reverb!)
• Hypermedia APIs
Thursday, 1:50 (Elastic Path, NPR, Comcast, Layer7)
http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
PI and Developer Success ->

MARKETING YOUR API

• Clearly communicate API goals and usage
• Lower barrier to entry for developers
• API Marketing and Evangelism
Friday, 11:45 (SendGrid, Challengepost, WSO2,
Hackerleague)
• API Discovery
Thursday, 11:20 (Mashape, Mulesoft, Klout, Parasoft)
http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
PI and Developer Success ->

DEVELOPER SUPPORT

• Clear, consistent communication
• Fantastic documentation, tutorials, libraries
• Forums, participation
• Provide excellent exploration and development tools
• In short, respect your developers’ time and reduce confusion

http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
Questions?
• Final check for questions on twitter/comments
• Audience questions?

http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101
WIFI?
• PARC55-MEETING
• Password is on ApistratSF2013

http://www.princesspolymath.com

Tweet thoughts to:#apistrat #api101

More Related Content

What's hot

Mobile APIs: Optimizing APIs for Many Devices
Mobile APIs: Optimizing APIs for Many DevicesMobile APIs: Optimizing APIs for Many Devices
Mobile APIs: Optimizing APIs for Many Devices
Apigee | Google Cloud
 
Making Sense of Hypermedia APIs – Hype or Reality?
Making Sense of Hypermedia APIs – Hype or Reality?Making Sense of Hypermedia APIs – Hype or Reality?
Making Sense of Hypermedia APIs – Hype or Reality?
Akana
 

What's hot (11)

apidays LIVE Paris - The Augmented API Design Reviewer by Arnaud Lauret
apidays LIVE Paris - The Augmented API Design Reviewer by Arnaud Lauretapidays LIVE Paris - The Augmented API Design Reviewer by Arnaud Lauret
apidays LIVE Paris - The Augmented API Design Reviewer by Arnaud Lauret
 
A Tasty deep-dive into Open API Specification Links
A Tasty deep-dive into Open API Specification LinksA Tasty deep-dive into Open API Specification Links
A Tasty deep-dive into Open API Specification Links
 
Mobile APIs: Optimizing APIs for Many Devices
Mobile APIs: Optimizing APIs for Many DevicesMobile APIs: Optimizing APIs for Many Devices
Mobile APIs: Optimizing APIs for Many Devices
 
API Technical Writing
API Technical WritingAPI Technical Writing
API Technical Writing
 
Exposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using SwaggerExposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using Swagger
 
Making Sense of Hypermedia APIs – Hype or Reality?
Making Sense of Hypermedia APIs – Hype or Reality?Making Sense of Hypermedia APIs – Hype or Reality?
Making Sense of Hypermedia APIs – Hype or Reality?
 
Golden Rules of API Design
Golden Rules of API DesignGolden Rules of API Design
Golden Rules of API Design
 
API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?
 
Api Design
Api DesignApi Design
Api Design
 
Sliding away from Roy Fielding's REST model (Filippos Vasilakis)
Sliding away from Roy Fielding's REST model (Filippos Vasilakis)Sliding away from Roy Fielding's REST model (Filippos Vasilakis)
Sliding away from Roy Fielding's REST model (Filippos Vasilakis)
 
Open APIs: What's Hot, What's Not?
Open APIs: What's Hot, What's Not?Open APIs: What's Hot, What's Not?
Open APIs: What's Hot, What's Not?
 

Similar to API 101 - Understanding APIs.

STC Summit 2015: API Documentation, an Example-Based Approach
STC Summit 2015: API Documentation, an Example-Based ApproachSTC Summit 2015: API Documentation, an Example-Based Approach
STC Summit 2015: API Documentation, an Example-Based Approach
Lois Patterson
 

Similar to API 101 - Understanding APIs. (20)

API 101 Workshop from APIStrat Conference
API 101 Workshop from APIStrat ConferenceAPI 101 Workshop from APIStrat Conference
API 101 Workshop from APIStrat Conference
 
API101 Workshop - APIStrat Amsterdam 2014
API101 Workshop - APIStrat Amsterdam 2014API101 Workshop - APIStrat Amsterdam 2014
API101 Workshop - APIStrat Amsterdam 2014
 
STC Summit 2015: API Documentation, an Example-Based Approach
STC Summit 2015: API Documentation, an Example-Based ApproachSTC Summit 2015: API Documentation, an Example-Based Approach
STC Summit 2015: API Documentation, an Example-Based Approach
 
Premature optimisation: The Root of All Evil
Premature optimisation: The Root of All EvilPremature optimisation: The Root of All Evil
Premature optimisation: The Root of All Evil
 
DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvol...
DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvol...DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvol...
DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvol...
 
Create Salesforce online IDE in 30 minutes
Create Salesforce online IDE in 30 minutesCreate Salesforce online IDE in 30 minutes
Create Salesforce online IDE in 30 minutes
 
Conexão Kinghost - Otimização Prematura
Conexão Kinghost - Otimização PrematuraConexão Kinghost - Otimização Prematura
Conexão Kinghost - Otimização Prematura
 
Design for scale
Design for scaleDesign for scale
Design for scale
 
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
 
Infrastructure Automation How to Use Chef For DevOps Success
Infrastructure Automation How to Use Chef For DevOps SuccessInfrastructure Automation How to Use Chef For DevOps Success
Infrastructure Automation How to Use Chef For DevOps Success
 
Building a REST API for Longevity
Building a REST API for LongevityBuilding a REST API for Longevity
Building a REST API for Longevity
 
Scaling Machine Learning Systems up to Billions of Predictions per Day
Scaling Machine Learning Systems up to Billions of Predictions per DayScaling Machine Learning Systems up to Billions of Predictions per Day
Scaling Machine Learning Systems up to Billions of Predictions per Day
 
Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011
 
Netflix OSS and HATEOAS deployed on production - JavaLand
Netflix OSS and HATEOAS deployed on production - JavaLandNetflix OSS and HATEOAS deployed on production - JavaLand
Netflix OSS and HATEOAS deployed on production - JavaLand
 
Lessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptx
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swagger
 
TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal
TDC2016SP - Otimização Prematura: a Raíz de Todo o MalTDC2016SP - Otimização Prematura: a Raíz de Todo o Mal
TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal
 
Introduzione alla SEO Automation con Python
Introduzione alla SEO Automation con PythonIntroduzione alla SEO Automation con Python
Introduzione alla SEO Automation con Python
 
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
 
How to Design and Build a Great Web API
How to Design and Build a Great Web APIHow to Design and Build a Great Web API
How to Design and Build a Great Web API
 

More from Kirsten Hunter

Demystifying REST - SFRails meetup
Demystifying REST - SFRails meetupDemystifying REST - SFRails meetup
Demystifying REST - SFRails meetup
Kirsten Hunter
 
Designing for developers
Designing for developersDesigning for developers
Designing for developers
Kirsten Hunter
 

More from Kirsten Hunter (20)

Polyglot copy
Polyglot copyPolyglot copy
Polyglot copy
 
Quantifying your-fitness
Quantifying your-fitnessQuantifying your-fitness
Quantifying your-fitness
 
Api intensive - What they Are
Api intensive - What they AreApi intensive - What they Are
Api intensive - What they Are
 
Designing irresistible apis
Designing irresistible apisDesigning irresistible apis
Designing irresistible apis
 
Api 101
Api 101Api 101
Api 101
 
Designing irresistible apis
Designing irresistible apisDesigning irresistible apis
Designing irresistible apis
 
Api 101
Api 101Api 101
Api 101
 
Designing irresistible APIs
Designing irresistible APIsDesigning irresistible APIs
Designing irresistible APIs
 
API First
API FirstAPI First
API First
 
Liberating your data
Liberating your dataLiberating your data
Liberating your data
 
Liberating your data
Liberating your dataLiberating your data
Liberating your data
 
Demystifying REST - SFRails meetup
Demystifying REST - SFRails meetupDemystifying REST - SFRails meetup
Demystifying REST - SFRails meetup
 
Quantifying fitness
Quantifying fitnessQuantifying fitness
Quantifying fitness
 
Prototyping in the cloud
Prototyping in the cloudPrototyping in the cloud
Prototyping in the cloud
 
Designing for developers
Designing for developersDesigning for developers
Designing for developers
 
Facebook appsincloud
Facebook appsincloudFacebook appsincloud
Facebook appsincloud
 
Rest schema design
Rest schema designRest schema design
Rest schema design
 
Successful developers
Successful developersSuccessful developers
Successful developers
 
Demystifying REST
Demystifying RESTDemystifying REST
Demystifying REST
 
PHP Architect Virtual Cloud summit
PHP Architect Virtual Cloud summitPHP Architect Virtual Cloud summit
PHP Architect Virtual Cloud summit
 

Recently uploaded

Recently uploaded (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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)
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
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
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 

API 101 - Understanding APIs.

  • 1. API 101 What are apis, and how can I use them to take over the world?
  • 2. talk overview • Intros and Getting Started • Dive into APIs • Business Cases • REST Deconstructed • API and Developer Success http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 3. Intros and getting started • Who are we? • Who are you? • Quick API definition • API Example • Workshop Participation http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 4. tros and Getting Started -> Who is kirsten? API Ninja (developer evangelist) Princess Polymath
  • 5. tros and Getting Started -> Who is Keith? DEVELOPER EVANGELIST TROUBLEMAKER
  • 6. tros and Getting Started -> who are you? Developers Designers Marketing Management http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 7. tros and Getting Started -> elevator pitch What is an API? A predictable way to communicate with a computer system http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 8. tros and Getting Started -> it’s a workshop! We’re here to learn This is a safe space There are no stupid questions Someone else wants to ask too I’ll give you a treat! http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 9. tros and Getting Started -> asking questions Wave your hands around! Tweet with #api101 and #apistrat ... or @synedra and @caseysoftware Comment on the API 101 Cheatsheet on http://www.princesspolymath.com http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 10. tros and Getting Started -> quick api example http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 11. tros and Getting Started -> twitter -> wordpress
  • 12. tros and Getting Started -> how does that work? Wordpress Plugin Twitter API Uses Authentication Wordpress Searches API for #api101 Formats response Fills in sidebar http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 13. dive into apis • Quick history of APIs • What do current APIs make possible? http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 14. Dive into APIs -> Very Brief History • Computer -> Computer • Databases • Backups • Client -> Server • Email • Content Management Systems • Web Client -> API Server http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 15. Dive into APIs -> what can apis do? http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 16. quick break! • Don’t forget to tweet or comment your questions or comments! • Let’s check what’s there now... network willing • Audience questions? • Aaaaannnnndddd.... over to Keith! http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 17. So you want to build an API? D Keith Casey Jr Developer Evangelist, Austin
  • 18. TALK OVERVIEW • Intros and Getting Started • Dive into APIs • Business Cases • REST Deconstructed • API and Developer Success @CaseySoftware Tweet thoughts to:#apistrat #api101
  • 22. Platform as a strategy @CaseySoftware Tweet thoughts to:#apistrat #api101
  • 23. Something to stand on Instead of building everything yourself.. Blackberry/RIM Build a platform that others can build on to create value.. Apple @CaseySoftware Tweet thoughts to:#apistrat #api101
  • 24. stuff vs optimization Stuff: How can we build more stuff? Examples: manufacturing, NYT/blogging networks Optimization: How can we better distribute the stuff? Examples: Walmart, search engines/RSS readers Platform: How can we redefine ‘stuff’ & find new ways to solve the problem? Examples: Ebay/Amazon Prime, Twitter Source: http://platformed.info/platform-thinking/ @CaseySoftware Tweet thoughts to:#apistrat #api101
  • 25. hope as marketing @CaseySoftware Tweet thoughts to:#apistrat #api101
  • 26. marketing as marketing Toolbox Easy to use & plug into the system Magnet Pulls customers (both producers & consumers) into the system Matchmaker Accelerate & facilitate connections between producers & consumers Source: http://blogs.hbr.org/2013/01/three-elements-of-a-successful-platform/ @CaseySoftware Tweet thoughts to:#apistrat #api101
  • 33. storage: Dropbox metered usage metered usage @CaseySoftware Tweet thoughts to:#apistrat #api101
  • 35. telephony: Twilio All of the above (abstraction, metered usage, simplification) (abstraction, metered usage, simplification) (abstraction, metered usage, simplification) @CaseySoftware Tweet thoughts to:#apistrat #api101
  • 37. Schema “An outline or model; organized pattern of thought or behavior” Source: http://en.wikipedia.org/wiki/Schema_(psychology) WRT Hypermedia: http://json-schema.org @CaseySoftware Tweet thoughts to:#apistrat #api101
  • 38. Affordances “An affordance is a quality of an object, or an environment, which allows a user to perform an action.” Source: http://en.wikipedia.org/wiki/Affordance WRT Hypermedia: http://amundsen.com/blog/archives/1109 @CaseySoftware Tweet thoughts to:#apistrat #api101
  • 39. Choose your own Adventure @CaseySoftware Tweet thoughts to:#apistrat #api101
  • 40. Versioning • Two schools of thought: • Part of the name • Keith vs Keith Jr • /v1/name-of-item vs /v2/name-of-item • Part of the conversation (content negotiation) • Lunch @CaseySoftware vs dinner menu Tweet thoughts to:#apistrat #api101
  • 41. Authentication & Access Control Access Control @CaseySoftware Tweet thoughts to:#apistrat #api101
  • 42. TALK OVERVIEW • Intros and Getting Started • Dive into APIs • Business Cases • REST Deconstructed • API and Developer Success @CaseySoftware Tweet thoughts to:#apistrat #api101
  • 43. talk overview • Intros and Getting Started • Dive into APIs • Business Cases • REST Deconstructed • API and Developer Success http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 44. REst deconstructed • HTTP • Structure • Verbs • REST • Structure • Verbs • Response Formats • JSON • XML http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 45. EST Deconstructed -> conversations • Unique names for things Iced Tea • Create, Read, Update and Delete (CRUD) Order, Get order back, Change order, Cancel order • Substitutions and changes Unsweetened, Extra Ice • Context For here or to go? http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 46. EST Deconstructed -> HTTP • HyperText Transfer Protocol • Main internet protocol • Browser->web server • Technically - chatty, inefficient... simple http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 47. EST Deconstructed -> HTTP http messages • Simple resource address - URL (name) • Request -> Response • Context in headers • Substitutions: added to name http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 48. EST Deconstructed -> HTTP HTTP verbs • GET • POST • PUT • DELETE • ... and a few others http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 49. EST Deconstructed -> HTTP REST Structure • URL -> Name • Context in headers • Substitutions and changes http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 50. EST Deconstructed -> HTTP REST actions • GET - Read back order • POST - Place order • PUT - Change order • DELETE - Cancel order • ... and a few others http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 51. EST Deconstructed -> Formats response formats JSON { “My thing” : “Awesome sauce” } • Smaller / More efficient • More human readable • Simpler to use in many programming languages • More natural for web developers http://www.princesspolymath.com XML <stuff> <my_thing>Awesome sauce</my_thing> </stuff> • More verbose • Less human readable • Good integration with .NET • Supports better metainformation with attributes Tweet thoughts to:#apistrat #api101
  • 52. TALK OVERVIEW • Intros and Getting Started • Dive into APIs • Business Cases • REST Deconstructed • API and Developer Success http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 53. API AND DEVELOPER SUCCESS • API Design • Marketing your API • Supporting your Developers http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 54. PI and Developer Success -> API DESIGN • User Experience - What do you want people to do with your API? • System constraints - How do you want them to do it? • Creation, Design and Documentation of APIs Thursday, 11:20 (Apiary.io, Swagger, APISpark, Reverb!) • Hypermedia APIs Thursday, 1:50 (Elastic Path, NPR, Comcast, Layer7) http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 55. PI and Developer Success -> MARKETING YOUR API • Clearly communicate API goals and usage • Lower barrier to entry for developers • API Marketing and Evangelism Friday, 11:45 (SendGrid, Challengepost, WSO2, Hackerleague) • API Discovery Thursday, 11:20 (Mashape, Mulesoft, Klout, Parasoft) http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 56. PI and Developer Success -> DEVELOPER SUPPORT • Clear, consistent communication • Fantastic documentation, tutorials, libraries • Forums, participation • Provide excellent exploration and development tools • In short, respect your developers’ time and reduce confusion http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 57. Questions? • Final check for questions on twitter/comments • Audience questions? http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101
  • 58. WIFI? • PARC55-MEETING • Password is on ApistratSF2013 http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101

Editor's Notes

  1. There are three things you should probably know about me.. first, I work for a company called Twilio where our mission is to change the way businesses communicate. [twilio spiel] Grab me after if you’d like to learn more.
  2. perceived value
  3. There are three things you should probably know about me.. first, I work for a company called Twilio where our mission is to change the way businesses communicate. [twilio spiel] Grab me after if you’d like to learn more.