Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer

Friday, June 25, 2010

Better than a pie chart

The bugs page for projects on Launchpad used to have a really ugly pie chart on them. It was a strange little graph,  useful because it helped you feel like you were making progress as you pushed bugs from New to Triaged to In-progress to Fix Committed and then off the chart completely with Fix Released.

Pie charts suck though. They use two dimensions to represent one dimension of data, and they are always 100% full. In the case of bugs, there was no way to tell from the pie chart whether there were more or fewer bugs than last week.

Inspired by some sketches from mpt, I decided to implement what I think would be a nice graph to have on Launchpad, but to do so using the webservice API. I've put some code up on lp:everyday, and there's an example of the graph for the whole Launchpad project.

The code works by sucking down all of the bug tasks associated with a project over the API, then storing them in a desktopcouch database, then using that to generate some timeline data. The graph is made using flot, which is excellent.

For those of you who care about Launchpad API details, I've recently added a parameter to searchTasks called modified_since that lets you fetch only bug tasks for bugs that have changed since a particular date. It makes syncing so much faster.

3 comments:

Gary van der Merwe said...

How do you zoom out once you have zoomed in? (I end up reloading the page each time I zoom out...)

Looks good otherwise. I'm going to install it so I can look at qbzr's bugs.

jml said...

Use the graph at the bottom.

mdzlog said...

Thanks for modified_since. I was trying to do something similar last year (syncing bug data into couchdb) and the lack of this feature made things difficult and eventually stalled my (spare time) project.

Twitter Updates

Blog Archive