2007-06-28

Stand-alone bugtracking...

Recently an interesting thought crossed my mind (and this is very seldom).

While developing on Windows (where I have no webserver running) I thought: "I've just found 4 Bugs in my application, if I don't write them down now I'll forget at least two of them before I'll have the chance to fix them." The Problem was however, that I do not have a any bug-tracking software available and I'm not willing to install apache and mysql just for a seldom used bug-tracking application. So I went looking for an "off line and stand-alone bug tracking software" just to find nothing.

But why? Is this an irrelevant scenario for bug tracking as this is normally a task which is spread among a lot of people (the reporters and the poor-pals who have to fix this)?

In my opinion it is not, as there will be a lot of people who are developing small software which still could profit from a small bug-tracking solution. First of all, those like me who do not want to install a web-server and second, this bug tracking software could easily be integrated into other software, I'm thinking here of the following two scenarios:

  1. The Main-Method has one big try-catch block which then passes the uncaught exception to the local bug-tracker. The bug-tracker then files this exception in automatically so that no possible error will be missed.
  2. This one would be even nicer but I do not know if this is possible. However, the local-bug-tracker would introduce Assembly wide attributes like [BuggyProject("name", "MyComponent")] now if we run our project we attach a custom profiler which is just waiting for an exception to arise, this exception is then being passed over to our bug-tracking software and filed in as usual. The beauty of this version is that additional attributes like [BuggyCustomTracker("http://mytracker.com", "bugzilla3.0")] could allow developers to easily integrate automatic bug-reporting, if they provide a Web-API.
    If someone has any idea how to implement such a profiler or anything that will do the job, please drop me a note, because this thing is really tickling me.
What could also sweeten up the life of a developer a little bit is integration of the bug-tracking software into the IDE but this is nothing new, although it is still missing in MonoDevelop.

6 comments:

Michael Trausch said...

Personally, I have only seen things like what you're talking about used (and usually custom-developed) within major corporations. In places where I used to work, ticket tracking systems were employed for such purposes.

I have often thought about creating something similar (perhaps implemented on top of something like SQLite) for similar purposes. You might want to check out GNATS, though as a possible solution for your problem. You may or may not be able to integrate it easily into something like MonoDevelop, I don't know. I do know that it is used by many projects, including the FreeBSD project, but it doesn't have to be used on such large scales from what I have read.

Enver ALTIN said...

Recently it dawned on me that, we have distributed SCMs but we don't have any distributed task tracking system, I think I'll work on this sometime soon.

Also, you may want to look at Mylyn project of Eclipse, which can retrieve task lists from Trac and Bugzilla and it lets you do some things offline.

-HTH

knocte said...

Two things that don't help very much but are somewhat related to this post:

1) It's possible that we see Bugzilla written in other language in the future. It would be nice if that language was Mono-based. To help this effort, write contributions on WMO please (look at the 'discussion' link where I already created a Mono section, hopefully it will get on the core page).

2) There is already a Webservice API for Bugzilla which would be useful here for integrating it with IDE's or BugReporting tools that catch generic exceptions on programs.

Iñigo said...

I have been thinking of integrating bug tracking into MonoDevelop for some time, and make a backend for Bugzilla, but I hadn't have many time for working on it. Maybe now that summer approaches, I can have some time for working on it.

Jim said...

"I'm not willing to install apache and mysql just for a seldom used bug-tracking application."

JumpBox has a VMWare appliance with Trac/Subversion.
http://www.jumpbox.com/tracsubversion-development-jumpbox/

You still have apache and mysql, but they are isolated on a VM. JumpBox has a nice install -- see the Junpbox video ("screencast tour").

http://www.jumpbox.com/about

Off topic, but to avoid performance hit VM could be run from USB flash drive.

Downside: not integrated into the IDE.

Fyodor said...

Artifacts is a standalone bug-tracker integrated into IDE. Could also be used in distributed scenario. Isn't it what you were looking for?