SlideShare a Scribd company logo
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 (20)

PPSX
Rest api standards and best practices
Ankita Mahajan
 
PDF
Introduction to API
rajnishjha29
 
PDF
REST API and CRUD
Prem Sanil
 
PPTX
RESTful API - Best Practices
Tricode (part of Dept)
 
PDF
Api presentation
Tiago Cardoso
 
PPTX
REST API
Tofazzal Ahmed
 
PPTX
Rest API
Rohana K Amarakoon
 
PDF
API Testing
Bikash Sharma
 
PPTX
Api testing
HamzaMajid13
 
PDF
API Security Best Practices & Guidelines
Prabath Siriwardena
 
PPT
Introduction to the Web API
Brad Genereaux
 
PPTX
REST API Design & Development
Ashok Pundit
 
PPTX
Introduction to REST - API
Chetan Gadodia
 
PPTX
Api Testing
Vishwanath KC
 
PDF
C# ASP.NET WEB API APPLICATION DEVELOPMENT
Dr. Awase Khirni Syed
 
PDF
API Testing. Streamline your testing process.
Andrey Oleynik
 
PPTX
Api Testing
Vishwanath KC
 
PPTX
What is an API?
Muhammad Zuhdi
 
PDF
Architecting an Enterprise API Management Strategy
WSO2
 
PPTX
What's an api
Jacques Ledoux
 
Rest api standards and best practices
Ankita Mahajan
 
Introduction to API
rajnishjha29
 
REST API and CRUD
Prem Sanil
 
RESTful API - Best Practices
Tricode (part of Dept)
 
Api presentation
Tiago Cardoso
 
REST API
Tofazzal Ahmed
 
API Testing
Bikash Sharma
 
Api testing
HamzaMajid13
 
API Security Best Practices & Guidelines
Prabath Siriwardena
 
Introduction to the Web API
Brad Genereaux
 
REST API Design & Development
Ashok Pundit
 
Introduction to REST - API
Chetan Gadodia
 
Api Testing
Vishwanath KC
 
C# ASP.NET WEB API APPLICATION DEVELOPMENT
Dr. Awase Khirni Syed
 
API Testing. Streamline your testing process.
Andrey Oleynik
 
Api Testing
Vishwanath KC
 
What is an API?
Muhammad Zuhdi
 
Architecting an Enterprise API Management Strategy
WSO2
 
What's an api
Jacques Ledoux
 

Similar to API 101 - Understanding APIs (20)

PPTX
API101 Workshop - APIStrat Amsterdam 2014
3scale
 
PPTX
API 101 Workshop from APIStrat Conference
Kirsten Hunter
 
PDF
API Introduction - API Management Workshop Munich from Ronnie Mitra
CA API Management
 
PDF
API Best Practices
EmmanuelParaskakis1
 
PPTX
Api design part 1
Ibrahim Elsawaf
 
PDF
Building Successful APIs Overnight - Orlando K - Codemotion Rome 2015
Codemotion
 
PPT
Programming coldfusion with APIs
Nick Tong
 
PPTX
Using & Abusing APIs: An Examination of the API Attack Surface
CA API Management
 
PPTX
Distributed systems air traffic controller
nazimsattar
 
PPT
Open APIs and the Semantic Web 2011
John Musser
 
PPTX
Trends in Web APIs Layer 7 API Management Workshop London
CA API Management
 
PPTX
Mule soft meetup_4_mty_online_oct_2020
Veyra Celina
 
PDF
JOSA TechTalks - RESTful API Concepts and Best Practices
Jordan Open Source Association
 
PPTX
Building a REST API for Longevity
MuleSoft
 
PPSX
Designing APIs with Swagger and OpenAPI
Manning Publications
 
PPTX
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
Nordic APIs
 
PDF
5 Keys to API Design - API Days Paris 2013
Daniel Feist
 
PDF
REST APIs
Arthur De Magalhaes
 
PDF
API Workshop Amsterdam presented by API Architect Ronnie Mitra
CA API Management
 
PPTX
Past, Present, Future of APIS
Jason Harmon
 
API101 Workshop - APIStrat Amsterdam 2014
3scale
 
API 101 Workshop from APIStrat Conference
Kirsten Hunter
 
API Introduction - API Management Workshop Munich from Ronnie Mitra
CA API Management
 
API Best Practices
EmmanuelParaskakis1
 
Api design part 1
Ibrahim Elsawaf
 
Building Successful APIs Overnight - Orlando K - Codemotion Rome 2015
Codemotion
 
Programming coldfusion with APIs
Nick Tong
 
Using & Abusing APIs: An Examination of the API Attack Surface
CA API Management
 
Distributed systems air traffic controller
nazimsattar
 
Open APIs and the Semantic Web 2011
John Musser
 
Trends in Web APIs Layer 7 API Management Workshop London
CA API Management
 
Mule soft meetup_4_mty_online_oct_2020
Veyra Celina
 
JOSA TechTalks - RESTful API Concepts and Best Practices
Jordan Open Source Association
 
Building a REST API for Longevity
MuleSoft
 
Designing APIs with Swagger and OpenAPI
Manning Publications
 
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
Nordic APIs
 
5 Keys to API Design - API Days Paris 2013
Daniel Feist
 
API Workshop Amsterdam presented by API Architect Ronnie Mitra
CA API Management
 
Past, Present, Future of APIS
Jason Harmon
 
Ad

More from 3scale (20)

PDF
APISTRAT KEYNOTE: Surfing the Wave between Chaos and Innovation
3scale
 
PPTX
A Connector, A Container and an API Walk into a Bar… Microservices Edition
3scale
 
PPTX
A Connector, A Container and an API Walk Into a Bar: The Programmable World
3scale
 
PPTX
How to Survive the API Copyright Apocalypse
3scale
 
PDF
Inside mind of a successful platform architect / Gartner APPS 2016
3scale
 
PPTX
The Fundamentals of Platform Strategy: Creating Genuine Value with APIs
3scale
 
PDF
Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)
3scale
 
PDF
APIs and the Bot Revolution (APIDays Nordic, May 18)
3scale
 
PPTX
Take Control of your APIs in a Microservice Architecture
3scale
 
PDF
API workshop by AWS and 3scale
3scale
 
PPTX
The Swagger Format becomes the Open API Specification: Standardizing descript...
3scale
 
PPTX
Entering the Platform Age: How to create genuine value for internal and exter...
3scale
 
PPTX
APIs and the Creation of Wealth in the Digital Economy - APIDays Paris 2015 K...
3scale
 
PPTX
API Model Canvas for successful API strategies and programs
3scale
 
PPTX
Microservices in action: How to actually build them
3scale
 
PDF
The API-Application Semantic Gap
3scale
 
PPTX
Integrating, exposing and managing distributed data with RESTful APIs and op...
3scale
 
PPTX
Building Successful API Programs in Higher Education
3scale
 
PPTX
APIs.JSON: Bootstrapping The Web of APIs
3scale
 
PPTX
API Model Canvas (APIDays Mediterranea 2015)
3scale
 
APISTRAT KEYNOTE: Surfing the Wave between Chaos and Innovation
3scale
 
A Connector, A Container and an API Walk into a Bar… Microservices Edition
3scale
 
A Connector, A Container and an API Walk Into a Bar: The Programmable World
3scale
 
How to Survive the API Copyright Apocalypse
3scale
 
Inside mind of a successful platform architect / Gartner APPS 2016
3scale
 
The Fundamentals of Platform Strategy: Creating Genuine Value with APIs
3scale
 
Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)
3scale
 
APIs and the Bot Revolution (APIDays Nordic, May 18)
3scale
 
Take Control of your APIs in a Microservice Architecture
3scale
 
API workshop by AWS and 3scale
3scale
 
The Swagger Format becomes the Open API Specification: Standardizing descript...
3scale
 
Entering the Platform Age: How to create genuine value for internal and exter...
3scale
 
APIs and the Creation of Wealth in the Digital Economy - APIDays Paris 2015 K...
3scale
 
API Model Canvas for successful API strategies and programs
3scale
 
Microservices in action: How to actually build them
3scale
 
The API-Application Semantic Gap
3scale
 
Integrating, exposing and managing distributed data with RESTful APIs and op...
3scale
 
Building Successful API Programs in Higher Education
3scale
 
APIs.JSON: Bootstrapping The Web of APIs
3scale
 
API Model Canvas (APIDays Mediterranea 2015)
3scale
 
Ad

Recently uploaded (20)

PDF
''Taming Explosive Growth: Building Resilience in a Hyper-Scaled Financial Pl...
Fwdays
 
PDF
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
PPTX
Wondershare Filmora Crack Free Download 2025
josanj305
 
PDF
Bitkom eIDAS Summit | European Business Wallet: Use Cases, Macroeconomics, an...
Carsten Stoecker
 
PDF
How to Comply With Saudi Arabia’s National Cybersecurity Regulations.pdf
Bluechip Advanced Technologies
 
PDF
Automating the Geo-Referencing of Historic Aerial Photography in Flanders
Safe Software
 
PDF
Understanding AI Optimization AIO, LLMO, and GEO
CoDigital
 
PDF
🚀 Let’s Build Our First Slack Workflow! 🔧.pdf
SanjeetMishra29
 
PDF
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
PPSX
Usergroup - OutSystems Architecture.ppsx
Kurt Vandevelde
 
PDF
99 Bottles of Trust on the Wall — Operational Principles for Trust in Cyber C...
treyka
 
PDF
Simplify Your FME Flow Setup: Fault-Tolerant Deployment Made Easy with Packer...
Safe Software
 
PDF
DoS Attack vs DDoS Attack_ The Silent Wars of the Internet.pdf
CyberPro Magazine
 
PDF
“A Re-imagination of Embedded Vision System Design,” a Presentation from Imag...
Edge AI and Vision Alliance
 
PDF
Proactive Server and System Monitoring with FME: Using HTTP and System Caller...
Safe Software
 
PDF
Why aren't you using FME Flow's CPU Time?
Safe Software
 
PDF
ArcGIS Utility Network Migration - The Hunter Water Story
Safe Software
 
PPTX
CapCut Pro PC Crack Latest Version Free Free
josanj305
 
PDF
Optimizing the trajectory of a wheel loader working in short loading cycles
Reno Filla
 
PPTX
2025 HackRedCon Cyber Career Paths.pptx Scott Stanton
Scott Stanton
 
''Taming Explosive Growth: Building Resilience in a Hyper-Scaled Financial Pl...
Fwdays
 
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
Wondershare Filmora Crack Free Download 2025
josanj305
 
Bitkom eIDAS Summit | European Business Wallet: Use Cases, Macroeconomics, an...
Carsten Stoecker
 
How to Comply With Saudi Arabia’s National Cybersecurity Regulations.pdf
Bluechip Advanced Technologies
 
Automating the Geo-Referencing of Historic Aerial Photography in Flanders
Safe Software
 
Understanding AI Optimization AIO, LLMO, and GEO
CoDigital
 
🚀 Let’s Build Our First Slack Workflow! 🔧.pdf
SanjeetMishra29
 
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
Usergroup - OutSystems Architecture.ppsx
Kurt Vandevelde
 
99 Bottles of Trust on the Wall — Operational Principles for Trust in Cyber C...
treyka
 
Simplify Your FME Flow Setup: Fault-Tolerant Deployment Made Easy with Packer...
Safe Software
 
DoS Attack vs DDoS Attack_ The Silent Wars of the Internet.pdf
CyberPro Magazine
 
“A Re-imagination of Embedded Vision System Design,” a Presentation from Imag...
Edge AI and Vision Alliance
 
Proactive Server and System Monitoring with FME: Using HTTP and System Caller...
Safe Software
 
Why aren't you using FME Flow's CPU Time?
Safe Software
 
ArcGIS Utility Network Migration - The Hunter Water Story
Safe Software
 
CapCut Pro PC Crack Latest Version Free Free
josanj305
 
Optimizing the trajectory of a wheel loader working in short loading cycles
Reno Filla
 
2025 HackRedCon Cyber Career Paths.pptx Scott Stanton
Scott Stanton
 

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

  • #19: 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.
  • #31: perceived value
  • #43: 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.