Luca on Lion - A Descent into the Walled Garden

I was having problems even opening the Luca project's nib (user interface) files on Xcode 4.1 on Lion. Xcode, moving forward on Lion, has dropped support for custom Interface Builder palette objects. But that was one of the most powerful ideas from NeXT's Objective-C Project Builder/Interface Builder environment - that developers can build palettes of custom user-interface objects and drag and drop them or connect them, just like Apple's own built-in objects (like NSTextFields, NSTables, NSPanels, etc).

So, if I want to change anything on Luca's interface while developing on Lion, I sinply can't because I can't open any of my nib files due to their dependencies on my custom interface objects (in Luca's case, these objects dealt with the formatting of currencies whenever Luca presents money values in its windows). In Apple's scheme of things, I had to find a machine that is still running Snow Leopard, and run the previous Xcode 3.2.x on it and then open Luca and cut off all dependencies on the custom nib objects.

Theoretically, I could open Xcode 3.2 on Lion but, in reality, installing Xcode 3.2 on top of Xcode 4.1 would mangle Xcode 4.1. I took a long time to settle in on my Lion development - I didn't want to start all over again. So, fortunately, my wife's MacBook Pro was still running Snow Leopard. So I re-installed Xcode 3.2.6 on it. And killed off the dependencies and rewrote some code to replace the lost functionality.

This is really like taking a few steps back. But developing for Apple is often like that. You have to run just to keep in place.

But then, I've always been a Mac fan. I can buy in to what Apple would like to do to keep their platform alive going forward. But I wonder. Would we think back, years later, to Mac OS X Snow Leopard as being the zenith of Mac development, where we can make the Mac do almost absolutely whatever we can dream of, before it descended into this walled (curated?) garden that is the iOS?