No Progress

However hackneyed, the classic plate-spinning trick always brings me to the edge of my seat.

Skilful camera work reveals the lone magician darting between swaying rods, desperately spinning each before it slows to let gravity reclaim the plate revolving on its top. Just as they think they have everything up to speed and stable, we are cut to a clutch of plates wobbling in the final seconds before they fall and smash.

Software developers are like that magician, but every couple of minutes an evil assistant mounts another few plates and spins them up, making the task increasingly doomed to fail. Just as developers catch up with the next raft of changes required for the next major release of OS X, some old, sound, well-proven section of code shatters into shards behind them.

Lately the most obvious casualties have been in the human interface, something of an Achilles heel in software development at the best of times. Whilst Apple did not invent the human interface, much of the Mac’s (and iOS devices’) success has been the result of its fastidious approach to design for humans.

From its first, now classic Human Interface Guidelines (HIG), Apple has plugged how important feedback to the user is, and how important consistency is.

The 2002 edition for OS X 10.2 states crisply and unequivocally that “progress bars should associate progress with time. A progress bar that becomes 90-percent complete in 5 seconds but takes 5 minutes for the remaining 10 percent, for example, would be annoying and lead users to think that something is wrong.”

Hardly any current software installer – least of all Apple’s own – handles this competently. As a rule, fresh installations and updates alike start off as if they are going to take forever, many minutes or sometimes tens of hours. Once under way the progress bar shifts more quickly, and the time remaining drops to a fraction of that original quoted. Then, when there should only be seconds left, all grinds painfully slow again.

I have given up taking any notice at all of Adobe’s progress bars. For example, when exporting from PDF to text using Acrobat Pro X, there is complete dissociation between the progress bar and the quoted number of pages completed. On occasions this is so bad that the bar has to fill three times over before it can finally re-synchronise with the reality of completion. I have even seen the time left to run on a software install become negative.

Writing reliable near-linear progress bar code is hardly at the leading edge of software engineering, and way back in the 1990s it was generally far better done than it is now. Maybe it has become victim to the mad rush to outsource, and there is some software house in Jakarta that has not yet been provided with a translation of the HIG.

Perhaps it is me, and as I have grown older and entered the more non-linear phase of life, my perception of time judders erratically. I have tried watching the clock in my menu bar, and keeping an ear on the ambling tick of our kitchen clock, in case it is me that is falling out of kilter.

After serious, careful, and all-too-oft-repeated study I am forced to conclude that the software developers in Apple, Adobe, and other major vendors have let this particular plate slow until it wobbled out of control, to dash on the floor. I confirm the claim of the HIG that I am often very annoyed, and know that something is wrong.

Updated from the original, which was first published in MacUser volume 28 issue 15, 2012. Nothing has changed, has it? When installing Adobe Acrobat Pro DC just a couple of days ago, not only did I have to download another installer system (why, Adobe, are you incapable of using what is already there?), but its installer showed ‘less than a minute’ for around 5 minutes. And Apple’s 10.10.3 update was even worse.