A number of folks have asked me about Atlassian’s Fisheye. There’s broad familiarity with some of our other products (notably Jira and Confluence) among the AS/Flex/ColdFusion community, but fewer know about our other developer tools. Fisheye, specifically, has been an object of some curiosity to many of my developer friends from the Adobe world. As I’m a big fan of illustrations, enjoy the following simple explanation.
Fisheye, in short, helps you understand your code. It opens up your source repository (Subversion, Git, Perforce, Clearcase and CVS) with real-time notifications of code changes plus web-based reporting, visualisation, search and code sharing. Yes, that last bit is from marketing content. Sorry. Let me stick to the first part: understanding your code.
I was just looking at the FlashBuilder 4 beta and wondering how the data-centric development features were progressing. I created a page with an empty data grid, then used the handy “bind to data” command to connect the grid up to a ColdFusion component (using the deelightful CF9 ORM features, bien sur)! I committed both the before and after into my git repository on gitHub and then launched Fisheye.
Now, gitHub alone lets me see some information about my project.
I can see the raw code, commit history, nice visualizations about branch and merges. But it’s not great at understanding how the code has changed over time. About the most I can get is some correspondence between the commit messages and the point where they match up with the current version of the code.
Fisheye sits on top of my source code repository and gives me a much more powerful way to look into its contents. I can start exploring my project, get lots of data about its history, and get right down into the code itself (yes, this is a gross oversimplification, so I hope the dev team will forgive me. I promise more details in the future).
One of the nicest new features in Fisheye 2.2 is a new IDE-like side-by-side diff feature. And it was just this feature that allowed me to easily answer my original question about what the data-centric wizard was doing. I could pull up the version of the file from the pre-wizard commit and the version after and, Voila!
The left and right panes can scroll independently, and the view stays anchored around a central point. Color coding illustrates where lines have been added and removed and where the line’s internal content has changed. Each addition or deletion is linked to the opposite window by a colored triangle that links to the location of that change in the other version.
Here’s a better example…
So by using Fisheye, I get an incredibly deep understanding of the code in my project as well as its history. Again, that’s just the tip of the iceberg, so bear with me and I’ll give more examples soon.
Download Fisheye and give it a try. Let us know what you think.

A simple example of Fisheye for Flex developers