API Design Lifecycle @ Rubyslava Conf'15

API Design Lifecycle @ Rubyslava Conf'15

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. First part of my talk will show you how to avoid waterfalls by employing iterations, prototyping, communication with client developers and testing. The second 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. I'll present new API Blueprint and Apiary features and I'll also give some sneak peeks on still to be announced features (shshshsh!), which can help you to get the most from the API Blueprint and Apiary.

7b2e4bf7ecca28e530e1c421f0676c0b?s=128

Honza Javorek

June 19, 2015
Tweet

Transcript

  1. API Design Life Cycle HONZA JAVOREK

  2. Czech Python Community Mascot API design lover Honza Javorek honzajavorek.cz

    @honzajavorek sort of cartoonist beverage-agnostic caffeine consumer
  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 40 years ago Karel Gott Waldemar Matuška Blue Effect

    Helena Vondráčková Miroslav Žbirka waterfall model coined AC/DC Led Zeppelin
  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. Mobile App Hippie Frontend Samurai Klientína Vývojárková chocolate core commiter

    guerilla gardening evangelist example.com/klientina
  15. Human helpful error messages consistency error prevention usability naming ProTip™:

    read Jakob Nielsen use case oriented help & documentation
  16. Different concerns maintenance Rails Django SQL caching JBoss storage uptime

    versioning ORM security
  17. Different concerns maintenance Rails SQL JBoss uptime security Objective-C latency

    JavaScript how to…? jQuery Angular examples learning curve debugging
  18. Different culture öl_pris cenaPiva BeerPrice precio-de-la-cerveza !r #ைல SörÁra

  19. EMPATHY IS HARD!

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

  21. None
  22. But how?

  23. API Blueprint

  24. None
  25. Markdown file

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

  29. Design Prototype Implementation Delivery Feedback

  30. Documentation Tests Mock Server Debugging Proxy Server GitHub JSON Schema

    Sublime Text Plugin Style Checking Atom Plugin Node.js binding Ruby binding Validation Vim Plugin SoapUI Plugin Hypermedia Open Source apiblueprint.org language-agnostic
  31. Apiary apiary.io

  32. Documentation

  33. Documentation: MSON sneak peek github.com/apiaryio/mson

  34. Mock Server

  35. Debugging Proxy Server

  36. Tests and Cont. Integration sneak peek

  37. None
  38. Full GitHub workflow sneak peek

  39. Style checking "enterprise" feature

  40. Want to try? support@apiary.io @apiaryio

  41. Authentication Syntax? PR #201 github.com/apiaryio/api-blueprint/pull/201 Give us feedback!

  42. Image Credits Leonardo da Vinci - Le proporzioni del corpo

    umano secondo Vitruvio, 1490 Honza Javorek - arbitrary cartoons, 2O14 and 2015
  43. apiblueprint.org github.com/apiaryio apiary.io