Transcript
Page 1: First-Class APIs, PHPTek 11, Chicago

First-Class APIs

Helgi Þormar ÞorbjörnssonPHP Tek, Chicago, 25th May 2011

Thursday, 26 May 2011

Page 2: First-Class APIs, PHPTek 11, Chicago

Hi there, I’m Helgi

Thursday, 26 May 2011

Page 3: First-Class APIs, PHPTek 11, Chicago

VP of Engineering at Orchestra.io

Thursday, 26 May 2011

Page 4: First-Class APIs, PHPTek 11, Chicago

VP of Engineering at Orchestra.io

Developer at PEAR

Thursday, 26 May 2011

Page 5: First-Class APIs, PHPTek 11, Chicago

VP of Engineering at Orchestra.io

Developer at PEAR

From Iceland

Thursday, 26 May 2011

Page 6: First-Class APIs, PHPTek 11, Chicago

VP of Engineering at Orchestra.io

Developer at PEAR

From Iceland

@h on Twitter

Thursday, 26 May 2011

Page 7: First-Class APIs, PHPTek 11, Chicago

1995 2000 2005 2010

John MusserFounder, Programmable Web

Thursday, 26 May 2011

Page 8: First-Class APIs, PHPTek 11, Chicago

Why do we need a website?

1995 2000 2005 2010

John MusserFounder, Programmable Web

Thursday, 26 May 2011

Page 9: First-Class APIs, PHPTek 11, Chicago

Why do we need a website?

Of course we have a website

1995 2000 2005 2010

John MusserFounder, Programmable Web

Thursday, 26 May 2011

Page 10: First-Class APIs, PHPTek 11, Chicago

Why do we need a website?

Of course we have a website

Why do we need an API?

1995 2000 2005 2010

John MusserFounder, Programmable Web

Thursday, 26 May 2011

Page 11: First-Class APIs, PHPTek 11, Chicago

Why do we need a website?

Of course we have a website

Why do we need an API?

Of course we have an API

1995 2000 2005 2010

John MusserFounder, Programmable Web

Thursday, 26 May 2011

Page 12: First-Class APIs, PHPTek 11, Chicago

Data is the new business model

Thursday, 26 May 2011

Page 13: First-Class APIs, PHPTek 11, Chicago

APIs are the business glue

Thursday, 26 May 2011

Page 14: First-Class APIs, PHPTek 11, Chicago

Business without an API?

Thursday, 26 May 2011

Page 15: First-Class APIs, PHPTek 11, Chicago

Developers hunger to use your data

Thursday, 26 May 2011

Page 16: First-Class APIs, PHPTek 11, Chicago

Do not keep it all to your self

Thursday, 26 May 2011

Page 17: First-Class APIs, PHPTek 11, Chicago

The data wasn’t yours to begin with!

Thursday, 26 May 2011

Page 18: First-Class APIs, PHPTek 11, Chicago

Thursday, 26 May 2011

Page 19: First-Class APIs, PHPTek 11, Chicago

Mine?Mine?Mine?Mine?

Mine? Mine?

Mine?

Mine?

Mine?

Thursday, 26 May 2011

Page 20: First-Class APIs, PHPTek 11, Chicago

Not everyone believes this

Thursday, 26 May 2011

Page 21: First-Class APIs, PHPTek 11, Chicago

They do like their ivory towers

Thursday, 26 May 2011

Page 22: First-Class APIs, PHPTek 11, Chicago

For years APIs have been treated as...

Thursday, 26 May 2011

Page 23: First-Class APIs, PHPTek 11, Chicago

Second-Class Citizen

Thursday, 26 May 2011

Page 24: First-Class APIs, PHPTek 11, Chicago

Why?

Thursday, 26 May 2011

Page 25: First-Class APIs, PHPTek 11, Chicago

It’s a conceptional problem

Thursday, 26 May 2011

Page 26: First-Class APIs, PHPTek 11, Chicago

Companies believe they will lose business if they share

Thursday, 26 May 2011

Page 27: First-Class APIs, PHPTek 11, Chicago

Websites are considered the business

Thursday, 26 May 2011

Page 28: First-Class APIs, PHPTek 11, Chicago

Not the API

Thursday, 26 May 2011

Page 29: First-Class APIs, PHPTek 11, Chicago

APIs are for the cool kids

Thursday, 26 May 2011

Page 30: First-Class APIs, PHPTek 11, Chicago

Or...

Thursday, 26 May 2011

Page 31: First-Class APIs, PHPTek 11, Chicago

Not enough money

Thursday, 26 May 2011

Page 32: First-Class APIs, PHPTek 11, Chicago

Not enough time

Thursday, 26 May 2011

Page 33: First-Class APIs, PHPTek 11, Chicago

Not enough resources

Thursday, 26 May 2011

Page 34: First-Class APIs, PHPTek 11, Chicago

Not enough foresight

Thursday, 26 May 2011

Page 35: First-Class APIs, PHPTek 11, Chicago

Finally the time/money comes

Thursday, 26 May 2011

Page 36: First-Class APIs, PHPTek 11, Chicago

Shoehorned onto the website

Thursday, 26 May 2011

Page 37: First-Class APIs, PHPTek 11, Chicago

Hot tub awkwardly attached to a house

Thursday, 26 May 2011

Page 38: First-Class APIs, PHPTek 11, Chicago

Thursday, 26 May 2011

Page 39: First-Class APIs, PHPTek 11, Chicago

Sparse Documentation

Thursday, 26 May 2011

Page 40: First-Class APIs, PHPTek 11, Chicago

Ill maintained code

Thursday, 26 May 2011

Page 41: First-Class APIs, PHPTek 11, Chicago

Lack of testing

Thursday, 26 May 2011

Page 42: First-Class APIs, PHPTek 11, Chicago

Ticket response time is in the weeks not days

Thursday, 26 May 2011

Page 43: First-Class APIs, PHPTek 11, Chicago

It is a problem with management

Thursday, 26 May 2011

Page 44: First-Class APIs, PHPTek 11, Chicago

APIs should be...

Thursday, 26 May 2011

Page 45: First-Class APIs, PHPTek 11, Chicago

First-Class Citizens

Thursday, 26 May 2011

Page 46: First-Class APIs, PHPTek 11, Chicago

Thursday, 26 May 2011

Page 47: First-Class APIs, PHPTek 11, Chicago

Inconceivable?

Thursday, 26 May 2011

Page 48: First-Class APIs, PHPTek 11, Chicago

Absolutely not!

Thursday, 26 May 2011

Page 49: First-Class APIs, PHPTek 11, Chicago

2010 Mobile

Thursday, 26 May 2011

Page 50: First-Class APIs, PHPTek 11, Chicago

2011 Tablets

Thursday, 26 May 2011

Page 51: First-Class APIs, PHPTek 11, Chicago

There are few companies that really get this

Thursday, 26 May 2011

Page 52: First-Class APIs, PHPTek 11, Chicago

Opening up the API when they release mobile clients

Thursday, 26 May 2011

Page 53: First-Class APIs, PHPTek 11, Chicago

New trend for startups

Thursday, 26 May 2011

Page 54: First-Class APIs, PHPTek 11, Chicago

Start with an APINot

a website.

Thursday, 26 May 2011

Page 55: First-Class APIs, PHPTek 11, Chicago

Start with an APINot

a website.

Thursday, 26 May 2011

Page 56: First-Class APIs, PHPTek 11, Chicago

Why do this?

Thursday, 26 May 2011

Page 57: First-Class APIs, PHPTek 11, Chicago

Mashups!

Thursday, 26 May 2011

Page 58: First-Class APIs, PHPTek 11, Chicago

Supply and Demand

Thursday, 26 May 2011

Page 59: First-Class APIs, PHPTek 11, Chicago

There is a demand for APIs

Thursday, 26 May 2011

Page 60: First-Class APIs, PHPTek 11, Chicago

Developers are the supply

Thursday, 26 May 2011

Page 61: First-Class APIs, PHPTek 11, Chicago

Going First-Class?

Thursday, 26 May 2011

Page 62: First-Class APIs, PHPTek 11, Chicago

Common architecture

Thursday, 26 May 2011

Page 63: First-Class APIs, PHPTek 11, Chicago

Data

Thursday, 26 May 2011

Page 64: First-Class APIs, PHPTek 11, Chicago

Data

Website

Thursday, 26 May 2011

Page 65: First-Class APIs, PHPTek 11, Chicago

Data

Website

MVC

Thursday, 26 May 2011

Page 66: First-Class APIs, PHPTek 11, Chicago

Data

API Website

MVC

Thursday, 26 May 2011

Page 67: First-Class APIs, PHPTek 11, Chicago

Data

API

MVC

Website

MVC

Thursday, 26 May 2011

Page 68: First-Class APIs, PHPTek 11, Chicago

Data

API

MVC

Website

MVC

REJECTEDThursday, 26 May 2011

Page 69: First-Class APIs, PHPTek 11, Chicago

Data

Thursday, 26 May 2011

Page 70: First-Class APIs, PHPTek 11, Chicago

Data

Website

Thursday, 26 May 2011

Page 71: First-Class APIs, PHPTek 11, Chicago

Data

API Website

Thursday, 26 May 2011

Page 72: First-Class APIs, PHPTek 11, Chicago

Data

API Website

MVC

Thursday, 26 May 2011

Page 73: First-Class APIs, PHPTek 11, Chicago

Data

API Website

MVC

REJECTEDThursday, 26 May 2011

Page 74: First-Class APIs, PHPTek 11, Chicago

Upgrading the API to First-Class

Thursday, 26 May 2011

Page 75: First-Class APIs, PHPTek 11, Chicago

Data

Thursday, 26 May 2011

Page 76: First-Class APIs, PHPTek 11, Chicago

Data

API

Thursday, 26 May 2011

Page 77: First-Class APIs, PHPTek 11, Chicago

Data

API

Website

MVC

Thursday, 26 May 2011

Page 78: First-Class APIs, PHPTek 11, Chicago

Data

API

Website

MVCMobile

Thursday, 26 May 2011

Page 79: First-Class APIs, PHPTek 11, Chicago

Data

API

Website

MVCMobile 3rd Party

Thursday, 26 May 2011

Page 80: First-Class APIs, PHPTek 11, Chicago

Website as a client

Thursday, 26 May 2011

Page 81: First-Class APIs, PHPTek 11, Chicago

Data

API

Mobile 3rd Party

Website

MVC

Thursday, 26 May 2011

Page 82: First-Class APIs, PHPTek 11, Chicago

Data

API

Mobile 3rd Party

Website

MVC

Thursday, 26 May 2011

Page 83: First-Class APIs, PHPTek 11, Chicago

Data

API

Mobile

JavaScript

3rd Party

Website

MVC

Thursday, 26 May 2011

Page 84: First-Class APIs, PHPTek 11, Chicago

FRAPI(getfrapi.com)

Thursday, 26 May 2011

Page 85: First-Class APIs, PHPTek 11, Chicago

API First?

Thursday, 26 May 2011

Page 86: First-Class APIs, PHPTek 11, Chicago

Ideally!

Thursday, 26 May 2011

Page 87: First-Class APIs, PHPTek 11, Chicago

At least plan for it

Thursday, 26 May 2011

Page 88: First-Class APIs, PHPTek 11, Chicago

Higher upfront cost but lower in the long term

Thursday, 26 May 2011

Page 89: First-Class APIs, PHPTek 11, Chicago

Any downsides!?

Thursday, 26 May 2011

Page 90: First-Class APIs, PHPTek 11, Chicago

Of course!

Thursday, 26 May 2011

Page 91: First-Class APIs, PHPTek 11, Chicago

Additional Overhead

Thursday, 26 May 2011

Page 92: First-Class APIs, PHPTek 11, Chicago

OAuth/Security + Website

Thursday, 26 May 2011

Page 93: First-Class APIs, PHPTek 11, Chicago

Eventually Consistent

Thursday, 26 May 2011

Page 94: First-Class APIs, PHPTek 11, Chicago

The First version always sucks

Thursday, 26 May 2011

Page 95: First-Class APIs, PHPTek 11, Chicago

Keep things internal if need be

Thursday, 26 May 2011

Page 96: First-Class APIs, PHPTek 11, Chicago

Data

API

Website

MVC

Thursday, 26 May 2011

Page 97: First-Class APIs, PHPTek 11, Chicago

Data

API

Website

MVC

Thursday, 26 May 2011

Page 98: First-Class APIs, PHPTek 11, Chicago

Data

API

Website

MVCInternal

Thursday, 26 May 2011

Page 99: First-Class APIs, PHPTek 11, Chicago

The gain?

Thursday, 26 May 2011

Page 100: First-Class APIs, PHPTek 11, Chicago

API becomes the core business

Thursday, 26 May 2011

Page 101: First-Class APIs, PHPTek 11, Chicago

Single Codebase

Thursday, 26 May 2011

Page 102: First-Class APIs, PHPTek 11, Chicago

Better Documentation

Thursday, 26 May 2011

Page 103: First-Class APIs, PHPTek 11, Chicago

More extensive tests

Thursday, 26 May 2011

Page 104: First-Class APIs, PHPTek 11, Chicago

Better response time on bugs

Thursday, 26 May 2011

Page 105: First-Class APIs, PHPTek 11, Chicago

Consistency

Thursday, 26 May 2011

Page 106: First-Class APIs, PHPTek 11, Chicago

Higher upfront cost but lower in the long term

Thursday, 26 May 2011

Page 107: First-Class APIs, PHPTek 11, Chicago

The Story of Twitter

Thursday, 26 May 2011

Page 108: First-Class APIs, PHPTek 11, Chicago

This is just an example

Thursday, 26 May 2011

Page 109: First-Class APIs, PHPTek 11, Chicago

I am not trying to be an asshole to Twitter :-)

Thursday, 26 May 2011

Page 110: First-Class APIs, PHPTek 11, Chicago

Started in 2006

Thursday, 26 May 2011

Page 111: First-Class APIs, PHPTek 11, Chicago

Took off in 2007 at SXSW

Thursday, 26 May 2011

Page 112: First-Class APIs, PHPTek 11, Chicago

20k 60k tweets per day

Thursday, 26 May 2011

Page 113: First-Class APIs, PHPTek 11, Chicago

200% Growth

Thursday, 26 May 2011

Page 114: First-Class APIs, PHPTek 11, Chicago

There was no API

Thursday, 26 May 2011

Page 115: First-Class APIs, PHPTek 11, Chicago

Developers asked for it

Thursday, 26 May 2011

Page 116: First-Class APIs, PHPTek 11, Chicago

And of course it got bolted on

Thursday, 26 May 2011

Page 117: First-Class APIs, PHPTek 11, Chicago

API was half cooked and organically grew

Thursday, 26 May 2011

Page 118: First-Class APIs, PHPTek 11, Chicago

They tried their best, but...

Thursday, 26 May 2011

Page 119: First-Class APIs, PHPTek 11, Chicago

Thursday, 26 May 2011

Page 120: First-Class APIs, PHPTek 11, Chicago

#NewTwitter in Oct 2010

Thursday, 26 May 2011

Page 121: First-Class APIs, PHPTek 11, Chicago

Web client consuming it’s own API.

Thursday, 26 May 2011

Page 122: First-Class APIs, PHPTek 11, Chicago

More care was taken on the API side

Thursday, 26 May 2011

Page 123: First-Class APIs, PHPTek 11, Chicago

What if Facebook did the same?

Thursday, 26 May 2011

Page 124: First-Class APIs, PHPTek 11, Chicago

In conclusion

Thursday, 26 May 2011

Page 125: First-Class APIs, PHPTek 11, Chicago

Treat the API as your core business

Thursday, 26 May 2011

Page 126: First-Class APIs, PHPTek 11, Chicago

Or at least plan it from the start

Thursday, 26 May 2011

Page 127: First-Class APIs, PHPTek 11, Chicago

Thursday, 26 May 2011

Page 128: First-Class APIs, PHPTek 11, Chicago

ClientsLogin

Image Hosting

URL Shorteners

Analytics

etc

etc

etc

Thursday, 26 May 2011

Page 129: First-Class APIs, PHPTek 11, Chicago

ApiGee & Mashery

Thursday, 26 May 2011

Page 130: First-Class APIs, PHPTek 11, Chicago

Outsource the innovation of UX to people who know

how to!

Thursday, 26 May 2011

Page 131: First-Class APIs, PHPTek 11, Chicago

Thursday, 26 May 2011

Page 132: First-Class APIs, PHPTek 11, Chicago

NO MORE

Thursday, 26 May 2011

Page 133: First-Class APIs, PHPTek 11, Chicago

Thanks for coming!

Joind.in: http://joind.in/3400

@[email protected]

Thursday, 26 May 2011


Top Related