from Web


to a Programmable Web


to a Programmable World


DFW API Professionals Meetup, May 2013

Kin Lane

API Evangelist

  • 23 Years Database Engineer
  • Evangelize APIs to Masses
  • Democratizing Power of APIs
  • Independent Voice

History of APIs

History of APIs

Commerce

  • Salesforce
  • eBay
  • Amazon
  • Paypal

History of APIs

Social

  • Flickr (Photos)
  • Delicious (Bookmarks)
  • Twitter (Messaging)
  • Facebook (Friends)

History of APIs

Cloud / Infrastructure / Scalability

  • 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

Data

  • Guardian (Journalism)
  • Data.Gov (Government)
  • World Bank (World)

Success of APIs

Why Is It Working?

  • Simplicity
  • Self-Service
  • Developer Centric
  • Hackable
  • Distributed
  • Built on HTTP

Tech of APIs

Business of APIs

Politics of APIs

API Management

What It Was...

API Frameworks

API Management

API Service Providers


API Design

Thoughtful API Design...

API Design

Goals

  • Objectives
  • Vision
  • Value
  • Objections
  • Strategy

API Design

Audience

  • Internal
  • Partners
  • Public
  • Technical Users
  • Enterprise Developers
  • Open Developers
  • End-Users of Apps

API Design

REST Patterns

  • URL (Locator) vs. URI (Identifier)
  • Plural Resources (/books/)
  • Verbs (GET,POST,PUT,DELETE)
  • Parameters (q=)
  • HTTP Headers

API Design

Hypermedia as the Engine of Application State (HATEOAS)

  • No Prior Knowledge of Resource
  • Never Hardcode URI
  • Business Flow
  • Business Logic
  • Business Rules

API Design

Pragmatic vs. Restful

  • Design for Audience
  • Hackable
  • Simplicity
  • Low Barrier to Entry

API 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 Design

Build Definitions


API Design

API Deployment


API Deployment

More frameworks to assist in API deployment

API Deployment

Next Generation of API Service Providers

API Deployment

Services for Deploying APIs - PaaS

API Deployment

Services for Deploying APIs - BaaS

API Deployment

APIs Are a Contract

  • Self-Service
  • Reliable
  • Stable
  • Life Cycle
  • Backwards Compatible
  • Deprecation

API Deployment

APIs Are a Contract

API Deployment

Infrastructure

  • Caching
  • Traffic Control
  • Scalability
  • Cloud v Internal

API Deployment

Security

  • User Management
  • Keys
  • Basic Auth
  • oAuth
  • SSL

API Management

API Management

Business of APIs - Onboarding

  • Getting Started Guide
  • Self-Service Registration
  • API Best Practices
  • Frequently Asked Questions (FAQ)

API Management

Business of APIs - Documentation

  • List of Endpoints
  • Documentation
  • API Explorer

API Management

Business of APIs - Documentation - Explorer

API Management

Business of APIs - Documentation

  • List of Endpoints
  • Documentation
  • API Explorer
  • Interactive Documentation

API Management

Business of APIs - Documentation - Interactive Docs

API Management

Business of APIs - Documentation

  • List of Endpoints
  • Documentation
  • API Explorer
  • Interactive Documentation
  • Error Response Codes

API Management

Business of APIs - Code

  • Code Libraries
  • Software Development Kits (SDK)
  • Platform Development Kits (PDK)
  • Starter Projects
  • Application Gallery

API Management

Business of APIs - Mobile

  • iOS
  • Android
  • Windows
  • HTML5

API Management

Business of APIs - Embeddable

  • Buttons
  • Badges
  • Widgets

API Management

Business of APIs - JavaScript APIs

  • Syndication
  • Proxy
  • Security
  • Hackable

API Management

Business of APIs - Self-Service Support

  • Forum
  • Stack Overflow

API Management

Business of APIs - Self-Service Support

API Management

Business of APIs - Direct Support

  • Email
  • Phone
  • Ticket System
  • Office Hours

API Management

Business of APIs - Communications

  • Blog
  • E-Newsletter
  • Facebook
  • Google+
  • LinkedIn
  • Twitter

API Management

Business of APIs - Updates

  • Change Log
  • Roadmap
  • Status Dashboard

API Management

Business of APIs - Resources

  • Case Studies
  • How-To Guides
  • Webinars
  • White Papers

API Management

Business of APIs - Environment

  • Sandbox
  • Production

API Management

Business of APIs - Developer Account

  • Account Settings
  • Application Manager
  • Billing History
  • Developer Dashboard
  • Reset Password
  • Usage Logs & Analytics

API Monetization

API Monetization

Plenty of Ways to Make Money

Photo Credit: John Musser (@johnmusser)

API Monetization


API Monetization

Developer Pays

  • Tiered
  • Pay as You Go
  • Unit Based
  • Freemium

API Monetization

Developer Gets Paid

  • Ad Rev Share
  • Affiliate
    • CPA
    • CPC
    • Referral
    • On-Time
    • Recurring
  • Credits

API Monetization

Indirect

  • Marketing Vehicle
  • Brand Awareness
  • Content Acquisition
  • SaaS
    • Included
    • Upsell
  • Traffic Generation

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!

API Community

API Consumption

API Consumption

What It Was...

API Consumption

As It Evolved...

API Consumption

What It Has Become About...

API Consumption

Discovery

API Consumption

Education

API Consumption

Education

API Consumption

Integration

API Consumption

Integration - Application Frameworks


API Consumption

Integration

API Consumption

Operations

API Consumption

Operations


API Consumption

Monetization

API Community

API Trends

API Trends - BaaS



API Trends - Aggregation



API Trends - Interoperability



API Trends - Automation



API Trends - Real-Time



API Trends - Scripting



API Trends - Voice


Programmable Web

Mobile


iPad


Quantified Self


Automobile



Buildings & Homes

Sensors


Programmable World


The End


By Kin Lane (@kinlane)