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

30
Get Some REST The why and how of great APIs Allen Pike, Steamclock Software

description

Allen Pike, Co-Founder, Steamclock Software With the modern explosion of apps and platforms, building APIs has become a core skill for any technology business. Building great web based REST APIs will make scaling your business easier, allow third parties to accelerate your growth, and make supporting new platforms and devices much easier. We'll see why and how building great APIs is key to building great software. Attendees will learn: - The state of APIs in 2013 - What makes for a great API - How to make developers love you - How to feed and care for your APIs

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

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!