3. Online Population
Web Site
Your
Digital
Assets
Source: Dion Hinchcliffe, http://blogs.zdnet.con/Hinchcliffe
4. Online Population
Extended Reach
Widgets Social
3rd
Party Gadgets Network
Web Site Apps (Facebook, Mobile
Badges Opensocial) Apps.
API
non-visual services
Your
Digital
Assets
Source: Dion Hinchcliffe, http://blogs.zdnet.con/Hinchcliffe
5. Online Population
Extended Reach
Widgets Social
3rd
Party Gadgets Network
Web Site Apps (Facebook, Mobile
Badges Opensocial) Apps.
API
non-visual services
Your
Digital
Assets
Is that all?
Source: Dion Hinchcliffe, http://blogs.zdnet.con/Hinchcliffe
6. API is about Connectedness
• A bit of history,
API == Application Programming Interfaces
7. API is about Connectedness
• A bit of history,
API == Application Programming Interfaces
This is about code...
8. API is about Connectedness
Connected code == mechanism
9. API is about Connectedness
Connecting abilites == society
10. There is more than code
An API allows to open what your
company does best...
... and to access the best of others
To result in something bigger than the
sum of its parts
12. What do you glue with API’s?
DATA
VISUALIZATION
13. What do you glue with API’s?
DATA
VISUALIZATION
SERVICES
14. What do you glue with API’s?
DATA
VISUALIZATION
SERVICES
Sounds familiar?
15. What do you glue with API’s?
DATA (M)ODEL
VISUALIZATION (V)IEW
SERVICES (C)ONTROLLER
Yep! the MVC software architecure
16. What do you glue with API’s?
DATA (M)ODEL
MVC connects components
VISUALIZATION (V)IEW
API connects businesses
SERVICES (C)ONTROLLER
17. Disclaimer
If what you offer
sucks, don’t
bother to cover it
up with an API
18. Writing a sucessful API
• If you are a programmer you know how to write
an API
However, there are things
that can make it or break it
19. Writing a sucessful API
• The simpler the better
– REST >> SOAP, JSON > XML
– Functionality should be clear and
consice
• If you do not know how to name it,
you are doing it wrong
– Adding is much more difficult than
removing
• Still, consider versioning since day 1
– API needs to be implementation
agnostic
– Names should be self-explanatory
20. Writing a sucessful API
• Implementation
– Watch out latencies
• A human can wait 200ms, a
machine might not
– Machine generated traffic
• Usage patterns and load can be
totally different than human
generated traffic
– Handle errors beautifully
• Don’t assume intelligence on the
other side
21. Writing a sucessful API
• Documentation
– Document well, not everything
• code is not the best documentation,
your users – developers -- won’t see it
– Provide code examples for your API
– Write plugins for multiple languages
• Will make your users life easier and
help getting your API generic
22. Writing a sucessful API
• Know your “users”
– They are developers like you,
therefore “special”
– They are very comfortable with code
examples and online docs
– Developers do not like talking to
people, let alone sales
• Remove hurdles like approval steps or
sales pitches to hook with your API
– Feedback is always good, in this case
critical
23. Writing a sucessful API
• Be open
• Focus
– Your API needs to offer your core
business to be connected to
– For the overhead derived from
having a public API such as:
– Access control
– Analytics and reporting
– Billing and payments
– Developer portal
there are API solutions,
24. Writing a sucessful API
• Be open
• Focus
– Your API needs to offer your core
business to be connected to
– For the overhead derived from
having a public API such as:
– Access control
– Analytics and reporting
– Billing and payments
– Developer portal
there are API solutions, e.g.
Full Disclosure: I do work for 3scale