Big Mac Crash

Welcome to spring in the Midwest: we shut down Big Mac (our main household server) last Wednesday night during a thunderstorm, and when I fired it back up on Thursday morning, it was dead as a doornail.

Well, that's not entirely accurate - the machine itself (processor, RAM, etc.) was fine, it was the hard drive that had lost some vital partition information and was refusing to mount. Bummer.

What was the real pisser about it, however, was the utter inability of OS X to fix itself. fsck barfed with an unrecoverable error, as did Apple's Disk Utility. After surfing a bit, I discovered that the answer to my woes was DiskWarrior from Alsoft. As I was going to be out of town all day, I would have to wait to repair it until evening. So on the way back home I stopped by the Apple Store in Indy and picked up a copy.

And it worked like a champ, if a bit slow. Most disk utilities that rebuild or defrag drive on the PC are slow, too, and while few of those match the technical abilities of DiskWarrior, they all have something that Alsoft seems to not understand. In fact, precious few Mac programs understand software chocolate.

The name comes from the old saying in confectioner's kitchens: "Everything's better with chocolate on it!". Software chocolate is that layer of coding that fills the "user experience". Sometimes called by the less romantic term of "operator entertainment", software chocolate makes programs "taste better" by informing the user that something is happening, by letting him or her know that the machine is not "lost in space".

A spinning beach ball is not chocolate, and neither is a hourglass icon. Usually attached to the mouse cursor, they can disappear when you leave the context of the current thread, making it appear as though the program (but not the whole machine) may be hung. And if they don't disappear, and the process is lengthy, they can convince the user that the computer is dead-o.

Progress bars are the most useful (and typical) form of software chocolate, but even text messages in a status bar will work in a pinch - a counter is the most common flavor of this kind of chocolate.

But the application of software chocolate requires some design thought to be done well. While an eclair drenched in chocolate it may taste fine, it'll be messy as Hel to munch, and you'll end up more frustrated (and much dirtier) than you would've with a plain pastry. However, a chocolate swirl across the top will not only be easy to digest, it won't get all over your shirt. Ditto for software.

A progress bar that's, say, 400 pixels wide, will work fine for an operation with 100 discrete steps - you can visually distinguish a 4 pixel movement quite easily. However, that same progress bar representing 3,500,000 discrete events becomes useless. It moves so slowly as to make it appear frozen or hung. In this case, it actually defeats it's own purpose - it makes the user suspect something is amiss, and, most likely punch the reset button.

The defrag utility that comes with Windows has some very nice chocolate indeed. The display is mapped to a representation of the disk sectors, and flashed in various color codes to indicate the current operation. Additionally, there's a counter going in the status bar.

But DiskWarrior displayed a progress bar when checking it's discrete repairs. And due to the nature of the damage done to Big Mac's big drive, over 55,000 files were affected, representing nearly 4 million clusters. There was simply not enough screen real estate to show that many operations in a progress bar. Worse, there was no indication of how many operations were pending, even though the program knew at that point exactly how many checks needed to be made. The only counter displayed started at zero, and remained there for over an hour (checking a big drive to this level is very processor cycle intensive).

I only hit the reset button once before I figured it out.

00:00 /Home | 0 comments | permanent link