first-class apis, phptek 11, chicago
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/201002TRANSCRIPT
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
Thursday, 26 May 2011