Thoughts on improving arbits usability
This documents aims to improve the user experience with the arbit GUI. This document should not need to care about possible implementation issue inside arbit, but remember common limitations of WEB UIs - especially arbit should stay usable and user friendly even without active scripting. Though the user experince might be enhanced when using scripting in the Web UI.
Tasks
The first task, when thinking about better user experience, is to check which kind of roles are typical for an application and explore their typical workflows. Typical roles with their most common workflows are listed below, each with a short characterization of the role and the typical associated workflows.
Random bug reporter
A typical project users, who finds one or two bugs a year, and just wants to report the quickly.
-
Report a bug
-
Maybe: Search existing bugs
-
Project evaluator
Somebody who thinks about using the project for its own purpose and want to get a quick overview on the projects status and maybe the most serious issues of the project.
-
View general project state
Project developer
Project developers are often dedicated at some special part of the project and want to manager "their" bugs.
-
Get overview of new bugs
-
Mark the state of an available/appended patch to the bug. Bugs with an appended patch should be marked and filterable as such.
-
Savable, filtered View of issues
-
Implementation of bugzillas protocol for accessing issues inside of an IDE
-
Integrated in their working environment (feeds)
-
Provide direct links for actions like adding a comment in notifications
-
-
-
Get overview on assigned bugs
-
State of their bugs on roadmap / due dates
-
-
View and apply patches using the arbit interface
-
Take appended patches and apply them to the last VCS revision to show the highlighted difference.
-
After showing the diff it should be possible to apply the patch directly to the vcs. (VCSWrapper needs to be heavily extended for this)
-
Project manager
The project manager needs to coordinate the development and releases. He needs to maintain a general overview on the project and might be required to manage lots of bugs.
-
View general project state
-
Manage bunches of issues at one time
-
Reporting of failures, critical incidents