GitHub Usability

Evaluating the usability of GitHub's new Pull Request experience through a comprehensive remote study

Brief

Evaluate the effectiveness and user-friendliness of GitHub's new Pull Request experience, focusing on recently introduced UI enhancements.

Result

Assessed the learning curve and success of experienced GitHub users in completing code review tasks efficiently using new UI. Shared recommendations with GitHub.

My Role

This is a research project where I wore the following hats:

  • User Experience (UX) Researcher
  • Data Analyst
Tools

Usability Testing | Remote A/B Testing, Pre-Test, Post-Test, and System Usability Score (SUS) Questionnaires

Data Analysis | Excel

Visualization | Figma

Time & Team

Timeline | March '24 - June '24

Team | 2 moderators, 1 product designer, 1 PM

Context

GitHub's Pull Request feature is fundamental to how teams review and improve code on GitHub.

To start a new feature or propose a change to existing code developers use a pull request which acts a base for a team to coordinate details and refine changes.

As GitHub introduces new UI elements and interaction patterns, it is essential to evaluate the usability and effectiveness of these changes.

Changes to an expected experience may inadvertently create usability hurdles, leading to confusion, reduced productivity, and user frustration. And assessing the impact of these changes will ensure a smooth transition to the updated experience.

Usability Study Plan

This study will examine how effectively existing users can complete essential tasks within the updated UI.

By conducting a comprehensive usability study, GitHub aims to gain insights into the strengths and weaknesses of the new Pull Request interface.

Additionally, the study will explore user attitudes towards the new interface, unveiling potential pain points, usability bottlenecks, and areas where the design may fall short in meeting user expectations or aligning with established mental models.

By identifying these usability challenges and gathering user feedback, GitHub can make informed decisions to refine the Pull Request experience, ensuring a seamless and productive workflow for developers.

Research Qs

1. Can users complete tasks as successfully with the new UI as the existing UI?

2. What are users' attitudes towards the new UI?

User Personas

The primary focus of the study is on existing users of GitHub who use the platform frequently for version control and collaboration.

Methods

A/B testing in a remote environment, participants played the roles of both the code author and code reviewer in a within-subjects design.

Environment

1
Remote A/B Testing

The testing will use a remote A/B testing approach. Participants will perform predefined tasks using both, current and new UIs under the observation of a moderator and an analyst.

2
Post-Task Feedback

After completing the tasks in each scenario, participants will provide open-ended feedback, insights, and any challenges encountered to inform the evaluation process.

3
System Usability Score Survey

A participants will complete the SUS questionnaire. This will help gather quantitative data on participants' perceptions of usability, effectiveness, and learnability of both UIs.

Scenario 1: Code author tasks

Finding a comment
Resolving a comment
Seeing who reviewed your PR
Checking merge status

Scenario 2: Code reviewer tasks

Posting a comment
Posting a reply
Suggesting changes

Data Analysis

We recorded each session to capture participants' live interactions with the interface, to aid analysis and gain valuable insights. Post-test, semi-structured interviews enhanced our understanding of user experience.

The measures used collected both quantitative and qualitative data.

Data Collected

We focused on collecting both quantitative and qualitative data from our participants.

Results Overview

All participants completed every task successfully, however, some tasks proved to be more challenging and error-prone than others.

Task completion rate
100%

While all participants finished the tasks in both the old and new UI, a few attempts were made for tasks in the new UI.

System usability Score
67/100

The System Usability Scale (SUS) scores showed clear differences between the existing and new UIs, with the existing UI scoring higher at 77 compared to the new UI's 67.

High Priority Findings + Recommendations

2 key discoveries and actionable recommendations

Exisitng UI
New UI
Finding #1

Finding and posting a comment

50% users faced difficulties locating the comment widget in the new UI.

The position of the comment widget moved from the extreme left (existing UI) to the extreme right (new UI) causing pause and confusion in users.

Additionally, a lack of contrast between the avatar and the background when in light mode raised visibility issues for the comment widget.

Recommendations

1
Improve Contrast of Widget

Enhance the visibility of the comment widget by adjusting contrast of avatar colors

2
Comment Widget Prominence

Improve discoverability of the comment widget by positioning the option more prominently

3
Maintain Familiar Position

To maintain user familiarity retain the comment widget on the left side as in the existing UI

Exisitng UI
New UI
Finding #2

Resolving a comment

67% users faced difficulties resolving a comment in the new UI.

The resolve icon is gray in color and seems "unintuitive" and "disabled" to users. The tooltip on hover that says 'Resolve conversation' helps.

Recommendations

1
Color To Indicate Active State

Enhance visibility by using a distinct color (like green) for the resolve icon to indicate its active state

2
Text Button Solves Guessing

Maintaining text in the button can assist users in understanding the functionality of each interface element

Last thoughts

Key Challenge

Building domain expertise in GitHub's ecosystem through extensive platform analysis and developer workflow research before conducting a comprehensive usability study.

Core Learning

Context-switching between researcher and analyst roles revealed the importance of robust data collection protocols in remote studies.

Project Impact

Delivered 20+ actionable insights in a prioritized matrix and 3 key recommendations that informed GitHub's UI roadmap.

Next Steps

Future rounds of usability can extend research to diverse development environments - from startups to enterprises - to understand varying collaboration needs.