FuzzMeasure 3.0: Leopard Only

• Chris Liscio

FuzzMeasure 3.0 is due out soon for public release. One of the big differences in FuzzMeasure 3.0 is that you will require Leopard in order to install it. I expect that this will put a damper on sales for a little while, as I know people might not upgrade to the latest big cat right away. I didn't make this decision without putting some serious thought into it first.

I'm married, have a 13 month old son, and I enjoy spending time with my family. I also have a demanding full-time job. To say that I have very little time to spend on FuzzMeasure would be a huge understatement. When I do get some time to myself, I prefer to get as much work done as I can.

The new versions of Xcode and Interface Builder that Apple shipped with Leopard made great strides towards making me a more productive developer. I get a lot more work done in a lot less time thanks to better IB and Xcode integration, the research assistant, refactoring tools, and a much-improved text editor. The text editor is so much better now that I use xed for everything! (Sorry, TextMate...)

Objective-C 2.0 means I type less, and I make fewer mistakes. It also reduces my mental barriers to throwing together a class hierarchy on a whim. I hate writing getters and setters. I'm pretty sure a great deal of my success with FuzzMeasure 3 has stemmed from Objective-C 2.0 alone.

AppKit has been improved greatly. Apple did a ton of work to make its modern UI style available to third-party developers. During the week of WWDC in June, I deleted hundreds of lines of custom UI code thanks to this. Deleting code feels like losing weight — suddenly I feel like I can run so much faster!

Foundation has also gained some new hotness in Leopard. My personal favourite is NSOperationQueue and friends. I did a great deal of work with this family of classes to improve the waterfall graph performance on multi-core machines. If you have an 8-core Mac Pro, you'll see your CPU monitor dance around when you're calculating those graphs. You can also expect other optimizations to come in the future thanks to NSOperationQueue.

I can't quite put my finger on why, but Leopard runs my code so much faster on my Core 2 Duo based MacBook Pro than Tiger does. FuzzMeasure 2.0 runs faster on Leopard for me, and FuzzMeasure 3.0 runs even faster. I'm pretty sure the Objective-C compiler and runtime have improved considerably, so I'll credit the gains to those two things. Once thing I do know for sure is that I'm much happier when everything runs more quickly on the same hardware.

These are only a few of the many reasons I love working on and targeting Leopard. I've had the opportunity to live in Leopard-land daily since WWDC in June, and it's very difficult to go back to Tiger now that I've become used to the hundreds of features Apple busted their backs on for the last little while.

I hope that many of you will be following along and joining the party. Over the next short while, I'll try to post some more details about the new features I've added in FuzzMeasure 3.0.