Wednesday, February 2, 2005

NeXT Applications and Interface Builder

DrunkenBlog has some comparisons of current Mac apps to their older NeXT incarnations. You probably noticed some similarities if you watched the video of Steve Jobs demoing NextSTEP 3.0. But more interesting is what commentor Rory Prior has to say about Interface Builder:

<rant>What’s annoying from a developers perspective is that Interface Builder is getting so long in the tooth. It lacks some really necessary basic features and still requires that you manually inform it of any changes to your classes made in Xcode or vice versa. It doesn’t provide any features to deal with maintaining localised nib files, it has spotty support for contextual menus, and generally makes editing complex component layouts (especially nested layouts) a complete nightmare. A lot of work which should be doable in a few clicks ends up having to be done programatically, which is time consuming to say the least and adds the potential for more bugs.</rant>

Interface Builder was ahead of its time. And, yes, the ability to set outlets and actions is still cool. But aside from adding support for layout guides and bindings, it doesn’t seem to have changed much. It could even learn a few things from PowerPlant Constructor, circa 1996. The last time I complained about Apple’s developer tools, it wasn’t long before they announced Xcode. So hopefully there’s already a project underway.

Also, I’d love for someone to really make localization easy—as it, in theory, should be. I’ve tried (I think) all the third-party tools that help in localizing nibs and strings files. Maybe I’m just weird, but all of them seem cumbersome to me, and some of them don’t even work reliably. Perhaps the design and documentation of nib files are partially to blame. Anyway, at present, I’m using a collection of scripts and Makefiles to help with localization. I wonder how many other developers have rolled their own.

1 Comment RSS · Twitter

In addition to layouts and bindings, they added support for Carbon, and support for Applescript. Also, they're using a new archiving system. And I'm not sure NeXT-era IB had much support for Undo, whereas now it has infinite undo if you wish. And inside-out selection of contained objects.

So it's not like they've done *nothing* since 1992.

Some of those are somewhat minor, or no-brainers, like undo.

But, yes, it definitely could use some attention.

Another thing that I've noticed is that, back in the NeXTSTEP 2.0/3.0 days, NeXT made an effort at marketing third-party "objectware". There was a company that made an IB palette with a drop-in 3270 terminal emulator object.

I haven't seen this in the OS X era.

Leave a Comment