Kiln: A DVCS for Fog Bugz
Fog Creek, the home of FogBugz that was founded in 2000 by Joel Spolsky, has been beta testing a new developer product for several months. FogBugz is a project-management tool that provides issue tracking, CRM, forums, wikis, and Evidence Based Scheduling. Their newest project, Kiln, is a major expansion of their developer productivity tooling. Kiln is a Distributed Version Control System (DVCS) that works with FogBugz to provide simplified code review and organized source control. Kiln 1.0 was recently given a "soft launch" with an official announcement soon to follow.
DZone asked Kiln Product Manager Jason Rosoff a couple of questions about the new release. He said that Kiln runs on top of the already-popular open source DVCS, Mercurial. "We love Mercurial, but we think Git is awesome too," said Rosoff. "There's no dogma in our choice, we simply believe the DVCS is so much better than centralized systems (e.g. Subversion) that we had to build Kiln on top of a DVCS. The best part about DVCS's, from our perspective is that branching and merging really work." Kiln integrates with Microsoft Visual Studio, NetBeans, Eclipse, and other major IDEs.
Kiln extends FogBugz' workflow by implementing code reviews as FogBugz cases. Kiln allows users to start a review in any place that they see a changeset. The Fog Creek developers know that some programmers will avoid and forget code reviews if they are not easy to start. The Kiln developers wanted users to be able to easily start a review while browsing a repository's history or looking at an activity filter. The user simply selects the changesets they want reviewed and then picks a reviewer. These two steps create a revew case, which automatically attaches the code for review and notifies the reviewer.
Code reviews can be sorted and queried from FogBugz. The reviews can be added to customized filters, starred for reference, and developers can subscribe to certain reviews for change notifications. In Kiln, there are several options for commenting on a review. Users can highlight lines of code and attach them to a comment, or they can identify deficits, fix those defects, check-in the fixes, and verify the fixes before the entire review is actually approved. Since Kiln code reviews are also FogBugz cases, users can set due dates, priorities, and milestones for code reviews.
Kiln code review
Kiln has a variety of ways to organize code. Activity filters can see what is going on in a project or a repository using saved settings and a filtered RSS feed. Kiln also allows users to create branch repositories, which are lightweight clones of an existing repository. They allow developers to experiment on the source code without messing up the original repository. Later, the code can be integrated back in to the original repository. Other vessels for code organization in Kiln include Repository Groups and Projects. These containers keep related code grouped together through drag-an-drop and simple labels rather than complicated naming schemes.
Kiln's version of "annotate"
Kiln has an enhanced version of "annotate" that shows users the last few revisions on a line of code, in context. The little window, seen in the picture above, displays a link to see all revisions where that line was changed.
Fog Creek also tries to take the pain out of setting up the server-side parts of source control with a hosted Kiln account. Kiln has a single installer that users can download at any time when logged-in to your Kiln account. The download is linked to a user's account and securely stores their username and password. This means users don't need to enter their login information every time so they check code into Kiln. The installer sets up all of the tools, including graphical and command-line clients, without having to reboot. Kiln users can also leverage Fog Creek's hosting architecture for real-time data backup to standby servers, daily historical backups, and offsite backups stored for 30 days.
The Kiln Mascot
DZone asked Jason Rosoff about funny-looking bird mascot for Kiln. Curious to know what it is? Rosoff explains: "We decided that the Kiwi [the FogBugz mascot] needed a friend with whom he could commiserate about being a flightless bird. The kiwi's first choice was the Dodo (probably the most famous flightless bird), but it was extinct. Luckily, we had Kiln, and through the power of version control, we were able to go back in time and rescue a dodo companion for the kiwi (haha!)." Apparently, the developers at Fog Creek do get to have a little fun in the midst of developing a major new product.
Licensed Kiln will only run on Windows 2003/2008 Server and SQL Server 2005/2008/2008 Express, but Kiln is also available on-demand. Pricing details are available on the Kiln site.