1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Bugtracker Interface Concept

From picket

Jump to: navigation, search

Contents

Backgrounds

The most popular bug trackers (Bugzilla, Trac, Mantis) do not provide a comfortable interface.

Their interfaces are evidently utilitarian and do not adapted for usage by unskilled users or for usage in dynamic «intuitive» style in the situation of «feverish haste» or really short time-frames.

The review of disadvantages of the existing bug trackers is not the aim of this document. However, some interesting, comfortable and useful interface solutions is taken into consideration in this document.

Requirements for good bug tracker interface

  • The interface must be clear for unskilled user.
  • The interfaces of users with different responsibilities (managers, executives, reporters) must be adapted for their specific tasks.
  • The interface must not restrict the usage of the bug tracker for one specific bug life cycle or usage pattern.
  • The interface should not depend on specific bug tracker architecture.

Notations

Let's introduce the principal definitions.

Workspace

is the set of the bug tracker interface elements, adapted to specific tasks, running by specific user.

Bug status

is the stack of specific values or range of values of the several bug properties.

Sample

is the set of bugs in specific state.

User action

is the switch one bug or several bugs from one state to another by user.

Action scenarios

Let's define the scenarios, not depended on interaction with specific bug tracker , i.e. the universal scenarios of the user actions.

Bug creation

There are three cases to create a bug:

  • unskilled user creates the single bug that contains small information quantity;
  • skilled user creates a clear report of single bug, by rules, including a bunch of the required information;
  • responsive user reports a list of bugs in the line of her duty, including most of the required information.

Sample view

User of the bug tracker usually checks her own rarely changed set of the samples.

Bug view

User needs to see full text of the bug in next cases:

  • for the purpose of initial familiarizing;
  • for the purpose of recall some details about bug in memory;
  • in the process of the decision-making just before action implementation.

And also users turn into full bug description for the purpose of access to attendant information:

  • for view or update some comments to bug;
  • for view or alteration specific bug connections with other bugs;
  • for downloading or uploading attached files;
  • for view actions history related to bug.

It should be noted, that in last cases list user have to open the page with full bug information. Thus, user is forced to do it by the bug tracker interface.

Action implementation

As a rule user acts over bugs in the process of the revision of some bug sample. In such revision user decides how to change a status for each bug.

At that time, the set of states that bug could transform to from specific sample is changing rarely and is restricted to several (from two to four usually) number of them.

Scenarios diagrams

Let's show some use cases diagrams.

Diagram 1: «Standard variations scenarios of work example»

Image:Bugtracker Interface Diagram 1.png

Wireframes

Wireframe 1

Image:Bugtracker Interface Wireframe 1.png

Above-listed principles are expressed on the Wireframe 1: actions realize via bug dragging from one state to another, the workspace is defined by central field, which represents input bugs stream, upper and bottom fields represent states in which bugs can be switched.

This approach gives possibility to manage user permissions in the way of restricting or allowing switching bugs form one state to another. Thus, one can manage the specific user actions which she is responsible to, instead of restricting or allowing the atomic operations like category changing, status changing, etc.

Thanks to sweeping generalization of the «state» concept this approach allows to implement not only simple bug parameters changing but it allows to implement more complicated patterns.

So, there is the block «To milestone 5 (childs of  bug#23)» at the left bottom of Wireframe 1 which implements logic of connection a few bugs as childs to one that represents some milestone. Dragging out a bug or a few bugs into this block will result in making connection of these bugs to bug#23. Additionally status of these bugs will be set to “confirmed” as this block requires it.

Picket

We intend to using this wireframe as the base for the interface of the Picket Bugtracker.

Personal tools