or, What is the World Coming To?
Version 1.1 Last updated 3 April 2004.
Michi Henning (of CORBA fame) gave a talk on computing fallacies once. The only record of it I can find is a mailing list post; here it is, marked up for reference. I have made spelling and typo corrections. I have also added a few annotations; they are marked up as follows:
This is an annotation.
[now examining different areas - non books]
We are special in the IT industry in that we can find these fallacies. This talk is an hour long bitching session for everything that has annoyed me in the last 20 years.
We still produce exactly the same amount of letters as in 1945. Back then it was okay to have 3 or so typos per page without re-typing the entire letter. Nowadays, we rewrite the letter many, many times, changing fonts, format etc. We are no better off in terms of letters produced.
Double clicking is politically incorrect in terms of RSI. We have to re-learn to use single click or to type on ergonomic keyboards.
There are so many UI features that we only learn by accident eg. double clicking the title bar, dettaching the toolbar.
Why is the minimize button beside the close button on the title bar? This is equivalent to have the eject seat button right beside the light switch in an aeroplane.
Let me introduce you to a friend of mine: M$ paperclip.
It's in principle a really good idea, something that monitors your progress, but when it starts to interrupt your work, by telling you a joke, it is ethically wrong to release this to millions of people.Today, "With a GUI, anyone can be a …" is more commonly experienced as "With a web interface, anyone can be a …". The point is still valid.
We have come along and destroyed all the gains we have made in hardware.
99% of all documents are written to be printed on paper.
His wife was trying to save a 2.2MB for a 2 page Word document on a floppy disk. Plain text, default font, left aligned. There was one email address, underlined. After 17 minutes of searching, he found a way to turn off this email address highlight off. The document was then saved at 800KB.
I believe the point here is that software today encourages people to consider presentation first, and content afterwards. The canonical example of this is PowerPoint. If you take the average PowerPoint presentation and strip it of it's gee-whizziness (i.e. turn it back into the plaintext memo it likely should have been in the first place), it's more likely than not to be unclear, illogical, and without any clear reasoning or deduction. That wouldn't be tolerated in a memo; why do we put up with it in "presentations"?
Great programmers have a greater amount of short term memory slots. Most of these people will have written some assembly at some stage in their lives.
We spend so much time designing our APIs, but who taught us whether we should return a boolean or an integer as an error? We are not taught to design.
Some programmers seem to have an intuitive feel for elegant, efficient design. djb would be my first example of this.
We write software for peer recognition. We write fancy structures because "it's cool", but not particularly useful.
Although common, this isn't universal. Note the refusal of some Open Source / Free Software authors to include random gee-whizzy features into their software. djb is one; I would hope I am another example of this.
I do not necessarily agree with all of the original points here. I feel that Free software can indeed answer most of the problems above.
We put all the not so good programmers into quality assurance, when really it is the hardest part.
Again, there are still some progress being made in data structures. Compare the efficiency and utility of dnscache's data structures to BIND's equivalent.
Oh My God! It's All So … Depressing!
So What Do We Need?
The best UI people on the planet are those working in the car industry.
This may not be true any more; recent years and increasing computerization of automobiles have led to a significant influx of computer industry people into the car industry. Car user interfaces appear to have suffered significantly as a result.
We need to make it a criminal law to change certain APIs. There are potentially huge impacts. When we produce a new drug, we can't just release it to millions of people without some sort of testing.
We have to stop doing things just because they are fun. Nerds are not the people to run this industry.
© 2004 Charles Cazabon; all rights reserved. May not be reproduced in any form without the prior written consent of the author.
[up to Charles Cazabon's Writings]
[up to Charles Cazabon's Pages]