Apple Leopard Tech Talk in Düsseldorf, Germany

02 December, 2007

I've attended the Leopard Tech Talk last week in Düsseldorf. The tech talks are a great opportunity to meet other Mac developers face-to-face. Apple experts gave presentations about the latest Leopard development.  I'm not really counting me in as a Mac developer, as I was always more of a Java Swing guy. But the Mac OS X as a development platform and especially its aesthetics are quite appealing to me and were always and inspiration. The latest "official "support for Ruby, specifically the RubyOSA and Ruby Cocoa, make things even more interesting.But, lets come to more interesting things. You've probably all read about those 300+ new Leopard features ;-) So, I'm not going to list them all here for you again. I only sum up the little niceties which you probably won't have read that often... 
Resolution Independence was the first topic. This gets more and more important as people's displays become bigger. I run a 20" wide screen, so no problem here yet. You can actually play around with the DPI numbers with the Quartz Debug tool, located in "Developer Applications-> Graphics Tools". Most application look pretty good already, expect funnily the Finder which is still pretty much thinking in pixels here. 
Next cameSpotlight, which not only lets you search for menu items out-of-the-box, but also lets you index your whole user interfaces. Think of a completed configuration dialog where it might help to search for a specific option. If you are a Java Developer for yourself, you most probably used the search box in the Eclipse Preferences Dialog... Only thing you have to do to activate this is to tell xcode to index your user interface. Oh and by the way - it seems that Spotlight might be able to also search os servers in the future and not only on your local hard drive. Something else I didn't know is that Spotlight is most importantly an API which can be used inside your application, too. Nice!
Then we have of course the 64 bit support in Leopard now in much more places, even in Java 6 which is hopefully shipping soon. Nobody knows when and why it takes that long, but we'll see. No reason yet to panic and sell my Macbook Pro hehe
The Core Animation Library was next and this one is actually funny as it wasn't development for Leopard specifically, but first appeared somewhere else. Rumor's tell it was the iPhone. That reminds me that I should look into Chet Haase's Animation and Transition Library, after reading Filthy Rich Clients...
Next was Time Machine. I didn't know that one can actually restore a complete system by using the Migration Assistant which comes with the Leopard Installer. Still, haven't got the time yet to buy me a new external hard drive. Also very cool is that Spotlight is Time Machine aware and can actually show several older revisions as search result.
Automator has gotten some new flow controls and rules. Additionally, a cool virtual user recording lets you basically record macros. Lets see if this works as good as in Photoshop. Did I mention the AppleScript bridges for Python and Ruby yet?
Then comes of course Objective-C 2.0, which now supports Garbage Collection which the Apple engineers have been tinkering about for a dozen years but now seem to have found a way to make this work really well. Appearantly, they managed the generational (incremental) Garbage Collector to run faster then the manual retain and release. Then also very nice is the properties support, which has been discussed in length for Java, too. They use an easy dot notation as almost everyone else. Exceptions have been optimized, now the throwing is expense but the try is cheap. In older versions it was the other way around.
Last thing I found very interesting was the Image related libraries including Image I/O for reading and writing various file formats and metadata including RAW formats and high dynamic range support. Then ImageKit which offers some nice of the self components to find, browse, display and edit images. And last but not least the Core Image, which is actually using the GPU for all its image processing - thing OpenGL. It offers more than 100 common image processing filters, basically the usual candidates you wouldn't want to miss in Photoshop.
That's it for today. On a last note, the food was excellent ;-) and the Mac crowd quite friendly with more than 200 visitors. I'm off for today, heading to Frankfurt, Germany tomorrow for the Java Tech Days! Meet you there.