Computing Fallacies (annotated)

or, What is the World Coming To?

by Michi Henning, marked up and annotated by Charles Cazabon

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.

Fallacy 1: Computing is Easy

[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.

Fallacy 2: Computers Allow People to Do things They Could Not Do Otherwise

  1. All you need is a good work processor to create a great doc
  2. All you need is a great spreadsheet to make accurate sales predictions
  3. All you need is …

Fallacy 3: Computers Increase Productivity

  1. The sound effects in this presentation will make all the difference
  2. It only took five hours to format this memo
  3. The shading on this pie chart is simply superb
  4. The icons on my desktop are lined up perfectly

[sound of car screeching to a halt for each bullet point]

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.

Fallacy 4: Programs Help Their Users

Fallacy 5: If It's Graphical, It's Easy

  1. Single click, double click?
  2. Where is the #$%^@!! menu??
  3. Which part of the UI does *not* do something?
  4. With a GUI, anyone can be a:
    1. System administrator
    2. Programmer
    3. Typesetter
    4. Accountant
    5. Statistician

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. Eyes start to follow Michi as he walks back and forth across the stage. [Hysterical laughter] 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.

Fallacy 6: Computers are Getting Faster

  1. How long does it take for your PC to boot?
  2. How long does it take to …
    1. … start your word processor?
    2. … load a web page?
    3. … compile a program?
  3. How long did it take …
    1. … five years ago?
    2. … ten years ago?

We have come along and destroyed all the gains we have made in hardware.

Fallacy 7: Programs are Getting Better

  1. How often do you need to …
    1. … animate your fonts?
    2. … embed live information from the web in a document?
    3. … perform a Fourier analysis?
    4. … create a pie chart with alpha blending?
    5. … create a pie chart?

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"?

Fallacy 8: Programmers are Getting Better

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.

Fallacy 9: Programming is About Data Structures and Algorithms

  1. How many times have you written a linked list?
  2. How many times have you used STL?
  3. How many books have you read about HCI?

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.

Fallacy 10: Open Source is the Answer

  1. Economic model is doubtful
  2. Source code is useless
  3. Motivation for Open Source is inappropriate for most software
  4. Nerd culture is counter-productive

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.

  1. Usable standards are created only years after the fact
  2. Standards are foul compromises

Fallacy 12: We are Making Progress

  1. Progress in data structures and algorithms have been remarkably slow
  2. Progress in management techniques has been remarkably slow
  3. Progress in quality assurance has been remarkably slow

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.

Fallacy 13: The Industry Knows Where it is Going

  1. Today's clever hack is tommorrow's solution to take us into the next millenium
  2. There haven't b een any new ideas in a decade
  3. We have run out of ideas, so we rehash old ones

Oh My God! It's All So … Depressing!

So What Do We Need?

  1. "Progress" is detrimental to progress
  2. Focus on design
  3. Realistic growth expectations
  4. Legislation
  5. Code of ethics
  6. Growing up!

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.

Useful Reading

  1. Donald Norman — The Design of Everyday Things
  2. Alan Cooper — The Inmates are Running the Asylum
  3. Alan Cooper — About Face

[up to Charles Cazabon's Writings]

[up to Charles Cazabon's Pages]

Valid XHTML 1.1