First-Class APIs


                                   Helgi Þormar Þorbjörnsson
                        Dutch PHP Conference, Amsterdam, 21st May 2011

Tuesday, 24 May 2011
Hi there, I’m Helgi



Tuesday, 24 May 2011
VP of Engineering at Orchestra.io




Tuesday, 24 May 2011
VP of Engineering at Orchestra.io
                       Developer at PEAR




Tuesday, 24 May 2011
VP of Engineering at Orchestra.io
                       Developer at PEAR
                       From Iceland




Tuesday, 24 May 2011
VP of Engineering at Orchestra.io
                       Developer at PEAR
                       From Iceland
                       @h on Twitter




Tuesday, 24 May 2011
1995           2000   2005            2010


                                                    John Musser
                                     Founder, Programmable Web

Tuesday, 24 May 2011
Why do we need
           a website?




        1995              2000   2005            2010


                                                       John Musser
                                        Founder, Programmable Web

Tuesday, 24 May 2011
Why do we need    Of course we
           a website?     have a website




        1995               2000            2005            2010


                                                                 John Musser
                                                  Founder, Programmable Web

Tuesday, 24 May 2011
Why do we need    Of course we    Why do we need
           a website?     have a website      an API?




        1995               2000               2005                   2010


                                                                           John Musser
                                                            Founder, Programmable Web

Tuesday, 24 May 2011
Why do we need    Of course we    Why do we need        Of course we
           a website?     have a website      an API?            have an API




        1995               2000               2005                   2010


                                                                           John Musser
                                                            Founder, Programmable Web

Tuesday, 24 May 2011
Data is the new business model




Tuesday, 24 May 2011
APIs are the business glue




Tuesday, 24 May 2011
Business without an API?




Tuesday, 24 May 2011
Developers hunger to use
                              your data




Tuesday, 24 May 2011
Do not keep it all to your self




Tuesday, 24 May 2011
The data wasn’t yours to
                             begin with!




Tuesday, 24 May 2011
Tuesday, 24 May 2011
Mine?            Mine?     Mine?

                                             Mine?
                                                     Mine?
                       Mine?
                                 Mine?



                               Mine?

                                         Mine?




Tuesday, 24 May 2011
Not everyone believes this




Tuesday, 24 May 2011
They do like their ivory towers




Tuesday, 24 May 2011
For years APIs have been
                             treated as...




Tuesday, 24 May 2011
Second-Class
                          Citizen


Tuesday, 24 May 2011
Why?



Tuesday, 24 May 2011
It’s a conceptional problem




Tuesday, 24 May 2011
Companies believing they will
            lose business if they share




Tuesday, 24 May 2011
Websites are considered the
                        business




Tuesday, 24 May 2011
Not the API




Tuesday, 24 May 2011
APIs are for the cool kids




Tuesday, 24 May 2011
Or...




Tuesday, 24 May 2011
Not enough money




Tuesday, 24 May 2011
Not enough time




Tuesday, 24 May 2011
Not enough resources




Tuesday, 24 May 2011
Not enough foresight




Tuesday, 24 May 2011
Finally the time/money comes




Tuesday, 24 May 2011
Shoehorned onto the website




Tuesday, 24 May 2011
Hot tub awkwardly
                       attached to a house




Tuesday, 24 May 2011
Tuesday, 24 May 2011
Sparse Documentation




Tuesday, 24 May 2011
Ill maintained code




Tuesday, 24 May 2011
Lack of testing




Tuesday, 24 May 2011
Ticket response time is in the
                     weeks not days




Tuesday, 24 May 2011
It is a problem with management




Tuesday, 24 May 2011
APIs should be...



Tuesday, 24 May 2011
First-Class Citizens



Tuesday, 24 May 2011
Tuesday, 24 May 2011
Inconceivable?



Tuesday, 24 May 2011
Absolutely not!



Tuesday, 24 May 2011
2010 Mobile

Tuesday, 24 May 2011
2011 Tablets

Tuesday, 24 May 2011
There are few companies
                          that really get this




Tuesday, 24 May 2011
Opening up the API when
                  they release mobile clients




Tuesday, 24 May 2011
New trend for
                         startups


Tuesday, 24 May 2011
Start with an API
                              Not
                          a website.



Tuesday, 24 May 2011
Start with an API
                              Not
                          a website.



Tuesday, 24 May 2011
Why do this?



Tuesday, 24 May 2011
Mashups!




Tuesday, 24 May 2011
Supply and Demand




Tuesday, 24 May 2011
There is a demand for APIs




Tuesday, 24 May 2011
Developers are the supply




Tuesday, 24 May 2011
Going First-Class?



Tuesday, 24 May 2011
Common architecture




Tuesday, 24 May 2011
Data




                       MVC           MVC




                       API          Website

Tuesday, 24 May 2011
RE     Data


                             JE
                       MVC     CT     MVC


                                     ED
                       API           Website

Tuesday, 24 May 2011
Data




                             MVC




                       API          Website

Tuesday, 24 May 2011
RE     Data


                             JE
                               CT
                              MVC


                                     ED
                       API           Website

Tuesday, 24 May 2011
Upgrading the API
                     to First-Class


Tuesday, 24 May 2011
Data



                         API



            Mobile      MVC      3rd Party


                       Website
Tuesday, 24 May 2011
Website as a client



Tuesday, 24 May 2011
Data



                         API



            Mobile      MVC      3rd Party


 JavaScript            Website
Tuesday, 24 May 2011
FRAPI
                       (getfrapi.com)




Tuesday, 24 May 2011
Any downsides!?



Tuesday, 24 May 2011
Of course!



Tuesday, 24 May 2011
The gain?



Tuesday, 24 May 2011
API becomes the core business




Tuesday, 24 May 2011
Better Documentation




Tuesday, 24 May 2011
More extensive tests




Tuesday, 24 May 2011
Better response time on bugs




Tuesday, 24 May 2011
Consistency




Tuesday, 24 May 2011
Higher upfront cost but
                       lower in the long term




Tuesday, 24 May 2011
Twitter



Tuesday, 24 May 2011
Started in 2006




Tuesday, 24 May 2011
Took off in 2007 at SXSW




Tuesday, 24 May 2011
20k    60k
                       tweets per day



Tuesday, 24 May 2011
200% Growth


Tuesday, 24 May 2011
There was no API




Tuesday, 24 May 2011
Developers asked for it




Tuesday, 24 May 2011
And of course it got bolted on




Tuesday, 24 May 2011
API was half cooked and
                           organically grew




Tuesday, 24 May 2011
They tried their best, but...




Tuesday, 24 May 2011
Tuesday, 24 May 2011
#NewTwitter in Oct 2010




Tuesday, 24 May 2011
Web client consuming it’s
                               own API.




Tuesday, 24 May 2011
More care was taken on the
                           API side




Tuesday, 24 May 2011
What if Facebook
                        did the same?


Tuesday, 24 May 2011
In conclusion



Tuesday, 24 May 2011
Treat the API as your core
                                business




Tuesday, 24 May 2011
Or at least plan it
                        from the start




Tuesday, 24 May 2011
Tuesday, 24 May 2011
Clients      URL
                        Login
                                           Shorteners




                         etc                 etc




                        Image
                                   etc     Analytics
                       Hosting


Tuesday, 24 May 2011
Outsource the innovation of
                 UX to people who know
                         how to!



Tuesday, 24 May 2011
Tuesday, 24 May 2011
N
                        O
                            M
                             OR
                                E
Tuesday, 24 May 2011
Thanks for coming!

                       @h
                       helgi@orchestra.io




                       Joind.in: http://joind.in/3241
Tuesday, 24 May 2011

First-Class APIs, DPC 2011, Amsterdam