hedgehog lab

Damian Nicholson

Git Integration with fixx

by Damian Nicholson

I decided that since I’m quite familiar with git, that it shouldn’t take too long to adapt the previous Subversion to fixx hook script to play nicely with git. You can find it here

The instructions for using this script to post your commit logs/messages to fixx are very much the same as that highlighted in the previous article. Just make sure to place this in the .git/hooks/post-commit of your repository and your good to go(after chmod’ing it ofcourse).

Next on the list – mercurial integration, so watch this space…

Damian Nicholson

Subversion Integration with fixx

by Damian Nicholson

Since publishing the fixx api in January, we have received a number of requests for source control integration. As a result I’ve gone ahead and created a nice script to get the ball rolling on this front, to be ran as part of the post commit hook. A post commit hook is a script that is ran after checking in some new code to your SCM repository. Lifted directly from the svnbook itself:

Most people use this hook to send out descriptive emails about the commit or to notify some other tool (such as an issue tracker) that a commit has happened.

This opens up the opportunity for us to latch onto the post commit hook whenever we commit new code into our repository, and feed the recently changed knowledge into fixx using our api. This has a number of advantages, as it means that fixing bugs and your SCM system are no longer disjointed processes.

I bet you’ve done the equivalent of this before svn commit -m ''. Well now that commit message gets logged in fixx for everyone to see. Therefore it’s worth getting into the good practice of inputting descriptive commit messages.

If you think about regression bugs this is also ideal as you can see all the files that were changed/added in originally “fixing” that issue. This is just one of many reasons consolidating your SCM with fixx has value and is beneficial to your workflow.

Here at hedgehog lab we primarily use Subversion as our source control system for most projects, and this script in particular is tailored to work with Subversion through the magic that is svnlook. But I’m confident that this can be easily adapted to fit whatever SCM your currently using.

Note: For this script to work properly the only prerequisites are that you have a copy of fixx running, and both Subversion and Ruby installed.

Basically the script looks for the issue id, prefixed by a hashtag as part of the commit message in order to log the changes in this revision in fixx.

So if I committed some CSS changes to improve the rendering of fixx, my commit could go something like this:

svn commit -m '#12 Dashboard CSS Tweaks'

A new comment would be created under issue 12, with the following content.

	Commited by: Damian Nicholson
	Commit message: Dashboard CSS Tweaks
	Files changed:
	U style.css
	

Just to point out that the #issueId can be placed anywhere in the commit message, though if one is not present, it won’t be logged in fixx.

Since we want to bridge the gap between SCM and fixx completely, we have also roadmapped in new api functionality, so other options will be able to be supplied with the commit message to create, resolve and close issues in fixx sometime in the near future.

Instructions on how to go about using the script can be found within the script itself, which you can find here so enjoy!

Damian Nicholson

fixx track - Time Logging Widget

by Damian Nicholson

With the release of fixx 1.6 we also published a basic REST API so you tech heads can create mashups to interface with fixx for your bug tracking needs. To get the ball rolling, Mark decided to go ahead and create a time-tracking widget using Adobe Air.

What's really nifty about Adobe Air is that it's completely cross platform, so whatever flavour of Operating System your currently rolling with, Marks widget will work fine with it.

fixx-track

Since we're all about Open-Source here at the lab, that's exactly what we decided to do with it, as "fixx-track" can be downloaded here, so give it a try for yourself...I'm sure you'll be impressed! Alternatively, go one better and extend it to meet your workflows.

time logging

Just to make clear this isn't an official release from hedgehog lab, as you can read Mark's experiences creating fixx track on his blog. It's more an opportunity to stress the cool things you can do with our fixx API, and we hope that this release will create some motivation for the programmers out there, to see the potential behind this opportunity. We'll even showcase your work on our site if we think it's good! Why don't you download a copy of fixx to play about with our uber API to see what you're made of.

Damian Nicholson

Hover activated recently viewed issues

by Damian Nicholson

Another small but equally useful tip I'd like to share with our readers is the ability to show and quickly navigate to any recently viewed issues within fixx. Access to this list is universal across fixx`s entirety and can be activated by hovering over the clock icon present in the bottom right corner of your screen.


clock icon

This action brings into focus a list of the most recent issues this user has viewed, showing the corresponding Issue ID and Title for each of these in turn. Once present the user is able to navigate to each of these issues by selecting the appropriate one from this list.


recently viewed issues

The user also has the option to clear their history from this menu if they wish to do so. A point to note is that this pane remains present whilst scrolling and dissapears after a short period of inactivity.

The rationale behind this particular piece of functionality is to provide an easy means to navigate fixx without breaking system state by pressing your browsers back button. So the next time your busy jumping back and forth between a set of issues your currently working on, keep this feature in mind to max out your productivity levels!

Damian Nicholson

Hover activated Quick Information box in fixx

by Damian Nicholson

We love receiving feedback and suggestions via our people powered forums, and 99% of the time these cover important points which we resolve as soon as possible in order to maintain high levels of customer service.

It`s a rare thing, but there have been times in the past where suggestions have been made for features that are already present within fixx, similar to the insights I shared in my previous post. In this post I am going to share another of these with you.

A great example is the results of a filter, unless specified, these can return a list of any matching issues spanning over a number of projects. The way they are presented currently, shows various issue attributes such as its ID, Priority, status, Type, Title and who it`s Assigned to.

List of filtered issues

One suggestion was to add more columns to the filtered list of results which would present more meta-data to the current user, such as the Project it falls under, when the issue was created and when it`s due to be completed by.

This is a very valid point, and we took this into consideration whilst designing fixx, and we came to the conclusion that the information which is currently onscreen is the most important and fitted the workflows we created during the design phase.

To make sure people don`t go without, we also implemented a hover activated Quick Information box over each Issue ID which displays the remaining issue attributes as can be seen in the screenshot below. To show the Quick Information box, all you need to do is hover your mouse over the issue ID for a couple of seconds.

Hover activated Quick Information box

I`m betting that a lot of you were not aware of this feature at all. There are a few more of these posts on the way, so make sure to watch this space for more great tips.

Damian Nicholson

Filtering in fixx

by Damian Nicholson

Yesterday, Sarat and I were doing some pair programming on our new but shockingly large 37" LCD TV that's on the wall in our fancy meeting space in the lab.

big tv

Pair programming is fun and you learn a hell of a lot! If you want to know more about why this is the case, I suggest you read this great article by Obie Fernandez.

We were ironing out some bugs for the fixx 1.7 release, and I had a filter set-up to give me all the issues that had to be resolved for that particular release. As a result I was jumping back and forth from the filtered list of issues, to the full view of the issue we were currently working on.

fixx filter

It was in this process that Sarat made, what seemed to be an odd observation at the time; that I was doing things wrong. I couldn't understand how, as fixx is made to be simple. I went back to the Dashboard and proceeded to click on my "fixx 1.7" filter to go back to the list of issues we were working on.

fixx 1.7 filter

Sarat then noted "You do realise you could have got back to that list by pressing the Issues tab, rather than navigating back to the Dashboard and invoking your filter...right?".

Obviously I was not aware of this, and feverishly tried it out to find out he was right. Of course he's right; he wrote it!

fixx remembers your last used filter no matter where you go in fixx, and when you return back to the Issues tab presents the list of issues from the last filter. Even if you apply a temporary filter without saving it, the results of that filter are remembered in your session, and can be viewed once again when you return to the Issues tab.

It's evident that I was in need of this piece of functionality, as issue tracking should not by obtrusive by any means, and it turned out to be there all along but I just wasn't aware of it being the new guy in the lab HQ. You can tell that a lot of thought gone into the design and functionality in fixx, and the more I think about it, the more it makes complete sense. As a result this is one gem I want to share.

Issues tab

You're either going to read this and think, how on earth did he not know that, or you're going to go away and try it out for yourself and increase your productivity. Either way I'm happier that I am now aware of this, and hope that it manages to have an impact on the way a few of you use fixx.

Damian Nicholson

Testuff is a new test management suite that integrates with fixx

by Damian Nicholson

We at hedgehog lab love testing, infact our flagship bug tracking product, is geared toward tracking those bugs and delivering better software.

Well now there is an awesome test management suite on the block called testuff, which executes manual software tests and reports the flaws found in these tests. To boot testuff can output these results directly into fixx and other bug trackers!

From their site,

Testuff is an on-demand service for managing and executing manual software tests and for reporting defects. It is a test management suite that includes management for various test stuff: cases, runs, defects and more.

What's unique about testuff is the ability to attach video footage of each test and attach it to bug reports in order to quickly replicate and highlight the problem within your software to developers. Isn't that cool!

Give it a whirl yourself - testuff.

Damian Nicholson

[fixx release] fixx 1.6 released

by Damian Nicholson

Yay! It's finally here. I am excited to report that we have just released fixx 1.6, which has some exciting features that you have been requesting. The highlights of this release are,

  • The REST API is finally here. It is limited but a great start. You can access the documentation for the API by upgrading to 1.6 and going to /api.jsp in your fixx installation. If you would like to see specific functionality in the API please request it.
  • We now fully support Microsoft SQL Server 2000 and 2005. Find out how to install fixx on SQL Server.
  • The iPhone interface now allows you to log time.
  • We have made some major performance improvements on the Dashboard and Projects screens. More performance improvements on the way.

Since 1.6 involves a significant upgrade to your database, please make sure you back-up your existing fixx installation before you attempt to upgrade.

Grab a copy or read the release notes.

Damian Nicholson

Product development - It's a serious business!

by Damian Nicholson

Hi everyone, I'm Damian - the newest recruit to join hedgehog lab. My official title is Product Manager (manager at only 22 years of age!), which means it's my role to manage and run development of fixx, solomon and Product X (the mystery will soon be unveiled) so we can all get plush new Audis.

I like the fact that straight away, I have been put in a position with a fair bit of responsibility, which is great as it means I get to experience all areas of business and I'm able to directly shape the future of our products. So if you have any queries or features you want for upcoming versions, I'm your go-to guy to make this happen - damian@hedgehoglab.com or alternatively add suggestions to our forums.

On this note, we are getting ready to release a new version of fixx early next year (1.6), with a 2.0 release being planned for summer 2009 which I'll be heavily involved in...get ready for some big changes!

I also want to take this opportunity to quickly talk about solomon - our CRM and web-based contact manager, which is looking mighty fine...don't worry you won't have to wait much longer! It'll be worth the wait as you will soon be able to see the thought and experience design that has went into the interface and the performance should be lightning fast with lots of JavaScript (or AJAX for your 2 point ohs) magic binding the entire thing together.

A bit more about myself. My background is in Computer Security and I have joined the lab pretty much straight from Uni. I am one of the cool kids in the lab who work on a Mac, not a PC (hello Mark!), and in my spare time I dabble with Ruby and Java, which is handy as it means I can hit the ground running with both fixx and solomon, which are both developed in Java.

In the short time that I've been here, the things that I really like about working in a start-up are transparency and team discussions. The former is self-explanatory, as it means that no business related subject is taboo. The daily team meetings and discussions are great because I'm able to voice my opinions in a group of very intelligent people. This also means the turn-around on ideas is pretty darn fast too!

I'll leave it here for now, but I suggest you watch this space for some exciting product releases and announcements over the next year.