Archive for February 2004

Saturday, February 28, 2004

Word 6

Rick Schaut:

In order to understand why Mac Word 6.0 was a crappy product, we need to understand both the historical background that led to some key decisions, and we need to understand some of the technical problems that resulted from those decisions.

Schaut was there, and his article is a great read. I’m not sure what to make of his comments that Microsoft had to do focus groups to determine why people thought Word 6 wasn’t Mac-like, and that the answer was that it wasn’t Word 5. First, it should at least have been obvious that Word 6 didn’t look right. Second, in its day, Word 5 was criticized for doing things its own way, rather than the Mac way. I was a fan of Word 5, but I don’t think these criticisms were without merit.

Derek K. Miller:

Word 5.1a, from 1992, with the addition of inline spell checking (the squiggly red underlines) would cover almost everything I really need to do. Yet I could never expect anyone to produce a program like that, because too many other people need different things. Word 6 was one of the earliest, and the most drastic, results of trying to keep up with the endless demands of feature creep.

Siracusa Interview

Robb Beal interviews John Siracusa. Here are some quotes I like:

It’s not easy, or possibly even useful to explain [the spatial Finder] from a user’s perspective because the user shouldn’t even be aware of its existence. Even when it’s gone, there is only a vague malaise that is hard for the user to pinpoint.
Finally, it’s hard to get a really large group of Linux developers to do much of anything beyond a single “project.” A GUI is not a “project.” It’s the whole OS from the user’s perspective, and it must be from the creators’ perspective too or it will fail.
Anything that many applications want to do should be provided by the OS: show windows and menus, render text, save preferences, etc. In this day and age, displaying Web pages and storing metadata both fall into that category. These are not the things that people will buy your applications for, any more than someone bought a System 7 application because it had scroll bars. You have to add value. OS support for new features and technologies is a rising tide that lifts all boats.

Thursday, February 26, 2004

Enter Search String and Send Now

John Gruber had the bright idea of using a menu script to override Mailsmith’s Send Now command. Send Now has the same keyboard shortcut as Enter Search String in BBEdit, so if he has text selected in the message window, he probably meant to enter the search string rather than send the message. In this circumstance, Gruber’s script asks for confirmation that you want to send the message. Below is a modification of his script. My version sets the search string to the selected text and then doesn’t send the message. In other words, the script guesses the appropriate action and then does it.

on enterSearchString()
    tell application "System Events"
        tell application process "Mailsmith"
            click menu item "Enter Search String" of menu "Search" of menu bar 1
        end tell
    end tell

on menuselect()
    tell application "Mailsmith"
        tell message window 1
            if (selection as text) is not "" then
                my enterSearchString()
                return true
                return false
            end if
        end tell
    end tell
end menuselect

One problem is that if the message isn’t sendable (i.e. if no recipients have been entered), then the menu item will be disabled and the menu script can’t be used.

Saturday, February 21, 2004

Matthew Thomas on Mac OS X

Matthew Thomas switches to Mac OS X and critiques it in 48 points.

John Gruber disagrees with 1.5 points, which is about 1 fewer than me.

Thomas didn’t report these problems to Apple, saying that would be a waste of time. In principle, I do think people should report bugs to Apple, but Thomas is right that with issues such as these it sometimes doesn’t seem worth it. It’s frustrating enough reporting what you think is a serious bug and having it languish in Radar purgatory for more than a year. For UI issues, it’s even more frustrating to list all the surface problems, knowing that the real problem is at the root. Thomas is right that the solution is for Apple to hire people who will make sure this stuff is fixed before it ships.

My point is that the quality of Apple’s human interface has declined and continues to decline. That other current platforms, both Free and non-Free, continue to be even worse does not make this situation any more satisfying. Mac OS X is like Sir Winston Churchill’s description of democracy: the worst possible system, except for all the others.

Practical File System Design

Dominic Giampaolo’s out-of-print book about the Be file system, which I had considered buying used, is now available as a PDF (via Jonathan Rentzsch).

Friday, February 20, 2004


Simon Stewart’s article about mocking generated some good discussion.

TiVo Remote

Jason Kottke:

Nice fluffy article in the NY Times about the design process that led to the TiVo remote control, complete with a thumbs-up (bing!) from usability quote-whore Jakob Nielsen. I like TiVo and all, but why does tech journalism have to be so soft all the time?


Nat Irons:

As soon as modern filters become reliable enough for mainstream adoption, people are going to treat them as killfiles. It’s going to cause havoc. It’ll be hilarious! But messy.

It’s been happening for a while, and I’m sometimes tempted to do it myself!

Cyclone and Curry-Howard

Kim Burchett:

However what I did glean from the discussion was that Cyclone’s straightforward memory leak detection algorithm doesn’t lead to a small, well-defined interface. Case in point: in order to implement a garbage collector they had to extend the runtime. It was a small function (only 5 lines of code) but nevertheless it was not possible at the user level. In effect, they had to introduce a new proof rule into the type system. That’s disturbing to me—it means the type system is incomplete. And these are smart people, so if it wasn’t complete to start with, that probably means it’ll never be complete.

Cocoa programmers might find that Cyclone’s regions look a little familiar.

Class-Dump 3.0

Steve Nygard has released a major update to his excellent class-dump utility for Objective-C (via Jonathan Rentzsch).

Writing Fiction

James D. Macdonald has posted lots of advice for fiction writers (via Jerry Kindall).

William Gibson, author of the influential but somewhat trashy Neuromancer, and famous user of ancient hardware:

“I remember [in the early ’80s] seeing posters for the small, semi-portable version of the Apple IIc,” he says. “Quite a lot of what I subsequently imagined in my early science fiction simply came from seeing that ad in a bus stop. I didn’t know anything about it technologically. I just thought if it’s that small and that nicely styled, everything is changing.

Wednesday, February 18, 2004

Interarchy 7

Although I was initially a big fan, I think Anarchie sort of lost its way around the time it was renamed Interarchy. Stairways showed more interest in making it skinnable and in re-arranging the menus than in improving its core functionality and interface. Interarchy 7, however, seems to be getting back on track. So far it’s much more reliable than previous versions of Interarchy were for me on OS X. I’m using SFTP more, lately, and Interarchy’s history, tabs, and ability to create new files will save me time. I’m re-discovering the reasons I liked Anarchie in the first place, and the network tools look useful, too. The interface is certainly getting better, though some of it (especially the tabs stuff and URL bar) could use more polish.

Thursday, February 12, 2004


Note to self: osascript doesn’t execute the contents of on run handlers. Neither does NSAppleScript under Jaguar.

Safari 1.2

Dave Hyatt has posted release notes for Safari 1.2. Here are some other points that interest me:

Safari now stores partially downloaded files in folders (packages) whose names end with .download. Inside the folder is an Info.plist file with some metadata, and a file with the actual downloaded data. With previous versions of Safari, partially downloaded files looked as if they had finished downloading. Now, they have a progress bar in the icon, which is much better. However, Apple often leads by example, and I wonder what this example says to developers. The .download extension now belongs to Safari. Should other developers follow suit, we might see .omnidownload, .fetchdownload, and .unisondownload. Either that, or short, cryptic extensions. Yuck! This was a problem that type and creator codes solved neatly. The partially downloaded file got the creator code of the downloading application (e.g. MSIE). The type code indicated that the file was a partial download and how much of the downloaded had been completed (e.g. bzy0). The Finder would automatically draw the proper progress icon, and the user saw the real file name.

Safari’s Downloads window no longer shows the throughput of the downloads in progress. I think that’s a mistake.

Password fields now show the Shift symbol when the Caps Lock key is down. This is a great idea that should be adopted system-wide.

Safari no longer limits you to four connections, which previously rendered the browser unusable as soon as you got four downloads in progress. But the new version is not yet where it needs to be. Safari should let the user specify how many connections to allow, and how many to reserve for browsing. This was pioneered years ago in iCab, and also adopted by Internet Explorer. It’s especially nice on slow connections.

The Megapixel Myth

Fazal Majid:

For any given generation of cameras, the conclusion is clear - bigger pixels are better, they yield sharper, smoother images with more latitude for creative manipulation of depth of field. This is not true across generations, however.

How to Manage Smart People

Scott Berkun:

Over the years I’ve experienced many mistakes and successes in both how I was managed, and how I managed others. What follows is a short distillation of some of what I’ve learned. There's no one way to manage people, but there are some approaches that I think most good managers share.

Sunday, February 8, 2004

NSTextView I-Search

Michael McCracken wrote an input manager to add incremental searching to Cocoa text views.

Friday, February 6, 2004


Gus Mueller wrote an input manager that adds Edit in BBEdit functionality to any NSTextView.

A New Kind Of Science is online (via Jerry Kindall).

John C. Welch on piracy.

Michael McCracken on how to get rich text Get Info content.

Thursday, February 5, 2004

Code Complete 2

Steve McConnell has posted a draft of the second edition of Code Complete (via Daniel Sandler). The first edition is one of my favorite programming books. Unfortunately, it doesn’t look like he tackled the main problem with the first edition: its verbosity.


Well, probably not really, but they’re similar enough to make me wonder.

Fat Old Sun (Pink Floyd, 1970) and Clocks (Coldplay, 2002)

The Gold It’s in The… (Pink Floyd, 1972) and Don’t Stop (Fleetwood Mac, 1977)

Kodachrome (Paul Simon, 1973) and Peacekeeper (Fleetwood Mac, 2003)

Heart of Mine (Peter Salett, 2000) and Come Away with Me (Norah Jones, 2002)

Yahoo! Groups SpamGuard

Yahoo! turned on SpamGuard, and today it resulted in 61 false positives from my mailing list messages, with no actual spam caught. When SpamGuard thinks a message spam, it strips the Mailing-List header, so all of these messages landed in my inbox and I had to file them manually. As far as I can tell, there’s no way to turn off SpamGuard for Yahoo! Groups messages.

Monday, February 2, 2004

OmniWeb 5 Beta

OmniWeb 5 is looking much better.

It finally adopts the Internet Explorer history model, by which I mean that it has a persistent, global history that’s organized chronologically. You can view it in the browser window, like in Safari, or in a separate window—and it’s searchable. So OmniWeb has gone from the back of the pack to the front in this regard.

At last you can see the URL at the bottom of the window when you roll over a link.

It has the best implementation of tabs that I’ve seen. I may actually use them. The modifier keys aren’t as nice as in Safari, though.

It still supports the Shortcuts feature that I’m so fond of.

Downloading is still weird. You can’t download links by Option-clicking them, and the Downloads window won’t automatically hide files after they’ve been downloaded.

Character spacing is still horrible when font smoothing is off—unlike Safari.

More from Robb Beal and Christopher Clark.


Brent Simmons started a mailing list for independent Mac developers.

PyObjC 1.1a0 is out. It now has an installer for 10.3 (though the link is broken and should be this), better support for structs, and other improvements.

Bitshift Audio offers 40 MB of free GarageBand loops.

ShopIcons sells, well, icons—for reasonable rates.

Is anyone using Blogads?

Buzz Andersen: “I’m still of the opinion that weblogs […] are the deepest, most effective form of social software yet devised.”

Retrospect 6.0 is out, but after using the product since version 2 or 3, I think I’m done with it.

John Engler and Garrett Murray switch to SpamSieve.

Excerpts of Apple Confidential 2.0 are available.

Office 2004 is missing some of the XML features of Office 2003

There is still no trial version of InDesign CS.

Andrew Birkett posts some thoughts on teleworking.


Celtics Beagle has an MP3 file of the January 30, 2004 conference call with Danny Ainge. I think Ainge is on the right track. The recent shake-up is good for the Celtics—who need an offense, stat—and for Jim O’Brien personally. Perhaps the Sixers will be interested in him?

ATPM 10.02

The February issue of ATPM is out.