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)