Fixing API documentation with Anomify
Fixing API documentation with Anomify
Solo, Developer Experience, DevRel
Solo, Developer Experience, DevRel
A project undertaken for Anomify - A B2B company which offers AI-Driven advanced data monitoring solution. The Study focused on optimizing the API Documentation to facilitate better Understanding and better perceptions of Trust and Brand Value
A project undertaken for Anomify - A B2B company which offers AI-Driven advanced data monitoring solution. The Study focused on optimizing the API Documentation to facilitate better Understanding and better perceptions of Trust and Brand Value
Client
Client
Anomify
Anomify
Services
Services
Primary Research
Secondary Research
Market Analysis
Usability Testing
Prototyping
Validation Testing
Primary Research
Secondary Research
Market Analysis
Usability Testing
Prototyping
Validation Testing
Industries
Industries
IT , Technology
IT , Technology
Date
Date
September 2023
September 2023




Overview
Overview
Anomify is a SaaS product designed for companies that need to react quickly to anomalies in their systems and monitor the health of their systems.
Anomify’s service requires clients to send their data in the form of a time-series at regular intervals.
The process of sending this data is typically performed by developers working for their clients in their operations or engineering teams.
Anomify is a SaaS product designed for companies that need to react quickly to anomalies in their systems and monitor the health of their systems.
Anomify’s service requires clients to send their data in the form of a time-series at regular intervals.
The process of sending this data is typically performed by developers working for their clients in their operations or engineering teams.
Problem
Problem
Developers must learn how to send data to Anomify via HTTP API. API can be defined as a set of protocols and requirements, that enable two different programs to send/receive data between each other.
It is critical that these requirements are conveyed in an effective and simplified manner to enable easy implementation by the developers. This is where the difficulty occurs, and this is where developers may be getting frustrated as developers might be used to reading different types of documentation for different software tech stacks
Developers must learn how to send data to Anomify via HTTP API. API can be defined as a set of protocols and requirements, that enable two different programs to send/receive data between each other.
It is critical that these requirements are conveyed in an effective and simplified manner to enable easy implementation by the developers. This is where the difficulty occurs, and this is where developers may be getting frustrated as developers might be used to reading different types of documentation for different software tech stacks
Design Process
Design Process
Due to limited time constraints and access to participants, A Double Diamond Process was used for it's flexibility. It consisted of the following phases
Due to limited time constraints and access to participants, A Double Diamond Process was used for it's flexibility. It consisted of the following phases


What Experts Say
What Experts Say
Secondary Research consisting of Academic Literature Reviews were conducted.
The Literature Review found that the most severe obstacles faced by the developers while learning and implementing new APIs consisted of learning content such as documentation.
(Uddin and Robillard, 2015)
Secondary Research consisting of Academic Literature Reviews were conducted.
The Literature Review found that the most severe obstacles faced by the developers while learning and implementing new APIs consisted of learning content such as documentation.
(Uddin and Robillard, 2015)


Competitive Review
Competitive Review
We see that the features and characteristics of software documentation that has been shown to significantly improve developer learning in the literature review has been adopted by developer first / developer plus companies such as.
We see that the features and characteristics of software documentation that has been shown to significantly improve developer learning in the literature review has been adopted by developer first / developer plus companies such as.


Hypothesis
Hypothesis
The Documentation negatively affects developer understanding, trust and value perception of the Brand.
The Documentation negatively affects developer understanding, trust and value perception of the Brand.
Primary Research
Primary Research
A Usability Test followed by a Questionnaire and Interview was carried out to answer the following questions derived from the hypothesis
1. What is the attitude or the impression that users have of Anomify while reading the documentation?
2. Are there any problems in the documentation that affect user’s experience in a negative way? If yes, what are they? if no, what part of the process is causing problems?
3. Are there any functional problems from Anomify’s API Service that prevents users from sending data?
A Usability Test followed by a Questionnaire and Interview was carried out to answer the following questions derived from the hypothesis
1. What is the attitude or the impression that users have of Anomify while reading the documentation?
2. Are there any problems in the documentation that affect user’s experience in a negative way? If yes, what are they? if no, what part of the process is causing problems?
3. Are there any functional problems from Anomify’s API Service that prevents users from sending data?




Target Audience
Target Audience
The users that face the problem hypothesized are primarily developers.
They like to learn by figuring it out and do not like being marketed to, rather, they prefer to build their impressions from data and facts.
Developers can play a vital role in the adoption of a third-party service. These roles can be divided into 4 categories:
1. Initiator
2. Technical Decision Maker
3. Business Decision Maker
4. Influencer
5. Approver
The users that face the problem hypothesized are primarily developers.
They like to learn by figuring it out and do not like being marketed to, rather, they prefer to build their impressions from data and facts.
Developers can play a vital role in the adoption of a third-party service. These roles can be divided into 4 categories:
1. Initiator
2. Technical Decision Maker
3. Business Decision Maker
4. Influencer
5. Approver
Qualitative Results
Qualitative Results
The interview and the usability study found core issues that resulted in a negative experience and an inability to learn how to send metrics. These issues can be grouped under the following categories
The interview and the usability study found core issues that resulted in a negative experience and an inability to learn how to send metrics. These issues can be grouped under the following categories
Different Documentation Pages
Different Documentation Pages
Incorrect and Incomplete
Incorrect and Incomplete
Too Much Information
Too Much Information
Navigation Index
Navigation Index
Quantitative Results
Quantitative Results
The Questionnaire’s enabled conversion of qualitative properties like trust and brand value into quantitative results which could be used to compare the participant’s experience between stripe and Anomify and set a baseline for future documentation prototypes.
This questionnaire involved a 10-point scale where 10 would be the highest score and 1 would be the least.
A modified System Usability scale was also used to visualize how developers felt about the usability of the documentation
The Questionnaire’s enabled conversion of qualitative properties like trust and brand value into quantitative results which could be used to compare the participant’s experience between stripe and Anomify and set a baseline for future documentation prototypes.
This questionnaire involved a 10-point scale where 10 would be the highest score and 1 would be the least.
A modified System Usability scale was also used to visualize how developers felt about the usability of the documentation
Prototypes
Prototypes
" The solution of a design problem is a negotiation of a constantly changing constraint field "
High Fidelity prototypes were created using the same markup language (MKDocs) that the developers of Anomify used to create their documentation. This was chosen over Figma or Sketch because:
1. Learning MKDocs would bring light to feasibility and constraints of what can be designed.
2. It would also allow high fidelity prototypes to be shared with developers easily who could then host it for validation testing in a matter of minutes.
3. Because of my background in Software Engineering , creating functional iterations and prototypes was extremely fast and easy compared to the usual pipeline of sharing design files with developers, who would then need to convert it to markup code.
" The solution of a design problem is a negotiation of a constantly changing constraint field "
High Fidelity prototypes were created using the same markup language (MKDocs) that the developers of Anomify used to create their documentation. This was chosen over Figma or Sketch because:
1. Learning MKDocs would bring light to feasibility and constraints of what can be designed.
2. It would also allow high fidelity prototypes to be shared with developers easily who could then host it for validation testing in a matter of minutes.
3. Because of my background in Software Engineering , creating functional iterations and prototypes was extremely fast and easy compared to the usual pipeline of sharing design files with developers, who would then need to convert it to markup code.


Unifying the different documentation Pages
Unifying the different documentation Pages
Support Docs and API Docs were combined into one documentation, but each represented a different section. Support docs was represented by “Getting Started” whereas “API Docs” was represented by API Resources. Taxonomoy of the API Docs navigation was also changed to make the API resources navigation more understandable
Support Docs and API Docs were combined into one documentation, but each represented a different section. Support docs was represented by “Getting Started” whereas “API Docs” was represented by API Resources. Taxonomoy of the API Docs navigation was also changed to make the API resources navigation more understandable
Defining a clear structure for API documentation
Defining a clear structure for API documentation
A clear and consistent structure was defined for all API documentations so that developers could familiarize themselves with the documentation and know where to find the required information.
A clear and consistent structure was defined for all API documentations so that developers could familiarize themselves with the documentation and know where to find the required information.




Highlighting important API characteristics
Highlighting important API characteristics
The documentation was designed to be easier to scan through by highlighting important terms and API characteristics
The documentation was designed to be easier to scan through by highlighting important terms and API characteristics
Improving Code Examples
Improving Code Examples




Adding Use Cases
Adding Use Cases
Condensing information into Tables
Condensing information into Tables




Adding Hyperlinks
Adding Hyperlinks
Validation Testing
Validation Testing
The Same User Tests that were carried out in the define phase were used in the validation testing with a new set of participants. The prototype provides a solution to the problems identified in the usability testing. However, there are some issues with the prototype that were found which must be addressed
The Same User Tests that were carried out in the define phase were used in the validation testing with a new set of participants. The prototype provides a solution to the problems identified in the usability testing. However, there are some issues with the prototype that were found which must be addressed
Easier to Understand
Easier to Understand
Useful Features
Useful Features
Better impressions of trust and brand value
Better impressions of trust and brand value
MKDocs Navigation problem
MKDocs Navigation problem
Issues finding the right documentation page
Issues finding the right documentation page
Participants got confused with the taxonomy
Participants got confused with the taxonomy