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.
Tuesday, May 31, 2005
Monday, May 30, 2005
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.
What does sending a message to
nildo 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
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
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.
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
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 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
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
Brent Simmons passed me the musical baton blog meme.
Total volume of music files on my computer
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.
- Cry by Doyle Bramhall II
- Deathly by Aimee Mann
- Dogs by Pink Floyd
- History by The Verve
- The State I’m In by Belle & Sebastian
Five people to whom I’m passing the baton
Tuesday, May 17, 2005
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
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 iTunes.app, but on a German system it would say Vor der Installation von iTunes lesen.app. 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.
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.
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
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
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
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.
Thursday, May 5, 2005
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
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.
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.
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
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
The May issue of ATPM is out:
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
- Launch Services lost all my custom application bindings when I installed Tiger.
- What kind of OS update would it be without Retrospect breaking? They promise a free update soon, with a later one to provide support for Tiger’s new filesystem features.
- Apple Help is unreliable. Sometimes, it just doesn’t open, even for Apple’s own applications. Or, sometimes it opens the main help page instead of a specific sub-page. This has happened with my applications, and with Mail.
- I like Dictionary. But not its panel.
- My Command-Control-D keyboard shortcut for comparing the two top documents in BBEdit stopped working. The solution was to tell Dictionary not to use this shortcut in the Keyboard preferences pane.
- Preview’s PDF viewing has more features, but seems slower.
- The default screen capture format is now PNG instead of PDF.
- After waking from sleep and entering my password, I get sometimes get another password dialog asking for my AirPort password. Or, sometimes, it forgets which network it was connected to and I have to re-select it.
- TextEdit (and Cocoa in general) has much better import and export facilities. You can access a lot of them using textutil.
- The Cocoa text system now supports lists and tables.
- Classic seems to be faster, and it uses less processor time when it’s idle.
- Sometimes my printer queue gets stopped for no reason.
- Apple seems to want to sell me printer supplies, but the results come up empty for all of my printers.
- Each time Mail is updated, it leaves old files behind. A couple versions ago, it left SKindex files around after switching to content_index files. With Tiger, it leaves the content_index and mbox files while duplicating the message data into the Messages folder and putting the index information in Spotlight.
- Clicking the mailbox pane in Mail doesn’t give it keyboard focus; you can only do that by tabbing into it. In fact, if it’s already focussed, clicking a second mailbox in it will make it lose focus. Still an improvement, though, since the drawer couldn’t get focus at all in Panther.
- Page Up, Page Down, Home, and End don’t work in the message list.
- When doing a search, the preview pane is hidden; it’s shown again when you click on a search result in the list. I guess this makes sense, but I find it a bit disorienting.
- Everything from downloading messages to searching is much slower. Smart mailboxes don’t always update their unread counts until I click on them.
- Sometimes Mail gets stuck and won’t display the contents of any mailboxes. Quitting and re-launching it gets it working again.
- I don’t see a way to easily go from a selected message in a smart mailbox to seeing that message in its thread in its original mailbox.
- Mail no longer has its own Script menu. Apple has effectively removed the ability to assign keyboard shortcuts to Mail scripts, since the system Script menu doesn’t support them.
I tried to use Shark after installing the developer tools (with the CHUD option) and kept getting this error:
CHUDProf.kext not loaded. There may be a problem with your CHUD installation. [CHUDDataSource]
Then I manually installed CHUD.pkg, and now Shark works.
- I kind of expected that Subversion would be bundled with the developer tools. Oh well.
- A Mac-savvy rsync was, for me, one of the most anticipated features of Tiger. Unfortunately, it’s been unreliable so far. Nearly every time I use it to sync a large folder using the -E flag, it either crashes or stops with an internal error.
- The Mac-savvy tar, cp, and scp rock. So does BOMArchiveHelper.
- There are new database and plist scripting additions.
- Safari is faster.
- Safari is much smarter about how it puts Google queries onto the find pasteboard.
- It’s great that Safari now displays errors as Web pages rather than sheets.
- Sometimes it doesn’t load the stylesheet.
- Safari Web Archives are great, although I prefer iCab’s Zip-based format.
- It’s no longer possible to see the transfer rate in Safari’s Downloads window unless you make the window really wide.
- Is there any way to tell Safari not to view PDFs inline? I prefer using Preview. There doesn’t even seem to be a way to save the currently viewed PDF to disk. The only way I could save my credit card bill to disk was to use OmniWeb.
- The new Safari often loads stale pages. I have to keep resetting its cache and re-launching it to get it to notice that a page has changed.
- Bottom-line, it’s still much faster to search the Web than my Mac.
- I hate the Spotlight search results window.
- The first time I tried to use Spotlight, after letting it index overnight, it froze SystemUIServer for 12 minutes.
- Spotlight seems to be inconsistent about finding files that aren’t in my home folder. It finds some files in /Developer tree, but the whole ADC Reference Library seems to be excluded.
- AppleWorks files are indexed; Safari Web Archives are not
- After the initial indexing, there’s no visual indication of the indexing process. After downloading or importing messages, or copying over lots of files, it’s not clear whether I’d get more search results if I waited an hour and searched again.
- Even though I’ve declared most of my home folder off-limits to Spotlight, it still seems to be indexing everything. Its CPU use goes crazy for hours if I re-render a Web site or do a large Subversion checkout, slowing down my whole Mac, which is partly why I wanted to exclude it from those folders. The other reason is that I was hoping to improve its search speed (which is about 15 seconds now) by having it index a smaller number of files. But it seems that it indexes and searches everything, and then winnows the results.
- Why does iCal create 3500 .icalevent files each time I start it up, even though I’ve told Spotlight not to search events?
- Get Info once again opens separate windows for each selected item.
- Dragging from the Finder to Path Finder copies instead of moving, but you can hold down Command to make it move.
- I’m really disappointed in the Finder’s new Find feature. Searching by name is still slow (with several seconds of the spinning pizza), and some matching files that are in plain view simply don’t show up in the search results.
- Much better at updating views when files have changed or new files have been added.
- The items in the Trash’s contextual menu moved around, and I haven’t adjusted yet.
- It used to be that if you held down Command-Option, you could drop a Dock icon onto another Dock icon (e.g. dropping an application onto Script Debugger to view its dictionary). Now, this works if you first bring the receiving application to the front.