"New project" wizard flow: Discovery
Problem to solve
Started a few months ago in https://gitlab.com/gitlab-org/gitlab-ce/issues/35234, there is an opportunity to rethink the current flow for creating new GitLab projects.
Besides specific improvements that are planned in parallel in the parent Epic, we should invest into discovering potential improvements to the "New projects" page flow.
Further details
One initial idea was a wizard-like experience, which has pros and cons. In https://gitlab.com/gitlab-org/gitlab-ce/issues/38895 we user tested the previous version vs. tabs vs. wizard — the recommendation was to iterate on the wizard version. There definitely are things to improve regarding consistency of the existing tab contents.
Consider adding advanced options to this flow as described in gitlab-org/gitlab-ce#40803
Previous Wizard draft
1. Start | 2. Blank | 2. Blank (edit project handle) | Import | Template (Ruby on Rails) |
---|---|---|---|---|
Notes
Notes from other issues.
Results showed the tabbed design did not hinder discoverability although users were still overwhelmed by the options available on the 'Blank Project' tab hence the lower accuracy and speed. If we could iterate on / simplify the 'Blank Project' tab, the design could be a good interim solution.
The wizard flow faired best in both tasks.
We should iterate towards a wizard flow.
gitlab-org/gitlab-ce#38895
Results of the original UX research
Solution
New project screen | With advanced options expanded | Vision |
---|---|---|
With this, we add the ability to add an avatar, a license, edit the description and enable/disable project features in the expandable section at the bottom. We're keeping the tabs on top for now.
Based on the user journey mapping I did, this will improve the flow for users that want to set up most project settings all in one place.
I see this as a transitional step towards the vision that @jeremy described. Users are able to change most project related settings in one screen (new project screen) and don't need to navigate through 10 pages. In the future, this could possibly all be done on the actual project overview page. Let's leave that to the future exploration.
Changes required:
- introduce an expandable section
- add the option to add an avatar to the expandable section
- add an option to add a license to the expandable section
- add the 'features settings' to the expandable section
- move 'description' to the expandable section
- we keep the tabs for now
- we don't separate the import option from new yet
- change the description on the left (removed two paragraphs)
- remove the 'Cancel' button. It only goes back to the previous page in the browser, the user is more likely to use the browser's button to do that.
- add a '/' between namespace and project slug
Clicking on the 'add a license' dropdown should open the 'apply a license' dropdown, similarly to the new file license template selection:
Next steps
- implement the MVC
- enable analytics so we can keep track of the usage of this page
- run a test to see if separating 'create a new project' and 'import a project (repository)' aligns well with the mental model of our users.
What does success look like, and how can we measure that?
(If no way to measure success, link to an issue that will implement a way to measure this)
Let's run a test to quantify the user experience of creating a project.
Task: create a new public project, add an avatar, add a license, add a description and disable Wiki and Snippets features.
Run the task with 5 people and ask them to rate the difficulty of the task from 1-5. Run the test with what we have live to establish a baseline. Once we have the new implementation ready, we can redo the same test but with the new flow and compare the difference in the average difficulty rating.