Slide 1

Slide 1 text

API Design Life Cycle HONZA JAVOREK

Slide 2

Slide 2 text

Honza Javorek API design lover Czech Python evangelist tea & mate drinker sauna enthusiast sort of cartoonist Python, CoffeeScript @honzajavorek

Slide 3

Slide 3 text

1 what's wrong on classic API design 2 how to do it better 3 how can Apiary help

Slide 4

Slide 4 text

How do people design and develop APIs?

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

70s 40 years ago

Slide 9

Slide 9 text

70s ABBA waterfall model coined Led Zeppelin David Bowie AC/DC 40 years ago

Slide 10

Slide 10 text

API is an interface

Slide 11

Slide 11 text

API is an interface to data

Slide 12

Slide 12 text

API is an interface to data for client developers

Slide 13

Slide 13 text

For who?

Slide 14

Slide 14 text

Clientina Utvecklarsson frontend samurai mobile app hippie guerilla gardening evangelist chocolate core commiter Objective-C, Java, JavaScript, CoffeeScript

Slide 15

Slide 15 text

Human usability consistency naming error prevention use case oriented helpful error messages help & documentation ProTip™: read Jakob Nielsen

Slide 16

Slide 16 text

Different concerns SQL ORM caching Django JBoss storage Rails maintenance uptime versioning security

Slide 17

Slide 17 text

Different concerns SQL JBoss Rails maintenance latency Objective-C how to...? Angular jQuery learning curve examples JavaScript uptime versioning security debugging

Slide 18

Slide 18 text

Different culture cenaPiva öl_pris BeerPrice precio-de-la-cerveza பபரர வவலல

Slide 19

Slide 19 text

EMPATHY IS HARD!

Slide 20

Slide 20 text

iterations prototypes communication co-operation design first documentation first use cases

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

But how?

Slide 23

Slide 23 text

API Blueprint

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

Markdown file

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

Design Prototype Design Feedback Delivery Implementation

Slide 29

Slide 29 text

Design Prototype Design Feedback Delivery Implementation

Slide 30

Slide 30 text

AST Documentation Mock Server Debugging Proxy Server Open Source Apiary.io Dredd GitHub JSON Schema Atom editor plugin Sublime Text plugin SoapUI Pro plugin

Slide 31

Slide 31 text

IMAGE CREDITS: Leonardo da Vinci - Le proporzioni del corpo umano secondo Vitruvio, 1490

Slide 32

Slide 32 text

Q & A HONZA JAVOREK [email protected] @apiaryio · apiary.io @apiblueprint · apiblueprint.org @honzajavorek