By Gerard ’t Hooft

My Fulmination Page

E

Eternal complaint: SOFTWARE!
Theorem: There is still an infinite amount of software to be written by GOOD programmers.

Here is a typical example. I get a message like this on my screen:

                    Since you pressed this button, your house will explode. OK?

No! Not OK! But that is not given as an option. If I don't press OK I can't continue my work. So, sheepishly, I allow my house to explode.
Today's software comes with "help files". These help files should be 100 times bigger than they are now. A help file should not only tell you how to solve your problem, it should solve it instantly for you. Today's programmers are unable to write such files -- they should try harder.

Long ago, in the 20th Century, smart computer programmers started to turn computers into gadgets that people can use, and applying these became faster and easier. Naturally, the expectation was that this trend would continue. Let me first explain how GOOD programs should look; let me define what I had hoped 21st century programming should look like.

In the 21st century - alas, not now - when you want to get something done, like, printing a file, file managing, make a telephone call, or answering one, make a picture and save it, order something on-line, or simply shut off something, just anything, you press a button somewhere. Probably the wrong button, but never mind. You get a screen asking what you want. Type in any language, be it Chinese, French or broken English with grammatical and spelling errors, what you want. The thing may come back asking you for details: the printer closest to you is out of paper. Can you refill it? (YN) or shall I find another printer for you? (YN). But, as soon as it is technically possible to carry out the command, the device does it without further questions like: What's your login name? Password? (it knows your login name and whether you are entitled to use this printer or not), or: please first install the printer software OXPRxQ7vvtsq, version 6.43 or later (it knows what software is needed, whether you already have it, and installs it for you without even bothering you). It may remind you which printer is used and where it is.

File managing: if you handle a file, your computer asks you where you want to keep it, whether you need further copies in other folders (usually you don't want that, but sometimes you do). If you want to make a picture and share it, you just type in something like: I want to share this with my wife on her pc. Computer does not ask you first to install program this or this or that, let alone ask you whether you have it installed, because that information it can retrieve far easier than you can yourself. In short, all questions that we see daily appearing on our screens are answered automatically. Error messages? That was the 20th century. Needless to say, input from the user can be realized faster than this: by voice recognition, by punching just a few keys, or whatever. Anyway, this is what I hoped the 21st century might bring.

In fact, I had the same expectation for other household machines. I expected that if I press a button on my vacuum cleaner, it should respond as follows: Do you want me to vacuum clean your floor? I have the geometry of your floor in my memory. Did I forget something last time? You type in: yes, you did not touch the floor underneath the piano very well. OK, won't happen again, your vacuum cleaner answers. Or maybe your answer is: no, I thought I pressed a button on the coffee machine. OK, the vacuum cleaner says, I will have some coffee made for you (The vacuum cleaner does not make coffee itself, but sends a signal to your coffee machine. That notifies you when the coffee is ready). Mutatis mutandis your camera, telephone, your electric tooth brush, or your car.

Nothing however is further from the truth that is actually materializing today. Today, new gadgets for computers, printers, telephones, cameras are being invented every day. BUT (most of) THESE PROGRAMMERS ARE STILL FIRMLY ROOTED IN THE 20TH CENTURY! They have not understood what a user like me really wants. Whenever something new comes my way, and I need to use it (like a printer to print, let a camera take photos, persuade a computer to do something that used to be trivial, etc.), it TAKES ME AT LEAST THREE HOURS to discover that the system wasn't made for me, it does not work as expected, in fact, nothing of the promises materializes at all. My printer does not print, my camera makes awful pictures, my computer refuses my commands, and so on. Am I the only one who complains?

It all starts with the manual. How can people make manuals that look like a 20th century telephone book, except that the entries are not alphabetical, but in random order? Desparately, I click on a help file. It only has five entries, none of which are even close to the question I have. Search in Google, type in your question, and what do you get? You land into a site where thousands of other frustrated people spit out their own problems (none of which was yours), and the answers they get, if any, are from other people who don't know what to say. Whenever you have a problem, the only thing you learn is that other people have thousands of other miseries that you haven't yet thought of.

There is one exception, which made me hopeful and happy (I thought): Google itself. The Google page is easy to find, and there, YES, you type in anything, you make typos, the system does not complain, does not send you error messages, but politely answers: was this really what you are searching, or is it perhaps ... ? You may type in any language you like and you get results often in the same language. And the system is quick. Unfortunately, pc and laptop programmers did not notice Google's superior system. When I search a file in my own pc it often takes ages, just to discover that I made a little typo somewhere. Often, when I save a file, my system forgets to warn me where the file is saved, or ask me where I like it to be saved, and the pc's own search program takes ages to find it back. 20th century.

Alas, there's a little catch with Google. How do they get so rich? Simple, not only your search behavior, your downloads and uploads, but also all your personal data, credit cards, things you buy and sell, where and with whom, are being stored and this information is then sold. So, this is what the 21st century will look like: programs will be as lousy as in the 20th century, except a few that, you think, are freely accessible, but you actually pay for them with your soul.

I used Microsoft Windows for a long time. Now I know that its programming was reasonably good, until they came with Windows Vista which was a nightmare. And they came with bugs. Windows rapidly slows down after you install it, probably on purpose, to make you buy a new machine. All sorts of things have to be installed first before you can use them. Viruses pop up everywhere. I became desparate, and made yet another error. Friends and colleagues advised me to switch to Mac. Now switching is painful in any case, so the decision was not made lightly. But these Mac programs are not made for me. Things that used to be easy on Windows are now complicated. Like handling files. I have a lot of files, so they go in folders, which have sub folders, which have sub sub folders, and so on. But working with folders on Mac slows you down tremendously. How those Mac users manage their files is beyond me. My Mac came with a brand new operating system, called OX Lions. It just means that from now on, most programs I used to be familiar with don't run anymore. Wait until the designers of these programs make a Mac version, is what my Mac advisor tells me. They don't, so the programs don't work. There is a Mac version of PowerPoint, there is an awfully primitive text editor, I can't do anymore the things I used to do. None of the printers in the building I am in (there are hundreds of printers there) works on my Mac. I spent three hours on the phone with a Mac advisor. He could not turn any of our printers on. Contact the printer's manufacturer, he says. Nonsense, all my colleagues who use Windows, or older versions of Macs, have no problems with these printers.

And then my home printer, it  is a hp "PhotoSmart", especially advised for Mac users. It has two trays, one for A4 format printing, and a tray for postcard format photos. It came with a stack of hundreds of postcards papers for printing photos. After three photos the ink cartridge was empty. But now, after some installation problems, install this (1 hour), install that (1 hour), the printer refuses to print my photos on the postcards, while in its own page this is called the "photo tray". In the 21st century, the printer should always ask me: do you want the photo on a card or in A4 size? (YN), and then DO AS IT IS TOLD. Not my printer. Again three hours with a Mac advisor brought no relief. If ever I come to a zoo again, L'll avoid the lions.

21st century programs should come with help files that take much more memory space than the execute file itself. The help files do NOT tell you which buttons to push, what error codes mean, or which programs to download. They certainly do NOT direct you to web sites where other people scream about other problems. Instead, they try to find out as quickly as possible what it is that you really want. They don't tell you to go to such and such a page and answer such and such questions (which you discover you don't know how to answer anyway), but what they do is they download things that you really need, only ask you questions about your wishes, and continue even if you don't have precise answers; and mostly, they proceed by themselves. They may advise you that, next time, you can do this yourself by touching such and such icons, which you can recognise so and so. Otherwise, please just ask again. No sweat!

I believe there is a fortune to be earned by 21st century programmers. Today, there are only a handful. I believe that some GPS machines come close to my 21st century ideal. You drive your car, the machine notifies you when to make a turn. If you make a wrong turn, it tries to get you back on route, without sprouting error messages (well, eh, not quite: there's a new tunnel near where I live. It's not yet in my GPS's data set. When I come out of the tunnel it is not only utterly confused, it hangs. I can't even shut it off. Put it in the glove compartment where it continues consuming battery power until the battery is empty - which fortunately is very soon. Only then I can switch it on again). Of course, lots of improvement is possible. Where can I park my car after the ride? Can I do part of the trip by public transport, if parking gets difficult? Do I then have to run to catch the first train? 21st century household machines have only one on-off switch, and perhaps a screen on which you can punch your desires. Oh yes, and the on-off switch should be easy to locate - even that has to be explained to product designers!

A smart mathematician designed a superior program for mathematical computing. The program really tries to work out any math problem that you punch in. Except, it's 20th century software. The help file is long but not lengthy enough. Its worst features are the many error messages that the program produces. They are unreadable. You have to type in your question with mathematical precision otherwise the program does not understand you. Sometimes, after hours of calculation, the program returns to you giving back to you the question you asked. It does not even apologize for this total waste of time and electricity. Some of these shortcomings would be easy to fix even by programmers who know little mathematics, by guiding you better while formulating your question, by giving advanced warnings if a calculation takes too much time, and so on. Another dreadful mistake is that the programmers organise classes where users can learn how to use the program. A 20th century mistake. In the new century, only programmers are sent to classes, to learn how to write intelligible help files, not the users. User interface is the magic word that is still not understood.

I am wasting many hours while trying to figure out how I can persuade a program to do something for me, and what that program expects me to do to realize this. Things are getting worse and worse, mainly because the programmers think I want even more silly gadgets, and they turn a blind eye to all the new difficulties they create for me. If I want to send a photo to my wife's computer, the programs fails to understand that I do NOT want to download and send music, e-books, chat pages and games, that I do NOT want to purchase things, that I do NOT want to download other programs of which I have no idea what they do. A typical feature with modern computer software: whenever they come with a "new version", which you install on your laptop in one of your weaker moments (usually because they don't say what the "improvements" are), all your other programs no longer work with it; programmers seem to see no reason to keep things compatible. For 90 procent, I find that I am thrown even further back into the 20th century. Also, they have not yet discovered at what moment you want such updates to be done, which is usually NOT the moment you switced it on, not the moment you switch it off to go home. They should learn that the ideal moment is when you are drinking coffee or you are out of your office for a few minutes; a good (21st sentury) program would recognise such moments from the fact that you didn’t touch any keays for a while, or better still, by learning from past experiences.

In a more distant future, all machines, utensils, software, come without any manuals. Their operation is so simple and obvious that mistakes are impossible. Yes, the user will make loads of mistakes, but the superior software in all these things takes care of everything. This includes automobiles, yachts, airplanes, as much as cameras and telephones, even electric tooth brushes. That time could come soon but it won't, because these wishes of at least one user (me) are not heard.

And while I write this, things are getting worse. We have all seen the dramatic increase in hardware capacities, hard disks, memory devices, they all become bigger, faster and more powerful. Does your computer also become faster and more powerful? No Sir! The software "updates" itself continuously, absorbing all existing hardware to do useless things that slow you down again. It's the only way they can force you to buy new hardware all the time. If you refuse to update you soon discover that your software becomes "obsolete": when you contact a new website you can't read it anymore, unless you update things.

This very moment, I am trying to order online prints of my photos (remember, my expensive photoprinter does not work). Tried Hema. In used to be easy. No success with my Mac. Tried my Windows pc. Hema program became operational! Put all my pictures on it ... suddenly everything disappears from screen. Have to login with password. Which password? Send for new password. Fill that in. Again select all photos I want to have printed. Screen disappears again. Wrong login data. Why? You just sent me my password ??? I start vomiting. Other online photo agencies, Kruidvat, Blokker: same non-result. Blokker accepted my photos but I have to click on every photo, and after each photo my file disappears and I have to search the photo file again and again. Three hours later: I succeeded in ordering 4 of my 65 photos. Someone please help me. This is mid 20th century. Why do these programs not understand that I want to order printouts of my photos?

Why does nobody else complain?
To be continued. Welcome in the computer age.

Back to home page.