Kin Lane
API Evangelist
API 101
API Strategy & Practice - February, 2013
History of APIs
History of APIs
Commerce
Salesforce
eBay
Amazon
Paypal
History of APIs
Social
Flickr
Delicious
Twitter
Facebook
History of APIs
Cloud / Infrastructure
Amazon S3 (Storage)
Amazon EC2 (Compute)
Amazon SimpleDB (Data)
Amazon RDS (Database)
History of APIs
Mobile
Instagram (Photos)
Foursquare (Local)
Pandora (Music)
History of APIs
Why Did It Work?
Built on HTTP
Simplicity
Hackable
Self-Service
Developer Focused
Distributed
Freemium
Pay As You Go
History of APIs
Solid Examples Transforming Legacy Models
API Planning & Design
API Planning & Design
Take Inventory
Data
Content
Resources
Most Requested
Most Valued
API Planning & Design
Goals
Objectives
Vision
Value
Objections
Strategy
API Planning & Design
Audience
Internal
Partners
Public
Technical Users
Enterprise Developers
Open Developers
End-Users of Apps
API Planning & Design
REST Patterns
URL (Locator) vs. URI (Identifier)
Sensible Resources (/books/)
Verbs (GET,POST,PUT,DELETE)
Parameters (q=)
HTTP Headers
API Planning & Design
Hypermedia as the Engine of Application State (HATEOAS)
No Prior Knowledge of Resource
Never Hardcode URI
Business Flow
Business Logic
Business Rules
API Planning & Design
Pragmatic vs. Restful
Design for Audience
Hackable
Simplicity
Low Barrier to Entry
API Planning & Design
Focus On
Meaningful URIs (http://example.com/resources/)
Intuitive Parameters(&sort=)
Use Your Verbs (GET,POST,PUT,DELETE)
Data Formats (XML / JSON)
HTTP Codes
Error Codes
Versioning
API Planning & Design
APIs Are a Contract
Self-Service
Reliable
Stable
Life Cycle
Backwards Compatible
Deprecation
API Planning & Design
Infrastructure
Caching
Traffic Control
Scalability
Cloud v Internal
API Planning & Design
Security
User Management
Keys
Basic Auth
oAuth
SSL
API Development
API Development
Technology of APIs
Pragmatic REST
JSON / XML
Webhooks
oEmbed
API Development
Business of APIs - Onboarding
Getting Started Guide
Self-Service Registration
API Best Practices
Frequently Asked Questions (FAQ)
API Development
Business of APIs - Documentation
List of Endpoints
Documentation
API Explorer
API Development
Business of APIs - Documentation - Explorer
API Development
Business of APIs - Documentation
List of Endpoints
Documentation
API Explorer
Interactive Documentation
API Development
Business of APIs - Documentation - Interactive Docs
API Development
Business of APIs - Documentation
List of Endpoints
Documentation
API Explorer
Interactive Documentation
Error Response Codes
API Development
Business of APIs - Code
Code Libraries
Software Development Kits (SDK)
Platform Development Kits (PDK)
Starter Projects
Application Gallery
API Development
Business of APIs - Mobile
iOS
Android
Windows
HTML5
Tiggzi
API Development
Business of APIs - Mobile
API Development
Business of APIs - Embeddable
Buttons
Badges
Widgets
API Development
Business of APIs - Self-Service Support
Forum
Stack Overflow
API Development
Business of APIs - Self-Service Support
API Development
Business of APIs - Direct Support
Email
Phone
Ticket System
Office Hours
API Development
Business of APIs - Communications
Blog
E-Newsletter
Facebook
Google+
LinkedIn
Twitter
API Development
Business of APIs - Updates
Change Log
Roadmap
Status Dashboard
API Development
Business of APIs - Resources
Case Studies
How-To Guides
Webinars
White Papers
API Development
Business of APIs - Environment
Sandbox
Production
API Development
Business of APIs - Developer Account
Account Settings
Application Manager
Billing History
Developer Dashboard
Reset Password
Usage Logs & Analytics
API Development
Business of APIs - Discovery
WADL
Swagger
IO Docs
Google
API Development
You Probably Don't Have Resources To Do All of That
But Consider Which Will Best Serve Your Audience!
API Development
API Service Providers
API Development
API Service Providers - SOA
API Development
API Service Providers - Web APIs
API Development
API Service Providers - New Generation
API Development
API Service Providers
Proxy vs. Connector
API Development
API Service Providers - Open Source
API Development
Tools for Deploying APIs - Frameworks
API Development
Tools for Deploying APIs - Swagger
API Development
Services for Deploying APIs - PaaS
API Development
Services for Deploying APIs - BaaS
API Development
Platforms for Management & Support APIs
API Development
Tools for Managing APIs - Github
Design and Code
Documentation
Software development kits (SDK)
Code Samples (Gists)
Developer Authentication
Developer Profiling
Presentations and Guides
Issue Management
Roadmaps
Hackathons
Developer Authentication
TOS, Privacy, and Branding
API Development
Politics of APIs
Education
Investment
Budgets
Data Ownership
Data Retention
Terms of Use
Privacy
Branding
API Development
Politics of APIs
We Are Still Studying...
And Understanding the Politics of APIs!
API Operations
Iterate
Rapid Cycles
Keep Active
Innovate
Try New Things
Don't Be Afraid to Fail
Measure
Feedback Loop
API Operations
Eat Your Own Dog Food
Website
Prototypes
Web & Mobile
Starter Kits
White Label
API Operations
Consume Other APIs
Mashup
Partner
Experience
Beyond Your Silo
Experience the Pain
Whats Next for APIs?
Technology
Subscribe (pubsubhubbub)
Real-Time (webhooks / push)
Websockets
Hundreds of Devices
Sensors
Quantified Self
Voice
Whats Next for APIs?
Approaches
Whats Next for APIs?
We'll Move Beyond Single Use API Calls for Communicating
And Learn to Fluently Communicate With Many APIs
APIs
Leave You With a Few Thoughts...
APIs Are More Than Tech
APIs Require a Business Approach
Politics Can Be Biggest Killer of APIs
Focus Delivering Value.
The End
By Kin Lane (@kinlane)