Over on his blog, my good friend and colleague Ben has written a good post about bugtrackers. He is essentially complaining that there are currently none available that are good for both developers and end users.
In both cases however, the core functionality of what a bugtracker actually does – a prioritised and editable todo list – works perfectly.
The problem is interface.
How do we create one that is useful to both developers (who need quite detailed settings) and end users (who need a simple interface and in many cases need a certain amount of hand holding in order to fill in a report which is useful to the developer)?
Thinking back to my usage of both Bugzilla and Trac – the answer is that we don’t.
Let me explain: I have used both Bugzilla and Trac in anguish on large projects for many many years, but I have hardly ever used the default interface – currently I use the excellent Mylyn (nee Mylar) for Eclipse. For me a bugtracker is a central todo list accessible from anywhere – combined with a central svn repo it becomes possible for me to continue to do work anywhere there is a computer and internet connection… invaluable if you spend any amount of time travelling.
It seems to me that a good approach would be to have the bug tracker entirely API driven (more so than it is now – which in many cases is a later bolt on), that way it would be possible to provide a variety of expert interfaces for developers and a simplified interface for end users – rather than having one interface try and do it all.
This interface should hold peoples hand and ask specific targeted questions to encourage non-programmers to provide reports which will be useful to developers.
Tagging (and tag clustering) could be a useful technique to then group issues together – making it easy to find related issues and to spot duplicates.
Building on some social technology to establish relationships between issues, comment around them and attach files and other media could also be useful.
If the underlining engine is the same this shouldn’t involve too much in the way of work duplication, but will allow for tighter integration with the tools and workflow people actually use.