Archive for October 2007

Getting Mac OS X Version Information At Runtime

October 31, 2007

This article has been updated, and republished here.


Running in the Background

October 31, 2007

This article has been updated and moved here.

Leopard Unready

October 24, 2007

EDITED TO ADD: IMLocation now runs on Leopard.

I thought maybe it might receive more attention if you, the Mac OS X software-buying public, were aware of the situation. The third-party software that you’re paying for, depending on, and hoping to run on Leopard, we cannot test on the final release build until we can run down to the Apple Store and pick it up, hopefully at least a few minutes before you do.

Our only two other options for quality assurance of our software on the final Leopard build are:

1. Cross fingers and hope nothing that affects us has changed between the most recent seed and the one that went to production.

2. Something illegal.

One of the most negative things about Apple is their secrecy. But they get a lot of milage out of the buzz it generates, it’s difficult to quantify exactly how much. They wouldn’t be the Apple we know and love without it. They operate on a strictly need-to-know basis, even internally. I wouldn’t be surprised if GM builds are withheld from some software developers inside Apple until after they’d been publicly released.

It makes an interesting contrast with Microsoft, which is a much more open company. As an intern, I got to actually play with a prototype of Surface (then known as PlayTable) a couple of years before it was announced. At Apple many interns can’t tell their friends what their working on until it’s out.

I believe the indie developer situation is more a symptom of Apple’s secretive culture, then a case of them thumbing their noses at the little guy. But I agree with Steven Frank that the public should understand the implications of Apple’s decision here. Leaks still happen, so I think Apple is making a mistake by not letting indie developers give the quality-assurance their (and Apple’s) customers deserve. It would make upgrading to Leopard a better experience for Apple’s customers.

So is IMLocation ready for Leopard? *shrug* maybe. The truth is, I haven’t tested on any seed of Leopard, because the Student ADC membership does not give me access to it, and I don’t have the cash to shell out for a “premier” membership.

My educated guess is that iChat support may break, because it’s experiencing a major revision. There is also a chance that everything will break if Apple has changed the private libraries I use to find the MAC address of wireless access points. But support for Adium should be unaffected.

We’ll know for sure in a few days.
EDITED TO ADD 2007-10-26: It turned out that IMLocation v0.27 was NOT Leopard ready. An issue with the new version of iChat caused a background process to silently deadlock, meaning nothing worked. So I was right about iChat breaking, but wrong about it’s scope, and right that everything could break, but wrong about the cause.

When Computers Kill: Radiation Overdose

October 22, 2007

I was watching BBC News on EyeTV this morning, and caught the tail end of a horrific story about hundreds of French patients who received crippling, and sometimes fatal, overdoses of radiation.

Earlier this year, a major scandal erupted in France when it was discovered that between 1989 and 2006, two radiotherapy units had accidentally given hundreds of cancer patients too high a dose of radiation. Five patients have since died and many others have been left in crippling pain.

My first thought was how eerily similar this is to Therac-25. But this incident could be worse once all the facts are out. 5 are already dead, and hundreds affected, according to the BBC.

A major investigation is now under way to try to establish how so many mistakes could have been made…. Incredibly, one of the lines of inquiry will be why the instruction booklets that accompanied the equipment were in English when the hospital staff of course were French.

This investigation is very much worth following. A lot can be learned about designing safe and usable systems from this disaster. Cynically, I worry that the massive liability involved will lead to politics and cover ups, instead of through investigation. Be prepared to read between the lines.

… staff then explained to newcomers how to operate the programmes, who later explained to subsequent trainees, and so on. To add to the confusion, the procedures were all in English.

Eventually, an incorrect default setting was made that resulted in a number of patients being given overdoses of between 20% and 40%.

Poor training is an issue, sure. But the real question I have here is, how could the software be designed so that it could possible be rendered lethal by default?

According to the AP “In both the Epinal and Lyon incidents, hospitals blamed the problems on human error.” I agree, but I think the humans at fault were the designers, not the operators. “Human error” is usually a euphemism for “operator error”, or “customer error”, or “blame them”. Disasters are a chain of failures; operators are only one link in that chain. The system as implemented in the hospitals included hardware, software, training, and standard operating procedures. From all accounts, it looks like there were systematic errors, over a period of years — about the strongest indicator you can have that the system was deeply flawed.

What Therac-25 was to engineering, this could be to interaction design. I think there were probably engineering mistakes made, but if the instructions weren’t even in the right language, chances are usability was a bigger factor. Actually, the similarities to Therac-25 still bother me. It’s a bit of history that should not be repeated.

I’ve said it before and I’ll say it again, these incidents are worth following. I just wish more hard facts were public (and in English as well, I can’t read French).

MacOSX Redesign: Feedback for “Hold Keys”

October 19, 2007

This article has been updated, and moved here.

Assert Outlet Connections

October 16, 2007

This article has been updated and moved here.

Version 0.27

October 16, 2007

Version 0.27 (beta) is out! Download the latest version here.

This is a minor update that fixes default actions for applications, and includes a few minor UI changes.

As always, updating is very strongly encouraged during the beta period. I try hard to make the latest build work, but I do not support old beta versions.