Developer Experience: 4 Usability Tricks
What is Developer Experience (DX)?
API Developer Experience is the overall experience of a third-party developer using a platform or service and includes items such as API Design, Usability, and Emotional Experience.
Why does it matter?
More and more companies are now opening up their APIs and thinking about DX. Similar to the mobile-first UX wave, companies are realizing APIs can be a powerful tool for additional revenue channels. In a competitive world; however, companies need to appeal to developers with awesome experiences to differentiate from yesterday’s stereotypical enterprise apps. Today’s developers are much more empowered in making line of business decisions which used to be delegated to other business units.
These are a few examples that demonstrate good developer experience from a usability perspective for API vendors. As a note, some of the companies in this post are used as examples and have no affiliation with Moesif.
1. Measure time to first hello world (TTFHW)
Quick integration time is important for ensuring happy developers. It’s easy to forget that developers are not integrating your service just for fun. They have a personal or business reason to use your service. Your service is a tool which should be easy to get started with. Measure the average time it takes for a new developer to integrate your service. Does it take 30 minutes or 12 hours? How do you decrease this metric? Take a look at Mixpanel. They do a good job onboarding new customers:
- Specifies exact number of steps until finished with walkthrough, no ambiguity.
- Embeds API token directly in example code, which can be quickly copy/pasted to get started.
- Provides quick selection of preferred setup language
- Validates integration to prevent a leaky boat.
Keep down the number of copy/pastes since they can add up. Developers shouldn’t need to first copy/paste the lib name, then the API base url, then the example code, and finally the API Key, etc.
Also, validation is key to preventing early churn. If a developer’s integration doesn’t work, it’s easier to direct them to help or even reach out via email rather than have the developer leave in frustration. You already put in effort to recruit the developer, don’t push him/her to leave.
2. Communicate and educate effectively
Don’t make the mistake assuming your developers are as intimate with your API as you are. Good documentation is always important, but should also be empathetic for a variety of expertise levels. A recent front-end web developer who is beginning with a new integration may not be as familiar with RESTful API architecture as backend engineer who’s been making web services for years. A diverse set of documentation such as walkthroughs, videos, and typical 3-column documentation ensures each developer can learn by the best method they are comfortable with.
Take a look at companies like Stripe and Twilio who both provide good documentation for their APIs.
For example, Stripe:
- Has quick links to auth, errors, & languages.
- Doesn’t force users to hunt for the base API URL. Every endpoint has the full URL api.example.com/some_resource/{id}, not just the path.
- It’s a single page which allows leveraging powerful browser search to jump around.
Small things like placing sticky API tokens in the sidebar or embedding them in CURL commands ensure your developers can find what they are looking for quickly.
3. Make debugging easier for your developers
Debugging API issues is always a pain, but it’s even harder for your developers when they are not familiar with your API. Give the right tools like Moesif’s API Debugger to make your developers’ lives better and they will thank you with low churn and telling their colleagues how easy your API is to debug and use.
When your developers are successful, you’re successful. In other words, by providing easier to integrate and easier to use APIs, you can generate faster revenue for your company.
4. Give prompt help when needed
Developers now expect immediate help via tools like public Slack channels. Don’t rely on just email alone for help, be omnichannel. Monitor public forums like Stack Overflow or Quora. Even recommend your developers to tag posts with your company name. This allows your developer support team to regularly checks those sites for relevant issues.
In addition, it helps to log everything internally! For any integration, there will always be issues but developers don’t always provide instructions to reproduce the issue when asking for help. You should be able to find and root cause the developer’s issue without a long back and forth email chain asking for additional information to reproduce.
Closing Thoughts
Developer experience is as important as ever and not something that should be taken lightly. If you don’t have a good developer experience, your competitors will. Stay tuned for our next piece on developer experience.