Kin Lane

API Evangelist


API’s + Government Data = Better Information and Services for the American People


October 2012

  • Some Quick Background On Myself...
  • 23 Years Database Engineer
  • 15 Years Web Applications
  • 6 Years Cloud Computing
  • 2 Years Studying APIs

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

Three Essential Ingredients

  • Social
  • Cloud
  • Mobile

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)
  • Plural 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://api.agency.gov/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

APIs Are a Contract

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 - JavaScript APIs

  • Syndication
  • Proxy
  • Security
  • Hackable

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

Tools for Management & Support

  • IO Docs
  • Graphite
  • Stats D
  • Google API Explorer

API Development

Tools for Building Apps on APIs

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 Evangelism


It Seems Like a Lot, But These Providers Do It Well:

  • 3Scale
  • Mashape
  • Socrata
  • Tech + Business

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 Evangelism

API Evangelism

Landscape Analysis

  • Competition
  • Industry
  • Keywords
  • Blogs
  • Social

API Evangelism

Blogging

  • Projects
  • Hacking
  • Storytelling
  • Syndication

API Evangelism

Developer Engagement

  • New User
  • Active User
  • Historical
  • Social Engagement

API Evangelism

Forum Management

  • Maintain
  • Stories

API Evangelism

GitHub Management

  • Code
  • Relationship
  • Projects

API Evangelism

QA Management

  • Profile Maintenance
  • Stack Exchange
  • Quora
  • QA Seeding

API Evangelism

Social Management

  • Twitter
  • LinkedIn
  • Facebook
  • Google+

API Evangelism

Social Bookmarking

  • Hacker News
  • StumbleUpon
  • Reddit

API Evangelism

Roadmap

  • Communicate
  • Change Log
  • Roadmap
  • Status Dashboard

API Evangelism

Reporting

  • Activity By User Group
  • New Registrations / Per API
  • Volume of Calls / Per API
  • Other Innovative Metrics?

API Evangelism

Internal

  • Reporting
  • Storytelling
  • Showcase

API Evangelism

Events

  • Conferences
  • Workshops
  • Hackathons

API Evangelism

Events - Hackathons

  • Startup Weekend Model
  • Prizes and Incentives
  • Size and Scope
  • Niche and Verticals
  • SaaS and Process
  • Data and Visualizations

API Evangelism

Events

  • Conferences
  • Workshops
  • Hackathons
  • Meetups

API Evangelism

Iterate

  • Rapid Cycles
  • Keep Active
  • Innovate
  • Try New Things
  • Don't Be Afraid to Fail
  • Measure
  • Feedback Loop

API Evangelism


You Probably Don't Have Resources To Do Everything


But, Is It Something Your Whole Team Can Help Own?


And, Consider Alpha Developers / Evangelist Within Community!

APIs Are

Research & Development

  • Ideas
  • Experimentation
  • External
  • Comfort Zone
  • Efficiency
  • Proof of Concept

APIs Are

Business Development

  • New Opportunities
  • Internal Evaluation
  • Say NO
  • Classic Biz Dev
  • Set Ideas Free
  • Bring in Partners
  • Biz Dev 2.0 Cycle

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)