Skip to content
Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
130 lines (73 sloc) 1.64 KB

User Driven APIs

Brenton Cleeland / brntn.me


Web APIs

(REST, GraphQL, RPC, whatever...)


Command Line Interfaces


Utilities & library code


API Driven Startups

Twilio, Stripe, Sendgrid


They make developer lives easier


They care about ease of integration


Great APIs Drive Growth

Twitter, Google, Slack


Create growth with third party integrations


Developers == evangelists


Command Line Focussed Products

Docker, Ansible, now.sh


Developer experience driven by command line UX


Confusing interfaces make adoption hard


5 simple tips to get you going


#1: Understand your consumers


  • Find ways to talk to your users
  • Write user-focussed stories
  • Think about the tasks they are doing

#2: Build what they want


  • Give them the data they need as quickly as possible
  • Consistency is key
  • Discoverability of new features is important

#3: Document and test it


  • An API is nothing without documentation
  • Unit tests, integration tests & smoke tests, are great but think about user testing too!

#4: Follow standards


  • Use status codes and headers
  • Tell the user what they did wrong
  • Standard authenication methods
  • Return valid responses
  • Choose a style guide

#5: Release, iterate and release


  • Your users will change, so should your API
  • Communicate features and ask for feedback
  • Don't be afraid to release new versions

So...

  • Understand your consumers
  • Build what they want
  • Document and test it
  • Follow standards
  • Release, iterate and release

Thanks!

Brenton Cleeland / brntn.me

You can’t perform that action at this time.