Git Assist

Welcome to the open source world.

Team 8 - Brandon Apana, Weiyu Guan, Ziyun Yang

But...

It is a difficult and time-consuming task to find a proper open source project to work on.

Image of stressed worker

Research Methods

So.. How did we develop a better way?

GitHub Explore Logo

Competitor Analysis

In order to better understand how our product could successfully reach the market, we analyzed potential competitors to our product and their strengths/weaknesses.

Affinity Diagram

User Research and Personas

We conducted 9 30 minute interviews with potential users within our target audience in order to distill 3 personas that describe what different types of users want to see in our product. We performed thematic analysis in the form of affinity diagramming in to inform these personas.

Initial Wireframe

User Stories and Wireframes

From our personas, we generated a set of 23 user stories (requirements in the form of “as an A I want to be able to B in order to C”) that cover the primary functionalities of our product. Using these as a basis, we created an interactive low-fidelity wireframe that satisfies each user story.

Research Methods

So.. How did we develop a better way?

Updated Wireframe

User Evaluation Wireframe Iteration

We performed a total of 6 user evaluations where we asked users to perform tasks using our interactive low-fidelity prototype, and distilled a list of the most important issues found. We then fixed these issues in a new wireframe iteration.

High-Fidelity Prototype

Heuristic Evaluation High-Fidelity Prototype

We then created a high-fidelity model based on our wireframe on which we performed heuristic analysis. We created a large list of potential heuristic issues of varying severity, and distilled a small list of the most urgent problems. We then fixed these problems in order to create the final version.

Competitor Analysis

GitHub Explore

GitHub Explore

A great place for finding projects similar to those you've contributed to. But for users with no contribution history or a desire to try something new? Not very helpful.

Advisor

Ask for Help from an Advisor

Advisors (if available) can provide great recommendations, but it is largely dependent on how well they know you. Finding the time to spend planning and attending an advisement session can also be difficult.

Random visit internet

Search the Internet for Recommendations

Can provide a wealth of information on projects, but it is hard to validate claims made by strangers on the internet. Many of these claims are contradictory as well, and don't take into account the personal experiences and preferences of the user.

User Research

Users and their motivations for interacting with open source projects are highly varied, but there are a surprising amount of recurring themes we found in our user interviews. Pictured is our affinity diagram.

User Thematic Findings

Many programmers feel that engaging with open source software is too time consuming.

Programmers largely feel that documentation quality is extremely important in choosing an open source project to engage with.

Many programmers want to participate in open source projects, but have difficulties in knowing where to begin.

People depend on search engines, technical blogs and people around them to find proper projects.

Personas

Jake's persona
Ivy's persona
Anthony's persona

Initial Wireframe

We will use the recommendation page as an example of our design iteration. This is our initial concept. Click the image to view the full wireframe.

Updated Wireframe

Based on user feedback, we made the navigation bar show where the user currently is and hid the link GitHub button within the profile settings menu. Click the image to view the full wireframe.

Other Addressed User Evaluation Findings

  • The login page’s register button implied it could be used to register the currently input username and password, when it really took users to a separate registration screen.
  • The project detail page contained too much information in a small space, and could be overwhelming.
  • The project detail page contained some information/features that are unclear, or positioned in a way that was hard to find when scanning the page.

Initial High-Fidelity Protoype

This is the high-fidelity version of our updated wireframe, closer now to a true website design. Click the image to view the full wireframe.

Final High-Fidelity Prototype

Based on heuristic analysis, we added a "logged in as" section to the navigation bar in order to increase visiblity of system status. Click the image to view the full wireframe.

Other Addressed Heuristic Evaluation Findings

  • In order to prevent accidental clicks, there should be a confirmation dialog before deleting the account from the profile settings.
  • Users should be allowed to back out of the settings page without saving to easily recover from mistakes.
  • Users should be able to quickly clear all the search options for more efficient use.
  • A visible scrollbar should be added to search results in order to make the functionality immediately obvious.

Reflections

  • The results of our user research challenged many of our beliefs about what users want, and relying on our findings instead of our feelings was crucial in creating a good product.
  • When creating our wireframe, it was easy to become complacent with our design choices and both the user and heuristic evaluations helped to bring to light several issues that we initially missed.
  • We are quite satisifed with our "final" product, but know that many iterations would be in store for a real system. We have a newfound respect for the amount of work that goes into making a great interface, and how important it is to continuously involve user input in the design (and redesign) process.

Acknowledgements

  • Thank you to Professor Matt Bietz and TAs Agnes Romhanyi and Dennis Wang for amazing feedback and instruction throughout the project cycle.
  • Thank you to our anonymous participants in both the user interviews and user evaluations phases of the project. Their input was invaluable in creating the best product possible.
  • Plugins fullPage.js, less, and Bootstrap which were used to help build this case study.