Slide 1

Slide 1 text

Programming for API design as UX design Humans

Slide 2

Slide 2 text

Emily Hyland Senior Software Engineer at New Relic Ruby & JavaScript

Slide 3

Slide 3 text

WHO this is for WHATit means WHYit’s a good idea WHENto apply it HOWit works

Slide 4

Slide 4 text

WHAT WHY WHEN HOW WHO

Slide 5

Slide 5 text

everybody code is for people, even when it’s internal or part of a side project

Slide 6

Slide 6 text

WHAT WHY WHEN HOW WHO

Slide 7

Slide 7 text

WHAT WHY WHEN HOW WHO

Slide 8

Slide 8 text

remote calls exposed
 to consumers API

Slide 9

Slide 9 text

remote calls exposed
 to consumers classes, methods, and variables in a codebase even when private API —

Slide 10

Slide 10 text

the subjective experience
 of using software ease of use and emotional connection user experience —

Slide 11

Slide 11 text

the qualities or properties
 of an object that define its possible uses or make clear how it can or should be used affordance http://www.merriam-webster.com/dictionary/affordance

Slide 12

Slide 12 text

WHAT WHY WHEN HOW WHO

Slide 13

Slide 13 text

WHAT WHY WHEN HOW WHO

Slide 14

Slide 14 text

reusable knowledge a consistent interface lets you apply things you already learned

Slide 15

Slide 15 text

discoverability it’s easier to jump in when you can tell what something is for

Slide 16

Slide 16 text

empathetic & personal design patterns and best practices are abstract this is how they affect humans —

Slide 17

Slide 17 text

WHAT WHY WHEN HOW WHO

Slide 18

Slide 18 text

WHAT WHY WHEN HOW WHO

Slide 19

Slide 19 text

writing code step back every so often to consider your approach

Slide 20

Slide 20 text

code reviews you’re already in the
 right frame of mind

Slide 21

Slide 21 text

choosing tools look at the conventions
 and documentation

Slide 22

Slide 22 text

WHAT WHY WHEN HOW WHO

Slide 23

Slide 23 text

WHAT WHY WHEN HOW WHO

Slide 24

Slide 24 text

follow convention is there a pattern that’s already established?

Slide 25

Slide 25 text

imagine the user why are they using your code? what is their goal?

Slide 26

Slide 26 text

write the README before you write the code think how you’ll use it, not the implementation

Slide 27

Slide 27 text

WHAT WHY WHEN HOW WHO

Slide 28

Slide 28 text

WHAT WHY WHEN HOW WHO

Slide 29

Slide 29 text

Programmers often feel joy when they can concentrate on the creative side of programming, so Ruby is designed to make programmers happy. I consider a programming language as a user interface, so it should follow the principles of user interface. – Yukihiro Matsumoto