Download - Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

Transcript
Page 1: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

Get Some RESTThe why and how of great APIs

Allen Pike, Steamclock Software

Page 2: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software
Page 3: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software
Page 4: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

APIs in 2013

Page 5: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

Great APIs are table stakes

• UI is for users

• API is for developers

• They need to be clear, fast and easy

Page 6: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

Mobile Platforms

Page 7: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

APIs are spreading

Page 8: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

APIs are restricting

Page 9: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

Different models,different APIs

• Up front purchase

• Pure adoption

• A subscription SaaS

• API is the product

Page 10: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

Help us help you

• Internal developers

• Consultants

• Partners

• Customers

• Fans

Page 11: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

Building a great API

Page 12: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

APIaaS

Page 13: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

No surprises please

• Consistent

• Standard

• Plain

• Boring

Page 14: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

#!QOX!#

Danny Robinson,Perch,CEO,@dannyrobinson,361926297#!QOX!#Daniel Burka,Google Ventures,Design Partner,@dburka,29289297#!QOX!#Allen Pike,Steamclock Software,Co-founder,@apike,917292#!QOX!#Tobias Lütke,Shopify,CEO,@tobi,2816037#!QOX!#Danae Ringelmann,Founder,IndieGoGo,@gogoDanae,29817237#!QOX!#Robert Scoble,Rackspace,Startup Liason Officer,@Scobleizer,8726#!QOX!#Oleg Gutsol,500px,CEO,@oleggutsol,103872#!QOX!#Ellen McGirt,Fast Company,Senior Writer,@ellmcgirt,219639#!QOX!#Raj Singh,Tempo AI,CEO

Page 15: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

Enter REST

• REpresentational State Transfer

• The modern best practice

• Uniform methods, no surprises

• Contrasts with SOAP RPC

vinaysahni.com/best-practices-for-a-pragmatic-restful-api

Page 16: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

RESTing up

• GET,POST,PUT,PATCH,DELETE

• Embraces HTTP

• Explorable with simple tools

• Fundamentally scalable

Page 17: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

JSON

{ "XML": [ "Verbose","Heavy Handed",

"Overkill" ], "JSON": ["Human Readable","Lightweight", "The new gold standard" ]}

Page 18: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

The magic formula

JSON

gzip

https

Page 19: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

Care and feeding

Page 20: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software
Page 21: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software
Page 22: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software
Page 23: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software
Page 24: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software
Page 25: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

Future proof your API

• Always version

• Sometimes you release a bad API

• New versions mark breaking changes

• Deprecate and document

Page 26: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

Support your API

• Documentation is just the seed

• Blog for news

• Forums and Stack Overflow for help

• Intercom.io for actual support

Page 27: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

Drive adoption• Promote novel API uses

• Fund hackathons and sponsorships

• SEO

• Double down on examples and docs

• Royal decree

Page 28: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software
Page 29: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

Recap

• APIs are crucial

• Follow standard REST design

• Return JSON, gzipped, over https

• Support with great documentation

• Scale with versioning and marketing

Page 30: Get Some REST: Building Great APIs for Great Apps | Allen Pike, Steamclock Software

Go make great things.

apike

steamclock.com

Get the slides here!