Hey Tim its Danny here from dannygreg.com.
First of all, I apologize, it has been a while since my last segment, for those of you who follow me on twitter or read my blog you will know why. I was recently employed full time by Realmac software, makers of the website creation tool RapidWeaver and have taken on the position of “Cocoa Junior”. I’m enjoying every second of it and now I have settled in I have finally found some time to put a review together.
That review this week is “Cornerstone”, the new Subversion client for the Mac written by new kid on the block Zennaware. I don’t often cover developer tools but I am afraid this is definitely aimed at the developer audience as Subversion is a system for source code management.
Although, I know several writers who use various SCM systems to keep track of their project’s progress but SCM itself is a whole different rabbit hole.
If you are a developer you should be using some form of SCM system, whether it helps you collaborate as a team or acts as an easy-reference backup it is simply a must have. In fact I was on the Mac Developer Roundtable discussing this back on Episode 7.
There are a lot of choices out there but the most common nowadays is Subversion (although distributed systems such as GIT are coming on strong, especially in the mac community but that again is a completely different segment in and of itself). Most SCM systems, including Subversion, are command line applications, which is mainly due to their complexity but if you were born into the computing world with a GUI in front of you, like me, this can be somewhat hard to swallow.
So a number of developers have created UI front ends to various systems although up until now there has been a distinct lack of them on the mac. For SVN in particular, all we had was SvnX and ZigVersion and neither of these were very good. Over a year ago a company named “Sofa” announced that it would release a product called Versions, it got pushed further and further back until they recently posted a beta. Just as Versions was beginning to generate some hype Zennaware released Cornerstone 1.0. No hype, no beta just a straight release.

It blew Versions out of the water and is a fantastic example of how you can have as much hype around your app as you like but at the end of the day its having the best product that really matters.
For a start Cornerstone comes with Subversion baked into the application package. Why is this great? Well if you are running Tiger (Cornerstone runs on OS X 10.4 and up) this means you don’t have to install Subversion separately which can be a complete pain. As SVN comes with Leopard this is not an issue on 10.5 systems.
The real force of this application is found in its UI, which considering all it is is a front end for an existing system is pretty essential. UIs can be notoriously hard to write for SCM systems due to their complex nature but Cornerstone really cracks it by presenting your Repository and Working Copy information in clean and powerful ways.
For a start it has the sidebar and toolbar look that we all know and love from iTunes and the Finder. Although I think in this case the toolbar icons don’t really suit there purpose. There is also no commit toolbar item on the toolbar which I thought was an odd choice but a quick toolbar customisation later and it was there.
There is also the addition of an iTunes-esque “LCD” display to the toolbar. I have heard some negative reaction to this from other developers but for me its brilliant. Most SVN clients, including Versions, present work being done by the system on a sheet window so you can’t do anything else while it is happening. This display not only means you have one dynamic place to look to find all of your progress related output but you can keep working on other repositories or working copies while the back end does the work. Simply brilliant.
There are tons of options on menus and contextual menus including the ability to right-click a file and set it to be ignored. I have been feature requesting this in pretty much every SVN client I have tried and I almost cried out with joy when I found it. Which brings me to my next point. Everything was where I expected it to be. It is hard to describe any particular examples other than that above, but the interface was so well designed that I found everything without having to refer to any documentation or digging through the application. If I needed a task doing I guessed where to find the tool and it was there. Flawless interface design.
Another great little feature is the addition of some quick filters as well as a filter box on the top of the list view, a great way to quickly see the changes you are dealing with. Then with the hit of button up-slides a section showing the changes between your local file and the latest revision in the repository, complete with syntax colouring and FileMerge-like comparison tools. Not to mention that then with the hit of one keyboard shortcut you can commit just those changes or the ones selected this makes for a seriously quick workflow.
The next major addition to the app is the timeline view. This is a graphical way to visualise the history of your repository. It is hard to describe on an audio review but each check-in, branch, merge etc is visually represented. You can select one of these points and pull up an inspector which can tell you the location of the file; the check-in message; the author of the change; the action and whatever other changes that were made in that event. Also, selecting 2 of the events allows you to bring up the same changes inspector as in the working copy for quick comparison of your changes during a specific check-in.
This is simply an inspired way to browse the history of a repository.
Cornerstone is available for $59 for a single user, 5 and 10 user packs are also available for $259 and $449 respectively. For me, this is the only front end for Subversion that I have seen that not only does a decent job of slapping a UI on the front of Subversion but even improves the feature set. If you are using SVN then this is a must-buy. If you are using a different SCM system I would even suggest moving to SVN just for Cornerstone. It has changed the way I deal with SVN, for the better and for good.
Tags: cocoa, cornerstone, Mac, subversion, zennaware



[...] we figured we’d take a look at two new native Mac clients that everyone’s getting all excited about and see if they merited switching to: the 1.02.59 release version of Zennaware [...]