Archive for May 2005

Tuesday, May 31, 2005

Links and Platform Smear

Michael McCracken discusses hypertext links as native UI elements and the proliferation of similar-but-different controls, which he calls platform smear. I think both links and mouseover effects should be confined to the Web (and hypertext editors such as VoodooPad). Platform smear is unavoidable, but its extent could be reduced. My suggestion would be for Apple to experiment with new interface ideas less publicly.

Monday, May 30, 2005

Source Lists

Sven-S. Porst surveys Apple’s use of source lists:

I think that the concept is old and developed enough now that a company like Apple should come up with some clear guidelines on how these lists should be used and how they should behave. Unfortunately that is not the case and even within Apple’s stock of applications you won’t find two in which the source lists behave the same. So it’s really hard to learn what you can expect a source list to do.

Messaging Nil

Peter Ammon:

What does sending a message to nil do in Objective-C? What value does it return? You probably know that if the method is declared to return an object, you get back nil, but what if the method is declared to return a char? An int? A long long? A float? A struct? And how does it all work?

Friday, May 27, 2005

See the cat? See the stripes?

Brent Simmons:

Remember back to the public beta, and 10.1 and 10.2. Lots of stripes. Remember before the Finder used brushed metal? Remember how even title bars had stripes—and how the stripes everywhere were very pronounced?

At the time, of course, OS X got high marks for the beauty of its interface.

The reduction of the stripes and gratuitous transparency are, to me, among the most important changes that Apple has made to the OS. As with some of the other OS X improvements between the public beta and 10.4, celebrating this is kind of like thanking the bully for not beating you up anymore. It doesn’t really make sense, but you’re so happy that the bruises are healing.

Although I remember some vague claims years ago that the stripes made Aqua easier to use, I never believed them, and I think a true study would find the opposite. I know that OS X doesn’t tire my eyes out the way it used to. But, at one time, Aqua was the stripes, and we were told things like this:

The proper appearance for window backgrounds on Mac OS X is the pinstriping. Failure to adhere to this means your product won’t be a full class citizen from an appearance point of view, not to mention the fact that Aqua interface elements (buttons, checkboxes, etc.) were designed specifically to exist on an striped background and don’t look right on other backgrounds (including white).

—John Geleynse, Apple User Experience Technology Manager, 2001-05-18 message to the now-defunct Apple Human Interface Developers mailing list

My theory is that the stripes were a gimmick to encourage carbonization by making Classic applications look “bad.” Now that most people no longer use Classic, and Jonathan Ive is into solid-colored hardware, the stripes no longer serve any purpose.

Tuesday, May 24, 2005

My New Backup Strategy

Retrospect is no longer working reliably for me. Aside from the performance problems, I’m getting frequent internal assertion errors, and scheduled backups don’t always fire under Tiger.

I’ve found a combination of software that lets me do most of what I used to do with Retrospect. In some ways, it’s more convenient; in others, it’s less. It does, however, it give me more peace of mind.

My twice-daily incremental backup is now done with Synchronize! Pro X. This copies everything to an external FireWire drive, and it uses Synchronize’s archive feature to preserve old versions of the files. I compress the archive folders to save space. This is not as nice as with Retrospect, because Finder-format backups are inefficient, and the archive folders are a poor substitute for Retrospect’s snapshot feature.

To archive old versions of files and allow for off-site backups, I use CDFinder, DropDMG and Toast. I have a DropDMG configuration that creates encrypted, compressed disk images that are segmented into DVD-sized chunks, tagged with the date, and saved on the external FireWire drive. When I’m done for the day, I drag my key folders onto DropDMG, and by morning I have a bunch of .dmg and .dmgpart files.

Every few days, I burn a set of the disk images to DVD. First, I mount the disk images and drag them onto CDFinder to catalog them. Then I burn them with Toast. Overall, this works better than it did with Retrospect. By snapshotting everything to disk images before burning, I can do work (using the files that were copied to the disk images) during the burning. With Retrospect, I always dreaded starting a new DVD backup set, because it meant hours of swapping disks, and I couldn’t, for instance, run Mailsmith while backing up the Mail folder. Also, Toast is much faster at burning than Retrospect, and it fits more per DVD. A possible downside is that the DVD backups are no longer incremental, but I’ve decided that this is a plus. With each DVD set being a full backup, I can take it off-site right away.

For restores, it’s a pain to copy multiple (usually one or two) .dmgpart files back to the hard disk before I can mount the image. Restoring is rare, however, and this procedure is much faster than rebuilding a Retrospect catalog. It also works with a fresh OS installation; there's no need to locate a Retrospect install CD and download the update that lets it launch on Tiger.

Update: As of August 2005 I am now using DropDMG instead of Toast to do the burning.

Why Crunch Mode Doesn’t Work

Evan Robinson (via Dave Polaschek):

Longer periods of continuous work drastically reduce cognitive function and increase the chance of catastrophic error. In both the short- and long-term, reducing sleep hours as little as one hour nightly can result in a severe decrease in cognitive ability, sometimes without workers perceiving the decrease.

Monday, May 23, 2005

Google AdSense for Feeds

Tim Bray:

I was going to investigate Google’s AdSense For Feeds, because I’m keenly interested in economic models around self-publishing. But take a second and follow that link, there are a couple of seriously weird things going on.

Sunday, May 22, 2005

PowerMail 5.2

PowerMail 5.2 adds support for Spotlight (by optionally creating one file per message in its database), improves its support for SpamSieve, includes many other improvements. Update: this marks PowerMail’s 10th anniversary.

Thursday, May 19, 2005

Type and Creator Codes, gzip, and bzip2

In Tiger, if you use gzip or bzip2 to compress a file, the archive is given the same type and creator codes as the original file. This is a problem because double-clicking the file in the Finder will not decompress it with BOMArchiveHelper. Instead, it will try to open the file with the creating application, which will complain that the file is unreadable. One remedy is to use Get Info to make the file open with BOMArchiveHelper. An upcoming release of DropDMG will address this issue for .gz and .bz2 files that it creates. Of course, this is not a problem for files that you share over the Web or FTP, since uploading the file will clear its type and creator codes, and then it will once again open with BOMArchiveHelper, StuffIt Expander, OpenUp, etc.

Wednesday, May 18, 2005

A Musical Baton

Brent Simmons passed me the musical baton blog meme.

Total volume of music files on my computer

82 GB

The last CD I bought was

Eternal Sunshine of the Spotless Mind by Jon Brion et. al.

Song playing right now

Nothing, but the song in my head right now is Junk Bond Trader by Elliott Smith.

Five songs I listen to a lot, or mean a lot to me

I don’t listen to these much anymore, but they always seem to be popping into my head at random times.

Five people to whom I’m passing the baton

Tuesday, May 17, 2005

Mac OS X 10.4.1 and SpamSieve 2.3.1

SpamSieve Icon

It’s not every Monday that Apple releases an OS update two hours after the close of business (on the East Coast) that breaks your software. The good news is that, although I didn’t expect 10.4.1 to be released this soon, I was aware of the problem and was almost ready to release SpamSieve 2.3.1, which includes accuracy improvements and some other Tiger-related changes.

The issue with 10.4.1 is that various Mail plug-ins have been causing problems with Apple Mail in 10.4. To the best of my knowledge, SpamSieve’s was not among these. (I’ve received no reports of crashes or other Mail problems with any release versions of Mac OS X and SpamSieve, except for a few crashes that were caused by an old PGP plug-in.) But Apple has no way of knowing that, and they understandably don’t want their mail program to crash or misbehave because of other people’s code. So 10.4.1 disables all Mail plug-ins. And it does so in such a way that you can’t re-enable them by dragging them out of the Bundles (Disabled) folder or by running the plug-in’s installer. Obviously, the idea was to get the plug-in developers to issue updates.

But I don’t think Apple quite accomplished what it might have wanted to, on a technical level, because plug-ins are either all enabled or all disabled. If you install 10.4.1 first, and then update to SpamSieve 2.3.1, SpamSieve will work and all the other plug-ins will remain disabled. Perhaps you’ll re-install them one-by-one as the developers issue updates. But if you install SpamSieve 2.3.1 first, and then update to 10.4.1 (or if you install some other incompatible plug-in after installing SpamSieve 2.3.1) all the plug-ins will be enabled, and you’re essentially back to the 10.4 situation.

The non-technical aspects of this update also leave something to be desired. Apple didn’t tell developers that it was going to make this change; their first acknowledgment of it was today. I discovered that 10.4.1 disabled SpamSieve while running a seed, and luckily it wasn’t hard to figure out how to get it working again. But I couldn’t be sure that my solution was correct, because Apple has yet to officially tell developers how to make their plug-ins “compatible” or to reply to my inquiry as to same.

What I’m most surprised about is how many people told Software Update to go right ahead within an hour or two of 10.4.1’s release. I won’t be clicking that button on my development machine for a few days.

Sunday, May 15, 2005

Localized Read Me Files

With Tiger, Mac OS X no longer hides the .app extension, so one can see that the Read Me file included with iTunes 4.8 is, despite its RTF icon, a Cocoa application. Inside it are 14 localized .rtf files. When you launch the application, it uses open to open the correct .rtf file and then quits. The other interesting feature is that since the Read Me application is a bundle, its name can be localized. On my machine, it shows up as Read Before You Install, but on a German system it would say Vor der Installation von iTunes You always see the iTunes4.mpkg file accompanied by a single Read Me in your own language.

When did Apple start doing this [creating Read Me files as applications]? There’s a third-party utility in beta that can create such applications, but I wasn’t aware that Apple had blessed this design or provided its own tool for creating them.

Wildcard Expansion on Windows and Unix

Dan Crevier:

On unix (including Mac OS X shells) wildcard expansion is done by the shell, and then the expanded list of files is passed on to the program being run. On Windows, the shell doesn’t do any expansion, and it’s up to programs to do expansion.

Safari Strip Return Character When Pasting

Pierre Igot:

Thankfully, at some point Apple realize [sic] the problem and fixed it. I don’t remember exactly when. It might have been in Safari 1.2—or Safari 1.3. But they did fix it, in a smart way, by simply stripping the return character altogether when the user pastes a line of text followed by a return character into a single-line text entry field in a Web form.

Thursday, May 12, 2005

NetNewsWire 2.0

This is a great update, well worth the wait. I had lots of crashing problems with the earlier betas, but since 2.0b45 it’s been rock-solid. It seems much faster, or at least more responsive than 1.x. Persistence and Dinosaurs are probably my favorite new features. I don’t need or use most of the others, but I appreciate the all-around interface refinements.

Monday, May 9, 2005

Tiger Disk Image Bug

Dave Nanian has found a bug in Tiger that can corrupt sparse disk images larger than 1 GB (via John Gruber). Since DropDMG does not create sparse images, it should be unaffected except if you ask it to convert a sparse disk image into an archive format (StuffIt, Tar, or Zip). Then, of course, it will try to mount the sparse image to access its contents, triggering the bug.

Friday, May 6, 2005

Retrospect Again

Over the course of a larger backup, the transfer rate improved—though it’s still low, and as you can see there’s a display glitch.

Retrospect Progress Window

Thursday, May 5, 2005

A Short History of DragThing

James Thomson (via John Gruber):

This page will be updated over the next ten days with various bits of trivia and previously undisclosed secrets about DragThing that you won’t find anywhere else. To further encourage readers, there’s a limited time $10 discount offer at the bottom of the page.

Wednesday, May 4, 2005

Synk 5.1

I like the interface and features of Ben Rister’s Synk, but though 5.0 was reliable, it was also slow and memory-hungry. The just-released version 5.1 is supposed to fix that. When Apple announced that Tiger would include a Mac-savvy rsync, I figured that I wouldn’t be needing Synk any more. Because it takes advantage of the fact that the destination machine can do stuff, rsync is much faster than other such utilities I’ve used. However, rsync -E has so far not been reliable. I continue to use Synk, and early indications are that it is indeed faster and uses much less RAM. Ben has provided good, friendly support, and you can’t beat his guarantee.

Retrospect 6.0.212

As promised, Dantz released a free update that makes Retrospect compatible with Tiger. I’m quite happy to be able to back up again, but the performance of the new version leaves a lot to be desired. With no other applications running, Retrospect backed up at a rate of 29.9 MB/min (software compression, no encryption) to a file storage set on an external FireWire drive. (I haven’t tested the DVD performance yet.) I cannot make a definitive comparison with the previous version on Panther, because the first time I started 6.0.212 it deleted my existing Operations Log. However, as I recall, it used to get at least 150 MB/min when backing up to a hard disk.

When Mail Snapshots Attachments

Pierre Igot:

In Mail, the encoding of the attached file takes place immediately when you attach the file. In other words, when you attach a file to an e-mail message in Mail, Mail actually copies the file in encoded form into the body of the e-mail message. If, after that, you leave your message window open and return to your original file in its parent application and continue editing and saving it, this will not affect the version of the file that’s included in the e-mail message that you’ve left open in Mail.

In a vacuum, I think a good case could be made that Mail 2.0’s behavior is correct, but it differs from the way Mac mail programs have traditionally worked.

Tuesday, May 3, 2005

Implementing CSS (Part 1)

Dave Hyatt:

One of the most interesting problems (to me at least) in browser layout engines is how to implement a style system that can determine the style information for elements on a page efficiently. I worked on this extensively in the Gecko layout engine during my time at AOL and I’ve also done a lot of work on it for WebCore at Apple. My ideal implementation would actually be a hybrid of the two systems, since some of the optimizations I’ve done exist only in one engine or the other.

Monday, May 2, 2005

ATPM 11.05

The May issue of ATPM is out:

Eudora Cocoa

Qualcomm (via MacNN):

We are excited about the new technologies in Mac OSX Tiger [sic], including SpotLight [sic] and WebKit HTML display/authoring. We are currently reworking Eudora to take advantage of these technologies, as well as converting it from Carbon to Cocoa, to take advantage of Cocoa’s status as Apple’s preferred environment.

Wow. It sounds like a lot of work, and fall 2005 isn’t that far away, so they must have been working on this for a while. Who would have thought that Eudora, Fetch, and Nisus Writer would get rewritten? Will the new version feel like the old Eudora? Should it?

Sunday, May 1, 2005

Random Tiger Notes