Creating a Great Developer Experience

Providing a great developer experience is important for any company with an open API. The key goal should be reducing the amount of time it takes a developer to be productive with your API. There are over 11,000 open APIs, but the company most frequently noted for its great developer experience is Twilio.

There are many stages during the API integration funnel where you can lose a developer. Twilio has designed a developer experience that minimizes the drop-off rate at each stage of this funnel. Here’s how they do this. A developer’s relationship with Twilio begins when he or she first visits their website. Twilio’s homepage highlights the API’s voice and messaging functionality convincing a developer to sign up. The process of then getting started is fast. After clicking a call-to-action button on the homepage, you are asked to fill out a painless sign-up form. You subsequently get access to API credentials and a link to a quickstart guide. Twilio then supports you while you build your integration through excellent API reference documentation, code samples of common use-cases, technical support, and a drip email campaign. Twilio’s entire API integration funnel is designed to help a developer quickly become productive with their API.

Below I describe what are the specific ways you can create a great developer experience.

Developer Site Homepage

Investing resources to integrate with an API is expensive in terms of developer time. To increase sign ups, it is an important to answer the question, “Why should I use your API?” Twilio’s homepage does this by describing the key features of their API. Twilio’s homepage also shows you real-world examples of how companies are leveraging their API.

Examples:
1. Twilio
2. Stripe
3. Dropbox

Sign Up

Signing up with Twilio is fast. Twilio only asks for essential information on their sign up form. This is important because research has shown that increasing the number of fields on a form increases the drop-off rate.

Examples:
1. Twilio
2. Stripe
3. Mailgun

Quickstart Guide

Integrating with an API is all too often a frustrating experience. By creating a quickstart guide, developers will have a quick win that keeps them motivated to keep building their integration. For example, Twilio allows you to send out a SMS in minutes by following this guide.

Examples:
1. Twilio
2. Stripe
3. Mailgun

API Reference Documentation

API reference documentation is where developers will be spending most of their time on your site. It should start with a high-level overview of your API’s authentication scheme, how to make a request, and how a response is formatted. Ideally, you should provide API documentation in the most commonly languages used by your audience. If you do not have this information, a good starting place is documentation for Ruby, Python, PHP, Node.js, .NET/C#, and Java.

For each of the API methods, endpoints, and properties, list a sample response and request. For each request, outline all the required and optional parameters. For each response, have a sample of each supported datatype.

List out error codes with explanations. Developers will first turn to Google when your API returns an error, so you want your API reference documentation to show up in the search results.

Slate and DevDocs are two open-source projects that you can leverage to build out your API reference documentation.

Examples:
1. Twilio
2. Stripe
3. Parse
4. Sendgrid
5. Mailgun

Code Samples, SDKs, & Tutorials

Offering code samples, SDKs, and tutorial for common use-cases with your API will speed up development time. Like your API reference documentation, provide samples in the most commonly languages used by your audience.

Examples:
1. Twilio
2. Stripe
3. SendGrid

Support & FAQ

Excellent support means being available to answer developers’ questions. Offering email and live chat support are great ways to do this.

Find out where developers are talking about your API, and engage with them there. The most common places are StackOverflow, Quora, Twitter, Reddit, and GitHub. Do this by having a member of your support team tasked with checking these sites for questions and answering them.

Track what questions are most frequently asked, and write up posts for these on the FAQ or Help Center section of your developer website.

Examples:
1. Stripe
2. Twilio

Developer Blog

This is where you should talk about API updates. Write posts about what changes were made between versions, and explain what specific changes developers will have to make to their code to support the new version.

Examples:
1. Twilio
2. Stripe
3. Dropbox

Feedback & Feature Requests

In addition to supporting the developer community by answering technical questions, it is important to have a channel for feedback. For example, Xero uses Uservoice to track and prioritize feature requests.

Executable Documentation

Executable documentation, such as I/O docs, allows developers to test calls on your API without writing code. This is another way to encourage the developer community to invest the resources required to build an integration with your API.

Examples:
1. Klout
2. Rotten Tomatoes
3. Twitter

Lifecycle Emails

After a developer signs up, Twilio keeps them engaged by sending a drip email campaign. These emails have links to helpful sections of their website like code samples. A drip email campaign is an easy way to increase engagement by bringing developers back to your site.

Developing for the Apple Watch Presentation

I gave a presentation about developing for the Apple Watch at the iOS Developer Meetup in Denver. I talked about the architecture of a Watch app. I also walked through how to create a Hello World app and a counter app for the Apple Watch. Below are the slides from the presentation.

Getting Started with Developing for the Apple Watch from Murtza Manzur