Goals • Understand what makes for a great Developer Experience • Train your eye to spot bad Developer Experience • Provide you with the vocabulary to explain why something is bad DX • Inform what automation and instrumentation can be created to scale a developer experience hoopy.io
“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.” - Jennifer Riggins | @jkriggins hoopy.io
Are there any usability issues? What type of usability problems are they? Discoverability, Predictability, Correctness, Learnability Or Forgiveness? What tricks can you see that make things more learnable, discoverable, etc? Teams of 2 Sign up for each other’s products
What types of documentation can you recognise? For what level of experience and motivation is that documentation intended? How does the documentation flow from one type to the other? (Bonus) Using the same products you looked at before
Engagement Tutorials, social media, traditional marketing… Developer Engagement “To create content and perform activities intended to raise awareness and familiarity of the product amongst the wider developer community” Mostly External Facing Often a marketing activity
Enablement White papers, trials, testimonials, sample apps, webinars, quick starts… Developer Enablement “To create content and perform activities intended to enable internal and external developers to use your product, as well as enable go-to-market facing colleagues to enable others to use the product.” Both internal and external facing Generally an educational activity
Retention Beta programmes, newsletters, champion programmes… Developer Retention “To create content and perform activities intended to ensure developers and customers understand the continued value of the product and are early adopters new value add-ons” Both internal and external facing Combination of marketing and educational activities
What kind of activities or content does your company deliver for each of these? Where are the gaps? Is there an in-balance of focus? What would be a good next programme to fill these gaps? On paper or on spreadsheet, create three columns: Engagement, Enablement, and Retention
Cristiano Betta - 9/12/2019 Upload a file to ImgApp * Go to developer.imgapp.com This took me to the Get Started Guide but
then wasn’t clear on next steps … * Made the sample API call but received a 400 I copied the command literally from the tutorial and I got a 400 response with zero guidance on what I did wrong. No idea how to proceed. * Click on “Get Started” … The animated gif on the front-page showed me exactly what I can do with the API within 5 seconds. Discoverable Unpredictable Unforgiving Exploration Getting Started Reference
Reference I copied the command literally from the tutorial and I got a 400 response with zero guidance on what I did wrong. No idea how to proceed. I wanted to share a link to a specific point in the docs and was unable to get a link as it’s an infinitely scrolling page without clear anchors Unforgiving Inaccessible Get Started Nullam id dolor id nibh ultricies vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Nullam id dolor id nibh ultricies vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Nullam id dolor id nibh ultricies vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Discoverable Forgiving Unpredictable
1. Create a friction log for this use case 2. Document on paper or in an online doc 3. Log the moments of delight, frustration, and anger “Send an Tweet with Nexmo” developer.nexmo.com Alternative for non-developers “Send a tweet with a new Twitter account” twitter.com
hoopy.io The problem with DX Create an easy on boarding flow Write amazing guides and tutorials Maintain the API spec Create sample code for every API Create useful SDKs Create white papers Speak at conferences Keep in contact with existing customers Maintain a changeling Maintain social media Launch an ambassador programme Engage developers on the forum Work with partners on integrations
hoopy.io Automation Documentation • Spellchecking • Translation • External and internal link validation • Cross-linking of related content • Create reports to provide other teams with insights into documentation coverage of APIs • Content Matrix
hoopy.io Instrumentation 1. Measure key moments in the developer journey as well as the wider developer lifecycle 2. Set up automated process to track improvements and actively warn of deterioration of key indicators
Determine 3 key events in your developer lifecycle Pick an early moment of engagement, a moment of enablement, and a later moment of retention. Which indicator could be best used to drive further growth? Which indicator could be best used as an indicator of potential deterioration?
“…in reality, whatever people can pull down from their favorite package manager is their developer experience…” - Square’s Tristan Sokol @ DevXCon SF 2̸17 About SDKs hoopy.io