UX for API- Developer Xperience
Software applications evolve over a period of time. Evolution involves enhancing its core feature set and integrating with other apps. Take the example of the Google app, it started as a web search app. Today search is a tiny box on the app, it has weather info, stocks you trade, news you read and topics you are interested in. Look at Slack, it started as a messaging app. Today, it has hundreds of integrations built into it. They notify when a server is down or a new comment was added to a shared document. Applications enhance via integrations and most 3rd party integrations leverage API’s. API’s are created by the developers for the developers to make applications talk to each other. Developers love well documented, functional API’s. UI users like functional user experience. Developers are users of the API’s and want to have a good developer experience(DX). Great DX throughout the developer lifecycle enables developers to focus on what’s most important for the integration i.e; building great apps focusing on the end-user experience. In this post, I try to share the developer/partner journey and the experience I would like to have when building/integrating API’s.
A great DX is like a music orchestra where everyone pitches in to create a symphony. Great DX is a cross-team effort that creates superior experience throughout the integration lifecycle. Great DX is achieved by striving for excellence across 3P’s of Product, Process, and People.
Product: Build internal and external tools that help the developer to focus on innovation and achieve their goal.
Process: Setup process that helps internal teams and external developers collaborate.
People: Grow internal teams to prioritize craftsmanship for achieving excellence in the developer experience.
Here are the different phases of partner lifecycle and key things that create an experience for API user.
Here are a few key things that create a superior experience for a developer at each of these stages-
Discover
- Fast self serve API provisioning
- If there is a need for manual provisioning, remove unpredictability in the signup process. Bring clarity around next steps, wait time at each step
- Easy app management and services opt-in for these apps
Learn
- Provide actionable documentation that is up to date, complete and easy to use.
- Interactive documentation, console to try API calls would benefit developers in making their initial API calls
- Document usage of APIs, example code, possible errors, and reasons for the error.
- Training material
Build
- API’s should be standardized across all the services with respect to authentication, header management, pagination, error handling.
- API’s should be reliable. Building trust amongst developers to use the API’s can be achieved by keeping your API’s secured, available, scalable and stable.
- Clear self-descriptive error messages.
- Build a developer community.
- Provide support access with reasonable SLAs.
Launch
- Provide logs and access to their usage.
- Simplifying change management.
- Facilitate troubleshooting.
- Offer debugging, monitoring and alerting system
Grow
- Create blogs, news and success stories.
- Certification for partners and benefits to certified partners
- Create competitions and recognize partners for various attributes
- Advertise the premium partners.