API Design Life Cycle @ Nordic APIs 2014

API Design Life Cycle @ Nordic APIs 2014

APIs are software and as such they are also a target of basic software engineering rules we are all taught for decades. Unfortunately, this fact is often ignored or forgotten and common API design process resembles an infamous waterfall model. As APIs are often sitting on boundaries between groups of developers with very different expectations and use cases, problems resulting from one-sided waterfall development are even worse than usual.

Honza’s talk will show you how to avoid waterfalls by employing iterations, prototyping, communication with client developers and testing. The last part of the presentation will be focused on how API Blueprint and its ecosystem fit into this concept and how they help to deliver APIs the right way.

7b2e4bf7ecca28e530e1c421f0676c0b?s=128

Honza Javorek

October 22, 2014
Tweet

Transcript

  1. API Design Life Cycle HONZA JAVOREK

  2. Honza Javorek API design lover Czech Python evangelist tea &

    mate drinker sauna enthusiast sort of cartoonist Python, CoffeeScript @honzajavorek
  3. 1 what's wrong on classic API design 2 how to

    do it better 3 how can Apiary help
  4. How do people design and develop APIs?

  5. None
  6. None
  7. None
  8. 70s 40 years ago

  9. 70s ABBA waterfall model coined Led Zeppelin David Bowie AC/DC

    40 years ago
  10. API is an interface

  11. API is an interface to data

  12. API is an interface to data for client developers

  13. For who?

  14. Clientina Utvecklarsson frontend samurai mobile app hippie guerilla gardening evangelist

    chocolate core commiter Objective-C, Java, JavaScript, CoffeeScript
  15. Human usability consistency naming error prevention use case oriented helpful

    error messages help & documentation ProTip™: read Jakob Nielsen
  16. Different concerns SQL ORM caching Django JBoss storage Rails maintenance

    uptime versioning security
  17. Different concerns SQL JBoss Rails maintenance latency Objective-C how to...?

    Angular jQuery learning curve examples JavaScript uptime versioning security debugging
  18. Different culture cenaPiva öl_pris BeerPrice precio-de-la-cerveza பபரர வவலல

  19. EMPATHY IS HARD!

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

  21. None
  22. But how?

  23. API Blueprint

  24. None
  25. Markdown file

  26. None
  27. None
  28. Design Prototype Design Feedback Delivery Implementation

  29. Design Prototype Design Feedback Delivery Implementation

  30. AST Documentation Mock Server Debugging Proxy Server Open Source Apiary.io

    Dredd GitHub JSON Schema Atom editor plugin Sublime Text plugin SoapUI Pro plugin
  31. IMAGE CREDITS: Leonardo da Vinci - Le proporzioni del corpo

    umano secondo Vitruvio, 1490
  32. Q & A HONZA JAVOREK honza@apiary.io @apiaryio · apiary.io @apiblueprint

    · apiblueprint.org @honzajavorek