first-class apis, phptek 11, chicago

Post on 14-May-2015

2.981 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

APIs are commonly an afterthought, like a hot tub awkwardly attached to a house — a shoehorned approach that produces a suboptimal app with scarce support that lacks documentation. In effect, APIs are the ugly stepchild of the Web.This is a sad reality that we are faced with, because many companies make their living consuming third-party APIs and mixing in their own data to create amazing and interesting mashups. In the initial phases of development, there is rarely enough money to develop the app and its API. By the time there’s both demand and money, it can be hard to fit an API on top of the architecture in such a way that the whole thing won’t fall over. APIs should be first class citizens of the Web. Inconceivable? Possimpible? Not at all!In this talk we will dive deeper into why APIs are an afterthought, how we can change that. We will also touch on how that can benefit your product down the line in terms of resource savings and infrastructure efficiency, as well as the impact it will have on your infrastructure.This talk is inspired by my phpadvent article: http://phpadvent.org/201002

TRANSCRIPT

First-Class APIs

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

Thursday, 26 May 2011

Hi there, I’m Helgi

Thursday, 26 May 2011

VP of Engineering at Orchestra.io

Thursday, 26 May 2011

VP of Engineering at Orchestra.io

Developer at PEAR

Thursday, 26 May 2011

VP of Engineering at Orchestra.io

Developer at PEAR

From Iceland

Thursday, 26 May 2011

VP of Engineering at Orchestra.io

Developer at PEAR

From Iceland

@h on Twitter

Thursday, 26 May 2011

1995 2000 2005 2010

John MusserFounder, Programmable Web

Thursday, 26 May 2011

Why do we need a website?

1995 2000 2005 2010

John MusserFounder, Programmable Web

Thursday, 26 May 2011

Why do we need a website?

Of course we have a website

1995 2000 2005 2010

John MusserFounder, Programmable Web

Thursday, 26 May 2011

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

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

Data is the new business model

Thursday, 26 May 2011

APIs are the business glue

Thursday, 26 May 2011

Business without an API?

Thursday, 26 May 2011

Developers hunger to use your data

Thursday, 26 May 2011

Do not keep it all to your self

Thursday, 26 May 2011

The data wasn’t yours to begin with!

Thursday, 26 May 2011

Thursday, 26 May 2011

Mine?Mine?Mine?Mine?

Mine? Mine?

Mine?

Mine?

Mine?

Thursday, 26 May 2011

Not everyone believes this

Thursday, 26 May 2011

They do like their ivory towers

Thursday, 26 May 2011

For years APIs have been treated as...

Thursday, 26 May 2011

Second-Class Citizen

Thursday, 26 May 2011

Why?

Thursday, 26 May 2011

It’s a conceptional problem

Thursday, 26 May 2011

Companies believe they will lose business if they share

Thursday, 26 May 2011

Websites are considered the business

Thursday, 26 May 2011

Not the API

Thursday, 26 May 2011

APIs are for the cool kids

Thursday, 26 May 2011

Or...

Thursday, 26 May 2011

Not enough money

Thursday, 26 May 2011

Not enough time

Thursday, 26 May 2011

Not enough resources

Thursday, 26 May 2011

Not enough foresight

Thursday, 26 May 2011

Finally the time/money comes

Thursday, 26 May 2011

Shoehorned onto the website

Thursday, 26 May 2011

Hot tub awkwardly attached to a house

Thursday, 26 May 2011

Thursday, 26 May 2011

Sparse Documentation

Thursday, 26 May 2011

Ill maintained code

Thursday, 26 May 2011

Lack of testing

Thursday, 26 May 2011

Ticket response time is in the weeks not days

Thursday, 26 May 2011

It is a problem with management

Thursday, 26 May 2011

APIs should be...

Thursday, 26 May 2011

First-Class Citizens

Thursday, 26 May 2011

Thursday, 26 May 2011

Inconceivable?

Thursday, 26 May 2011

Absolutely not!

Thursday, 26 May 2011

2010 Mobile

Thursday, 26 May 2011

2011 Tablets

Thursday, 26 May 2011

There are few companies that really get this

Thursday, 26 May 2011

Opening up the API when they release mobile clients

Thursday, 26 May 2011

New trend for startups

Thursday, 26 May 2011

Start with an APINot

a website.

Thursday, 26 May 2011

Start with an APINot

a website.

Thursday, 26 May 2011

Why do this?

Thursday, 26 May 2011

Mashups!

Thursday, 26 May 2011

Supply and Demand

Thursday, 26 May 2011

There is a demand for APIs

Thursday, 26 May 2011

Developers are the supply

Thursday, 26 May 2011

Going First-Class?

Thursday, 26 May 2011

Common architecture

Thursday, 26 May 2011

Data

Thursday, 26 May 2011

Data

Website

Thursday, 26 May 2011

Data

Website

MVC

Thursday, 26 May 2011

Data

API Website

MVC

Thursday, 26 May 2011

Data

API

MVC

Website

MVC

Thursday, 26 May 2011

Data

API

MVC

Website

MVC

REJECTEDThursday, 26 May 2011

Data

Thursday, 26 May 2011

Data

Website

Thursday, 26 May 2011

Data

API Website

Thursday, 26 May 2011

Data

API Website

MVC

Thursday, 26 May 2011

Data

API Website

MVC

REJECTEDThursday, 26 May 2011

Upgrading the API to First-Class

Thursday, 26 May 2011

Data

Thursday, 26 May 2011

Data

API

Thursday, 26 May 2011

Data

API

Website

MVC

Thursday, 26 May 2011

Data

API

Website

MVCMobile

Thursday, 26 May 2011

Data

API

Website

MVCMobile 3rd Party

Thursday, 26 May 2011

Website as a client

Thursday, 26 May 2011

Data

API

Mobile 3rd Party

Website

MVC

Thursday, 26 May 2011

Data

API

Mobile 3rd Party

Website

MVC

Thursday, 26 May 2011

Data

API

Mobile

JavaScript

3rd Party

Website

MVC

Thursday, 26 May 2011

FRAPI(getfrapi.com)

Thursday, 26 May 2011

API First?

Thursday, 26 May 2011

Ideally!

Thursday, 26 May 2011

At least plan for it

Thursday, 26 May 2011

Higher upfront cost but lower in the long term

Thursday, 26 May 2011

Any downsides!?

Thursday, 26 May 2011

Of course!

Thursday, 26 May 2011

Additional Overhead

Thursday, 26 May 2011

OAuth/Security + Website

Thursday, 26 May 2011

Eventually Consistent

Thursday, 26 May 2011

The First version always sucks

Thursday, 26 May 2011

Keep things internal if need be

Thursday, 26 May 2011

Data

API

Website

MVC

Thursday, 26 May 2011

Data

API

Website

MVC

Thursday, 26 May 2011

Data

API

Website

MVCInternal

Thursday, 26 May 2011

The gain?

Thursday, 26 May 2011

API becomes the core business

Thursday, 26 May 2011

Single Codebase

Thursday, 26 May 2011

Better Documentation

Thursday, 26 May 2011

More extensive tests

Thursday, 26 May 2011

Better response time on bugs

Thursday, 26 May 2011

Consistency

Thursday, 26 May 2011

Higher upfront cost but lower in the long term

Thursday, 26 May 2011

The Story of Twitter

Thursday, 26 May 2011

This is just an example

Thursday, 26 May 2011

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

Thursday, 26 May 2011

Started in 2006

Thursday, 26 May 2011

Took off in 2007 at SXSW

Thursday, 26 May 2011

20k 60k tweets per day

Thursday, 26 May 2011

200% Growth

Thursday, 26 May 2011

There was no API

Thursday, 26 May 2011

Developers asked for it

Thursday, 26 May 2011

And of course it got bolted on

Thursday, 26 May 2011

API was half cooked and organically grew

Thursday, 26 May 2011

They tried their best, but...

Thursday, 26 May 2011

Thursday, 26 May 2011

#NewTwitter in Oct 2010

Thursday, 26 May 2011

Web client consuming it’s own API.

Thursday, 26 May 2011

More care was taken on the API side

Thursday, 26 May 2011

What if Facebook did the same?

Thursday, 26 May 2011

In conclusion

Thursday, 26 May 2011

Treat the API as your core business

Thursday, 26 May 2011

Or at least plan it from the start

Thursday, 26 May 2011

Thursday, 26 May 2011

ClientsLogin

Image Hosting

URL Shorteners

Analytics

etc

etc

etc

Thursday, 26 May 2011

ApiGee & Mashery

Thursday, 26 May 2011

Outsource the innovation of UX to people who know

how to!

Thursday, 26 May 2011

Thursday, 26 May 2011

NO MORE

Thursday, 26 May 2011

Thanks for coming!

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

@hhelgi@orchestra.io

Thursday, 26 May 2011

top related