“Developer experience is an extension of UX that focuses on the developer, who can either be the intermediary or, as is the case with many APIs, the end user. Whether or not you focus on DX design, your developers are always experiencing your API, and that experience may either be positive or negative.” betta.io - Jennifer Riggins | @jkriggins
betta.io stripe.com/docs developer.github.com firebase.google.com What types of documentation can we recognise? For what level of experience and motivation is that documentation intended?
betta.io stripe.com/docs developer.github.com firebase.google.com What types of documentation can we recognise? For what level of experience and motivation is that documentation intended? How does the documentation flow from one type to the other? (Bonus)
betta.io stripe.com/docs developer.github.com firebase.google.com What types of documentation can we recognise? For what level of experience and motivation is that documentation intended? How does the documentation flow from one type to the other? (Bonus) Can you spot any problems in their Developer Experience? (Bonus)
betta.io stripe.com/docs developer.github.com firebase.google.com What types of documentation can we recognise? For what level of experience and motivation is that documentation intended? How does the documentation flow from one type to the other? (Bonus) Can you spot any problems in their Developer Experience? (Bonus)
betta.io stripe.com/docs developer.github.com firebase.google.com What features are presented most prominently? What use cases are presented most prominently?
betta.io stripe.com/docs developer.github.com firebase.google.com What features are presented most prominently? What use cases are presented most prominently? What do you think their core use cases are? (Bonus)
betta.io stripe.com/docs developer.github.com firebase.google.com What features are presented most prominently? What use cases are presented most prominently? What do you think their core use cases are? (Bonus) Do you think they picked the right use cases? (Bonus)
betta.io stripe.com/docs developer.github.com firebase.google.com What features are presented most prominently? What use cases are presented most prominently? What do you think their core use cases are? (Bonus) Do you think they picked the right use cases? (Bonus)
Building Blocks Initialization Use Case #1 Initialization Use Case #2 Encrypted Communication Encrypted Storage Create Keys for Alice Create Keys for Bob Create Keys for Alice
Building Blocks Initialization Encrypted Comms Initialization Encrypted Storage Create Keys for Alice Create Keys for Bob Create Keys for Alice Encrypt (for Bob) Decrypt (as Bob) Encrypt (for Alice) Decrypt (as Alice)
betta.io stripe.com/docs developer.github.com firebase.google.com What building blocks can the core use cases be split into? What secondary building blocks exist?
betta.io stripe.com/docs developer.github.com firebase.google.com What building blocks can the core use cases be split into? What secondary building blocks exist? • Charge a customer money once • Charge a customer money with a subscription
betta.io stripe.com/docs developer.github.com firebase.google.com What building blocks can the core use cases be split into? What secondary building blocks exist? • Charge a customer money once • Charge a customer money with a subscription • Get data from, and push data to GitHub • Get notified when data changes on GitHub • Integrate with the GitHub.com UI
betta.io stripe.com/docs developer.github.com firebase.google.com What building blocks can the core use cases be split into? What secondary building blocks exist? • Charge a customer money once • Charge a customer money with a subscription • Get data from, and push data to GitHub • Get notified when data changes on GitHub • Integrate with the GitHub.com UI • Register a new user • Login an existing user • Login an anonymous user
betta.io stripe.com/docs developer.github.com firebase.google.com What UI patterns have been used to address these 3 levels? What overall level would you rate their documentation at?
betta.io stripe.com/docs developer.github.com firebase.google.com 1: Reduce Complexity by using the four documentation types What UI patterns have been used to address these 3 levels? What overall level would you rate their documentation at?
betta.io stripe.com/docs developer.github.com firebase.google.com 1: Reduce Complexity by using the four documentation types 2: Increase reusability by ensuring building blocks are individually accessible in any documentation type What UI patterns have been used to address these 3 levels? What overall level would you rate their documentation at?
betta.io stripe.com/docs developer.github.com firebase.google.com 1: Reduce Complexity by using the four documentation types 2: Increase reusability by ensuring building blocks are individually accessible in any documentation type 3: Introduce discoverability by linking to related topics in the same documentation level or the same topic at other levels What UI patterns have been used to address these 3 levels? What overall level would you rate their documentation at?