Font Panel Sucks the Life Out of Interface Builder

October 9th, 2005

Normally I find Interface Builder to be pretty snappy. From time to time over the past few months, however, I have encountered periods of time where Interface Builder’s responsiveness has slowed to a crawl. What the heck! Could my Nib files be getting too complicated for IB’s scrappy little frame to handle? I doubted it seriously, considering the complexity of other applications whose Nib files I have known and loved.

I finally traced it down to an insidious, parasitic relationship between the standard font panel and Interface Builder.

It seems that when the Font Panel is enabled, Interface Builder is liable to start choking on things like mouse clicks and drags. I have observed repeated delays of up to 2 or 3 seconds, just to click on a UI element in IB! And this is a on Dual 2.0Ghz G5! Pity the poor iMac user! When the Font panel goes away, responsiveness comes back 100%. If you’re just a little bit of a clutter-rat, as I am, then you’re liable to leave your Font Panel open as you forge ahead with your interface design. It never occurred to me that this might be robbing precious minutes from my work day!

This problem can be reproduced easily on Mac OS X 10.4.2 with Xcode 2.1 installed. Follow these steps to reproduce the problem yourself and gape in awe:

  1. Launch Interface Builder, creating a new “Cocoa Application” document.
  2. Observe the quickness with which you can click and change the selection between each of the 4 instance icons:

  3. Press Cmd-T to bring up the Font panel.
  4. Resize the Instances window such that the icons rearrange. For some reason this helps reveal the problem. I don’t know if this is a caching issue or what:

  5. Now try clicking between the icons again. It may take a few rounds through, but you will soon start to observe hideous delays between mouse click and selection change.
  6. Once you’ve observed the slowdown, close the Font panel by again pressing Cmd-T. This should return responsiveness to normal levels

This is a small demonstration of what it’s like to have this kind of delay plague your entire design session. The delay applies to anything clickable, selectable, draggable, etc., in IB. This includes all UI elements in your windows, views, etc.

So if you’ve been plagued by mysterious, dramatic reductions in IB responsiveness. Make sure your Font panel is closed. It may be sucking the life out of IB!

I’d be interested to hear if any readers can or cannot reproduce this on their own machines. For now I’m assuming it’s widespread, and I’ve reported it as Radar 4293149.

8 Responses to “Font Panel Sucks the Life Out of Interface Builder”

  1. Jeff Says:

    Bug confirmed on an iMac G5 2GHz. It did take a while before the delays started to occur.

  2. Daniel Jalkut Says:

    Thanks, Jeff! Great to know that it’s not a freaky “my machine only” thing.

  3. Jeff Says:

    You’re welcome. Daniel. Other Apple users are our greatest resource, I believe.

    By the way, your response to me didn’t show up in the RSS feed for this entry:
    http://www.red-sweater.com/blog/?feed=rss2&p=37

  4. Daniel Jalkut Says:

    I think WordPress separates the comments and entries in its feed mechanism. I haven’t looked too carefully at it, but notice the links at the bottom of this page allowing for both “Entries” and “Comments” RSS feeds. I’ve taken a cue from the blunt Comments link (which produces a feed for the whole blog), and adjusted your URL to include the comments bit:

    http://www.red-sweater.com/blog/?feed=comments-rss2&p=37

    Which seems to work. I hadn’t really looked into what the feed options are for the site since (as the administrator) it just emails me when anything happens.

    As a blog reader, though, I really appreciate it when a site has an easy way to subscribe to comments for a particular entry, so I’m going to look into getting an automatic link to appear on entries that will generated a feed like the one above.

  5. Jeff Says:

    Thanks, the new URL works fine. Maybe there’s a bug in WordPress, because you’d think that the link appearing right above the responses should contain the “comments-” tag.

  6. Daniel Jalkut Says:

    Jeff – I didn’t even notice that link! I’m assuming you mean the “RSS 2.0” link in the paragraph explaining “You can follow any responses…” — it lies!

    I’ve fixed it in my copy of WordPress (edited the comments_rss function in feed-functions.php in case anybody is interested). You should be able to click the link now and get the expected behavior. I will check to see if the latest WordPress release still has the bug and report it if it’s still there.

    Thanks for bringing this to my attention,
    Daniel

  7. Daniel Jalkut Says:

    Hmm – now I’m not sure there is a problem with that link. At first I observed that without the “comments-” part, it didn’t seem to work with NetNewsWire (it gave me a feed for the entire blog, instead). Now it seems to work fine, even without the “comments-” part. I’m perplexed.

    I’m about to update to the latest WP, which still has the URL without the “comments-” part, so I’m going to assume that is correct.

  8. Jeff Says:

    I’m perplexed too. Both URLs now show all of the (currently seven) comments. Originally, the URL without “comments-” wouldn’t update after the first comment, and the URL with “comments-” wouldn’t update after the first four comments.

Comments are Closed.

Follow the Conversation

Stay up-to-date by subscribing to the Comments RSS Feed for this entry.