Slide 1

Slide 1 text

Renato Oliveira USER FOCUSED API DESIGN

Slide 2

Slide 2 text

Who am I • Recife, Brazil • Co-founder and Software Engineer at Labcodes • PUG-PE & Python Brasil • DSF • Communities <3 • Coffee <3

Slide 3

Slide 3 text

Labcodes • Software studio de Recife para o mundo • Tecnologias que trabalhamos • Labcodes e Comunidade Labcodes

Slide 4

Slide 4 text

DISCLAIMER

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

Your API is a User Interface

Slide 7

Slide 7 text

Your API is a User Interface

Slide 8

Slide 8 text

Your API is a User Interface

Slide 9

Slide 9 text

API Design

Slide 10

Slide 10 text

There are people on the other side

Slide 11

Slide 11 text

There are users on the other side!

Slide 12

Slide 12 text

On what should we focus? • Functionality • Usability

Slide 13

Slide 13 text

USER EXPERIENCE

Slide 14

Slide 14 text

DEVELOPER EXPERIENCE

Slide 15

Slide 15 text

UX Honeycomb usable useful valuable desirable accessible credible findable

Slide 16

Slide 16 text

How to measure your API usability? • Task invocation ratio • Structure • Navigation • Time to first call • Error handling

Slide 17

Slide 17 text

UX without user research is not UX

Slide 18

Slide 18 text

User Research • Participatory design • Persona development

Slide 19

Slide 19 text

Test • Write client code • Metrics

Slide 20

Slide 20 text

Documentation • Getting started guide • Common use cases • Sandbox

Slide 21

Slide 21 text

Error Handling • Different errors requires different exceptions • Descriptive error messages • “Errors should never pass silently. Unless explicitly silenced”

Slide 22

Slide 22 text

Top-down approach • How the API should behave? • Prototype • Iterate • Feedback

Slide 23

Slide 23 text

Prototype and Iterate

Slide 24

Slide 24 text

Design/Prototype Implementation Customer

Slide 25

Slide 25 text

Design/Prototype Implementation Customer :D

Slide 26

Slide 26 text

API Blueprint • apiblueprint.org • Mock tools • Tests

Slide 27

Slide 27 text

Empathy • Understand • Put yourself on your users’ shoes • All of your users (Personas)

Slide 28

Slide 28 text

Functionalities are eternal • Or at least as long your API version lasts • Please don’t break clients by removing functionalities • Users only use your API once, everything else is automated

Slide 29

Slide 29 text

“APIs are starting to look more like the product and less like the technology.” Jason Harmon, Head of API Design @ PayPal

Slide 30

Slide 30 text

Obrigado! twitter.com/_renatoOliveira github.com/renatoliveira www.labcodes.com.br speakerdeck.com/labcodes

Slide 31

Slide 31 text

No content