Upload
ca-api-management
View
789
Download
0
Embed Size (px)
Citation preview
http://www.flickr.com/photos/jurvetson/21470089/
You want a Library with that (API)?
http://www.layer7tech.com/blogs/index.php/sdks-work-until-they-dont/
You don’t have to be hereYou can read it over there
Designing an API is easy Effective API design is difficult
• Informaton
• Product
• Service
Business Asset
• API
• SLA
• EULA
API Provider• Building
App
Developer
• Using API
Application• Using App
End-User
The API Value Chain
• Informaton
• Product
• Service
Business Asset
• API
• SLA
• EULA
API Provider• Building
App
Developer
• Using API
Application• Using App
End-User
Effective API Design
A story about two APIs
I love it
I wanted Javascript, but got PHP
I wanted Client-side, but got Server-side
- need to install peck or pearl on my Mac
http://pear.php.net/manual/en/installation.getting.php
- went back to documentation to install oauth
extension, needed autoconf - tried another way
http://stackoverflow.com/questions/5536195/install-pecl-
on-mac-os-x-10-6
- still required autoconf
http://mac-dev-env.patrickbougie.com/autoconf/
- Error: PECL: configuration option "php_ini" is
not set to php.ini location
http://arcadian83.livejournal.com/16386.html
=> Ready to run php lib from fitbit website
- Enable php
http://editrocket.com/articles/php_apache_mac.html
- Enable apache server
http://reviews.cnet.com/8301-13727_7-57481978-263/how-to-
enable-web-sharing-in-os-x-mountain-lion/
- sudo apachectl start
=> Ready to start playing with the php lib
small annoyances add up to create a poor experience
Using a SDK might be easier, until it isn’t
SDK Benefits
• Time to First Use (Developer On-boarding)
• Best client for your API
• Simplify API design by extracting business logic into the SDK
• Strongly-typed language representation
SDK Drawbacks
• Picking platform and framework winners
• 3rd party framework dependencies
• Version dependencies between SDK and API
• SDK carry-on weight
• Long-term support costs
Making API design an afterthought?
Provide SDKs for on-boarding
Transition to Web-APIs for production