Hi all, as announced in the chat, I published the notes I took during recent interviews here: https://codeberg.org/forgejo/user-research/src/branch/main/interviews/2024-04
I recommend everyone to read some minutes, especially the accessibility posts. Filenames try to categorize subjectively to indicate points of interests during the session.
How can we move on? How can we ensure the learnings find their way and actually improve Forgejo?
My proposal:
- more people in the User Research team are welcome, it might be renamed to "UX" to widen the scope a little bit
- as described here forgejo/governance#104 (comment), I propose to update the "User Research" labels to classify areas of interest, e.g. code review, exploring for external users, etc.
- a label "User Research - Needs Feedback" is introduced to indicate that an issue or PR is waiting for feedback
- the UX "team" is trying to provide insights or work on a plan on how to test the proposal
- existing issues are sorted according to their expected gain w.r.t usability. I recommend the following scores:
- very high gain: Forgejo core team is encouraged to work on this with higher priority
- high gain: Really good to have this improvement, interested contributors are encouraged to pick this.
- low gain: questionable gain. Patches are still accepted if someone wants to work on this, but contributors are discouraged to pick this issue.
- very low gain: The issue is closed and sending a patch for this feature should be discussed first, because maintenance burden might not be worth the effort; or because adding "one more button" could be "one more step to mess" 1
- new feature requests should go through some research, and are categorized
- if a feature has a wide scope (e.g. "dashboard redesign"), the designs are discussed somewhere else and actionable issues are then returned to the forgejo repository
This workflow will of course be hard to establish, require more people doing the UX/UI/User Research work. Nonetheless, I am motivated. The most important steps, in my opinion, are to have a distinction between issues that are "confirmed / backed" by user research and give them a higher priority in Forgejo.
And I do believe that user testing can help spot problems in the design phase of a feature, either by testing simple mockups (e.g. static html pages) or testing a pull request that is still pending review on the code level, tests etc. A new workflow for contributions with user testing could be:
- a PR is opened, no tests yet, not reviewed yet
- it is decided to do user testing
- technical code review is postponed
- the patch is deployed to a Codeberg or Forgejo test instance, prefilled with relevant data to test the change
- users are observed while interacting with the new feature, and the feedback is implemented in the PR
- once some iterations have been made, the normal PR workflow (technical review, improvements, tests etc) is continued
All of this also needs some better tooling or automation. For example, instead of having researches do live sessions, people could
- open a website ("ux.forgejo.org")
- start a screenshare (which is recorded in the backend)
- perform their steps (with a short and precise instruction what should be done)
- they review the recording and submit it if they agree
- Forgejo User Researches review the recordings, take notes, and destroy them afterwards
-
This could be automated with a nice message explaining the reasoning for this behaviour. As soon as the label is added, a bot explains what this means and closes the issue. ↩︎
Hi all, as announced in the chat, I published the notes I took during recent interviews here: https://codeberg.org/forgejo/user-research/src/branch/main/interviews/2024-04
I recommend everyone to read some minutes, especially the accessibility posts. Filenames try to categorize subjectively to indicate points of interests during the session.
How can we move on? How can we ensure the learnings find their way and actually improve Forgejo?
My proposal:
- more people in the User Research team are welcome, it might be renamed to "UX" to widen the scope a little bit
- as described here https://codeberg.org/forgejo/governance/issues/104#issuecomment-1741929, I propose to update the "User Research" labels to classify areas of interest, e.g. code review, exploring for external users, etc.
- a label "User Research - Needs Feedback" is introduced to indicate that an issue or PR is waiting for feedback
- the UX "team" is trying to provide insights or work on a plan on how to test the proposal
- existing issues are sorted according to their expected gain w.r.t usability. I recommend the following scores:
- very high gain: Forgejo core team is encouraged to work on this with higher priority
- high gain: Really good to have this improvement, interested contributors are encouraged to pick this.
- low gain: questionable gain. Patches are still accepted if someone wants to work on this, but contributors are discouraged to pick this issue.
- very low gain: The issue is closed and sending a patch for this feature should be discussed first, because maintenance burden might not be worth the effort; or because adding "one more button" could be "one more step to mess" [^1]
- new feature requests should go through some research, and are categorized
- if a feature has a wide scope (e.g. "dashboard redesign"), the designs are discussed somewhere else and actionable issues are then returned to the forgejo repository
[^1]: This could be automated with a nice message explaining the reasoning for this behaviour. As soon as the label is added, a bot explains what this means and closes the issue.
This workflow will of course be hard to establish, require more people doing the UX/UI/User Research work. Nonetheless, I am motivated. The most important steps, in my opinion, are to have a distinction between issues that are "confirmed / backed" by user research and give them a higher priority in Forgejo.
And I do believe that user testing can help spot problems in the design phase of a feature, either by testing simple mockups (e.g. static html pages) or testing a pull request that is still pending review on the code level, tests etc. A new workflow for contributions with user testing could be:
- a PR is opened, no tests yet, not reviewed yet
- it is decided to do user testing
- technical code review is postponed
- the patch is deployed to a Codeberg or Forgejo test instance, prefilled with relevant data to test the change
- users are observed while interacting with the new feature, and the feedback is implemented in the PR
- once some iterations have been made, the normal PR workflow (technical review, improvements, tests etc) is continued
All of this also needs some better tooling or automation. For example, instead of having researches do live sessions, people could
- open a website ("ux.forgejo.org")
- start a screenshare (which is recorded in the backend)
- perform their steps (with a short and precise instruction what should be done)
- they review the recording and submit it if they agree
- Forgejo User Researches review the recordings, take notes, and destroy them afterwards