can an api be too simple?
DESCRIPTION
Can an API be too simple? Where is the balance between simplicity and complexity? What's the essence of an API? Are there some good samples of simplicity from 46elks' API?TRANSCRIPT
46elks
CONTACT Johannes Lundberg [email protected] +46704508449
”Can an API be too simple?”!2014-05-05, at @APIDaysBerlin
@johannesl !
jojo
Johannes Lundberg
46elks
,;MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM;,./MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM.MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM` `^´ `Q/^^\MMMpcqMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM;, `^´ `VP YP´ `MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMDomm;,._ /MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMP` _.,,=rRMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMP^^^^MMMM´ MMMMMMMMMMMMMMMMMMMMMMMMMMP` '^^oMMMPP` ``´ \MMMMMMMMMMMMMMMMMMMMMMM´ ``\MMMMMMMMMMMMMMMMMM' 'QMMMMMMMMM/` \MMMMMMM/_=o, ,/ \_ `MMMMMMMMMMM, /MM pMM\,._ MMMMMMMMMMMM, ,MMMM, pMMMMMMMX /MMMMMMMMMMMMP AMMMMMMMMMMMMMMMM\m____.pMMMMMMMMMMMMMP MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| ,.mPDMMMMMMMMpo., \MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| ,mPMMMMMMMMMMMMMMMMMDo \MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| /MMMMMMMMMMMMMMMMMMMMMMMM\ \MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| MMMMMMMMMMMMMMMMMMMMMMMMMMDp,. `MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMP MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMP \MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| `MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| \MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMPPDmmMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMBYMMJOHANNESLMMOFMM46ELKSMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM\MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMP `\MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM`
Phone calls, SMS and MMS for developers
in one easy API
Can an API be too simple?
APIAn API business
An actual API
purpose + provider
Courtesy of @andreaskrohn
Business relationship Fullfillment Potential
business impactRealistic
business impact
PRIVATE (CUSTOM)
Manual (internal) Manual None None
PRIVATE (SELF-SERVE)
Automatic (internal) Automatic High
(for big companies) Medium
PARTNER Manual Automatic High High
PUBLIC Automatic Automatic Very high Medium
Can an API be too simple?
Simple means: !
easy to understand, deal with; not complicated;
modest;
SIMPLE
..to integrate..to learn
..to grow with
Simple for who?
Don’t
!JSON vs XML …
Do this !
Too simple?
If in doubt, leave it out !!
SIMPLE
..to maintain..to monetize
..to replace
The essence of an API
Turning traditional complexity into programatic simplicity.
!
For common use cases.
TELECOMTHE WEB
HTTP
Telia Sweden
Sonera FI
TDC Denmark
Telekom DE
Telenor NO
Tele2 Estonia
46elksYour!software
46elks
SIMPLICITY COMPLEXITY
<?php!if ($_GET[’message’] == ’ping’) echo ’Server is up at ’. date(’Y-m-d H:i:s’);!?>
Receiving an SMS and replying
HTTP POST
HTTP REPLY
{ "ivr": ”http://myserver.se/menu.mp3",!
"1": { "connect": "+461890510" },!
"2": { "connect": "+461890511", "recordcall": "http://myserver.se/save" } }
Sample IVR
Telia 0.049 € Telenor 0.042 € Telavox 0.070 € Tele2 0.029 € Tre 0.037 €
0.038 €
Sweden
9 %11 %
12 %
31 %
38 %
Telia
Tele2
Tre
Tre
Per SMS to Sweden
Thank you!@johannesl
@46elks