GitHub Pull Request Usability Study
Helping developers collaborate better
Overview
In collaboration with GitHub, my team and I conducted a usability study to evaluate the effectiveness and intuitiveness of their recently updated Pull Request interface, with a focus on the newly introduced UI enhancements. The study aimed to assess experienced GitHub users' learning curve, their ability to efficiently navigate the platform and complete code review tasks, and to gather valuable feedback for improving the overall developer experience.
Role
Primary Point of Contact
Usability Analyst
User Researcher
Methods
A/B Testing (remote)
System Usability Scores (SUS)
Duration
10 Weeks (Jan.2024 - Mar.2024)
Tools
Figma
Zoom
Microsoft Excel
Problem
To ensure a smooth transition for existing users, GitHub recognized the importance of testing the usability and learning curve of their upcoming updated Pull Request feature.
But firstly,
What is a “Pull Request”?
This study primarily focused on evaluating the ease of use and adaptability of the new feature for current GitHub users, aiming to identify potential challenges and gather insights to refine the user experience before the official release.
To thoroughly evaluate the usability of the updated Pull Request feature, the study aimed to address the following:
(Hover to reveal)
Methods and Procedures
To gain unbiased insights we split our participant pool into two categories during the study:
Condition 1:
Explored the existing UI first and then went to the new UI
I was the primary point of contact with the GitHub Client and was responsible for ensuring timely progress reporting at designated intervals. I also played a major role in moderating the interviews and data analysis.
Challenges in Study Design and Iteration
1.
2.
Time on Tasks
Think aloud
Creating a “realistic” GitHub Repository
Qualitative Data
Overview - Quantitative
How?
Remote A/B Testing (within-subject design)
Predefined tasks
Post-test questionnaire (SUS)
System Usability Scale Condition breakdown
Data Analysis
We performed insight analysis based on the user feedback and observations during the test. We then coded the data and came up with high-, medium-, and low-priority findings.
High Priority Insights
Finding and posting a comment
3/6
Participants faced difficulties in locating the comment widget in the new UI:
On larger screens, the visibility of comments becomes compromised, affecting usability
Avatar colors were camouflaging with the background green, contributing to the difficulty in locating the option to post a comment
Recommendation:
Maintain comments on the left side of the interface for intuitive commenting
Consider flexibility for the user in how the comment box is viewed.
Ensure high contrast between avatars and background colors to enhance accessibility.
Resolving a comment
4/6
Participants found it difficult to resolve comments:
Although, it utilizes a clear and well-labeled button for comment resolution, the button color being gray potentially indicates disabled functionality
Quantitative Data
To quantify our data, I also measured the SUS scores of the participants in both conditions and compared the scores to understand the learnability.
Findings and Recommendations
“I’d like it if I can add the comments from this side (left side) and not that very end, having it this side (left side) is so much easier” - Participant 2
Existing UI
New UI
“I think this is the button, but I expected to see the the resolve button somewhere under the comment” - Participant 3
(Hover to reveal)
What? (Data)
Task errors
Task completion
Participant feedback
System Usability Scale (SUS) scores
Condition 2:
Explored the new UI first and then went to the existing UI
Initially, our intention was to include time-on-task measurement as a success metric. However, due to the existing users' familiarity with the current UI, making comparisons with the new UI proved impractical. As an alternative, we implemented a think aloud approach during testing.
Given that our participants were software developers, it was imperative to recreate a "realistic" environment akin to their daily experiences. Consequently, I created multiple repositories with diverse code branches to mirror this environment accurately.
6 Software developers (SD)
3+ years of SD experience
+1 years of GitHub experience
Who?
Recommendation:
Enhance visibility by using a distinct color (like green) for the resolve button/icon to indicate its active state and improve user engagement
Maintaining text in the button to assist users in understanding the functionality of each interface element
Effective Reminder Communication is important.
Medium and Low Priority Insights
Existing UI
New UI
Appreciation for Merge Status Visibility.
Users valued the clear visibility of the merge status.
Contrast Challenges in Light and Dark Modes.
Issues with visibility and usability varied between light and dark modes.
Learnings and Reflections
Discoverability Issues for Suggestion Feature.
Users had trouble locating the suggestion feature when prompted.
Effective reminder communication is essential for reducing no-shows. Emphasizing the necessity of sending frequent reminder emails can significantly minimize absenteeism. Additionally, developing a robust communication strategy is crucial for enhancing participant engagement and ensuring better attendance.
The Significance of Anticipation and Flexibility in Research
The importance of anticipation and flexibility in approach is a key learning. From the outset, it is essential to incorporate crucial variables and proactively identify potential challenges to refine the study design. Remaining open to pivoting strategies based on emerging insights and challenges ensures a more adaptable and effective study process.
The Importance of Transparent Collaboration with Client
Clear collaboration with the client proved to be crucial. By constantly keeping the client in the loop, we were able to navigate the study smoothly. Working closely with the GitHub Pull Request team allowed us to better understand the complexity of the project, enabling us to develop a comprehensive and detailed study plan.
Product Context is crucial
Understanding the product context proved to be pivotal during our work on the GitHub software. Prioritizing comprehension of the pull request feature's intricacies and its various contexts was essential. Therefore, we invested time in familiarizing ourselves with the interface, a step that proved invaluable throughout the study.
View more while you are still here:
UX Research | Qualitative Analysis | Interviews | Observational Studies
Understanding educators’ perspectives on the role of LLMs in academic settings.
UX Research | User Interviews | Surveys | Mobile UI
To explore how generative AI tools can be integrated into the YT Shorts creation workflow to enhance, not replace, the human creative process.