June 26, 2012
Any congratulations coming from me on the manifest business success of your company would be insignificant and meaningless in the face of the rewards already accrued by your principals and stockholders, but I offer them anyway.
I come to write this letter, however, not to congratulate you, but to offer some suggestions as to how you might improve your products and your image which, in my humble opinion, are of a quality that is completely inferior and incommensurate with your business success.
In general, my advice is to try to retain at least some of the quality of the products you usurp, copy, and destroy. This will help reduce the dismay of those of us who are forced to abandon a high quality product, such as WordPerfect for example, and use an ugly, counter-intuitive, abrasive and intellectually insulting product like MS Word. The former was destroyed and the latter was foisted on an unwitting marketplace by the success of your ruthless business practices.
To illustrate the frustration many of us feel in this situation, I will propose some questions for you to consider as I relate a frustrating and irritating procedure your junior programmers have forced upon me and which I typically have to endure several times each day. The bulk of this letter has been rehearsed many times in my mind: once each time I go through this painful procedure. Now, finally, reducing it to print, hopefully will prove cathartic enough so that as I endure future episodes through the nonsense, I might at least find some humor in it.
Before I pose my first question to your junior programmers who are responsible for the design of the functions involved (I use the term loosely, as much of it has absolutely no function), let me congratulate them on at least a couple of small glimmers of insight on their part.
First, I congratulate them on having the foresight to realize that a computer might have more than one user, and on implementing a facility to allow switching from one user to another.
Secondly, I congratulate them on having the wisdom to understand the fact that different people have different levels of visual acuity. (That means that some people's eyesight is better than that of others.) And, they deserve credit for implementing several different choices of screen resolution, although it is not clear that they saw the connection between these two (i.e. different eyesight capabilities and different screen resolutions).
Now having extended my praise for their brilliant design work as far as I can, let me begin describing the process I am forced to go through by their implementation each time I sit down to use our computer after my wife has finished using it. (She happens to have much better eyesight than I do.) I will pose my questions in the context of this description.
Typically, when my wife has left the computer and it has remained idle for some time, the screen shows a beautiful landscape scene which she has selected. She chose a beautiful picture and it is pleasant to see it, but the main function it serves for me is to indicate who used the computer last. When I see her chosen landscape, I know not only that she was the last, but that the screen resolution has been left on the highest choice so that the typeface is so small that I am nearly unable to read it. So I begin the ugly process as follows:
The first thing I need to do is to get the resolution set to one which is readable to me. So the first step is to take the totally irrational and counter-intuitive action of positioning the cursor anywhere on her picture and pressing the right mouse button. This brings up a panel containing a number of choices (none of which is the option of switching to my desktop).
I have learned that the choice with a rather long text description, which is near the bottom of the list of options, is the one that starts me on the tedious path toward changing the screen resolution. So I click on that.
That brings up a panel with a few options, one of which is screen resolution. So I click on that.
That brings up a panel which essentially presents me with the 4 or 5 or 6 or whatever number of screen resolutions that are available to me. It also presents an insult to me which aggravates me each time I see it. The junior programmers have added the comment to the highest resolution option that it is "recommended". Really? The junior programmers feel that they need to recommend that option to me? Are they also recommending that I somehow acquire better eyesight? Have they not realized that different people may have different criteria for choosing one option over another and that the junior programmers' narrow-minded "recommendation" might not apply?
It is painfully obvious that when Microsoft usurps, steals, copies, or otherwise tries to incorporate prior art into their products, they frequently miss the whole point. They seem to fail to understand the purpose and advantage of the original innovation. The most obvious example of this is Microsoft's oblivion concerning the advantages of the PARC Graphic User Interface (GUI) using a mouse.
The original intent, and the earlier implementations of the GUI concept, was to present a man-machine interface that closely mimicked natural human hand-eye actions and coordination. Instead, Microsoft's junior programmers seem to have interpreted this innovation to mean that people no longer could, or wanted to, read words, and that they needed small clever pictures instead. And, that the cleverer the pixel arrangements in these little pictures were, the cleverer the users might think the junior programmers were. So we get these ungodly cryptic icons that in some cases are even animated. What a waste.
So in this panel, where a list of the 5 or 6 screen resolution options could be presented on a modern computer screen in a readable way, we instead get a ridiculous vertical slider bar, which seems to imply that there is a continuous spectrum of choices, which there is not, and I must use this slider bar to make my choice. I have learned to click on the very bottom of this bar to get the resolution yielding the largest typeface.
I position my cursor over the 800x600 choice (in total defiance of Microsoft's esteemed recommendation) and left click.
This, unfortunately, does not set the screen resolution to my choice. Far from it. All it does is move the indicator on the slider bar down to my choice of 800x600. It is now my move in this aggravating ritual. In order to remove the ridiculous slider bar in its fancy rendition in pixel art, I need to move the cursor off of it, position it somewhere else, and click. This advances the process another small step by removing the slider artwork and leaving another panel under it.
This panel, which takes up probably a tenth part of the real-estate of my screen, has been designed and presented so that the only options available on it are not visible. They do not fit in the panel.
But the clever junior programmers have shown their amazing pixel prowess by providing a vertical scroll bar on the right side of the small panel so that I can bring up the options in order to choose one.
At this point, I can drag the scroll bar down to reveal the options, or I can click and dwell on the little triangle on the bottom of it, and this, too, will reveal the options. While doing this, I look at all the unused space on the screen and want to scream at the junior programmers, Why, for heaven's sake, with all that space available for you to display those options, do your force me to go through this stupid and useless exercise? Was it so that you could show off your ability to program scroll bars? Or was it, as I expect, that you are completely oblivious to the annoyance you cause your longsuffering users?
After having successfully caused the options to reveal themselves on my screen, I see that the options are "OK", "Cancel", and "Apply". My question for the junior programmers at this point is this: What more do you want from me? I have clicked on 800x600 long ago and that is what I want. Are you asking me if it is "OK" for you to grant my request? Or are you asking about my psychological health in the face of the torment you are putting me through? I'm not sure how to answer "OK" or what it means, so I consider the next option.
"Cancel" seems clear enough. Your junior programmers have astutely surmised that their recommendation has been festering in my mind and that by now I may be ready to recant and change my mind. So they present me with the opportunity to cancel my unreasonable request and comply with their recommendation after all. No, I still want 800x600.
The third option, "Apply", seems to be the one I want. It wasn't enough for me to choose 800x600 so now I need to confirm that I REALLY want to make that choice. I suspect the junior programmer's last job was at a bank and that he or she feels compelled to verify transactions completely before committing to changing the books. Anyway, I click on "Apply" trusting that it will be done.
But no. Not only does the junior programmerís ugly artifice not make my requested change, but he or she insults me again by putting me on a timetable of the junior programmer's choosing. The junior programmer, evidently still miffed that I rebuffed his or her excellent advice, has put me on a 15 second notice that if I didn't re-confirm that I really wanted 800x600, it was going to revert to the recommended value after all. So I make sure to click on "OK" before the dreaded fifteen seconds expire. (The pressure is all the more acute because a sinister countdown is presented to me as if it were an alarm clock wired to a bomb set to go off in 15 seconds.)
At this point, I have successfully changed the screen resolution. But my wife's beautiful picture still fills the screen. Now, I must get out of that and get Microsoft's junior programmer to switch over to my desktop. This is not at all intuitive, but having done it so many times, I can do it even though it makes absolutely no sense.
I need to left-click on a weird non-intuitive icon in the lower left corner of my screen containing a rendition of Microsoft's corporate logo. Even though it makes no sense, I click on it.
This click brings up a number of disparate and seemingly random options. Among these is the option to "Shut Down". That, of course, is the farthest option from what I want to happen. But, next to the "Shut Down" is a small arrowhead. I have learned that I need to click on this completely counter-intuitive shutdown arrowhead. So I do.
Here I would like to ask the junior programmers a few more questions. Since there is more than half of my screen left unused after clicking on the Microsoft logo button, why didn't you use some of that area to also present the options of shutting down, switching user, restarting and whatever else? They would have easily fit. And, since the number of users on a typical computer would not exceed tens of users, why not list all the user names as well right here? Did user convenience ever enter what passes for your minds as a design criterion when you designed this abomination?
Clicking on the shutdown arrowhead reveals another small set of disparate options, among which is the option to "Switch User". That's what I want to do so I click on that.
Now I am presented with not only a list of candidate users, but each one is accompanied by a goofy pixel arrangement that I expect is supposed to impress me with the junior programmer's ingenuity. It can't be to help me select my own name out of a list on the assumption that I can't read my own name, -- or could it? My suspicion has grown to the point that it is now believable to me that the junior programmer holds me in sufficient contempt as to prepare for the case in which I can't read my own name and need the help of some goofy picture. I click on my name.
And, finally, I am required to type in my password in order to complete the switch. I suppose this is a reasonable function, so I'll not comment on it.
If your junior programmers are open to some suggestions for improving their design skills, let me offer some advice to them couched around some additional questions:
You evidently realize that different people will choose different screen resolutions because you implemented the capability. But WHY, do you suppose, might different people choose different resolutions? I'll wait.......
Good. It is because they have different eyesight abilities.
Next question: Does poor, or good, eyesight migrate between and among people? Or does each person more-or-less keep the same visual acuity over time? Take your time on this one......
Yes, of course, the eyesight stays pretty much constant for each individual user.
Now this part may be a stretch for you, but if resolution is chosen because of eyesight capability, and if eyesight capability is relatively constant for each individual, then...think about it... each individual will probably prefer a single resolution which works best for his/her particular eyesight level. In other words, screen resolution is an attribute that should be attached to each individual user.
Now, if you have followed that logic and agree with it, you should be ready to consider the following suggestion for improving your clumsy product.
When a user logs off the computer, or walks away from it for an extended period of time, the screen, in addition possibly to some nice picture which serves no purpose, should display the names of all potential users who might want to use the computer next. This is not unreasonable because names, presented in letters of the Roman alphabet, otherwise known as English words, don't take nearly as much space on the screen as the absurd icons that clutter your products. I daresay you could fit a thousand such names on the screen without trouble and without the need to scroll.
Next, I would hope that your junior programmers have the skill to make each of these names a link, or a button, such that upon the user's clicking on the name, the switch to that user's workbench would commence without further interruption or inconvenience (again, password verification is probably in order here).
Finally, putting the above conclusion to work in this implementation, the particular screen resolution associated with the user whose name was clicked should be used immediately without any need to go through hoops, rude recommendations, time pressure demands, or other nonsense.
Now, applying this kind of common-sense design to the rest of your product line appears to be such an overwhelmingly daunting prospect that I can't expect you to even consider it, much less step up to the job. I don't even expect you to step up to this small example that I have described. But if you have ever wondered why your reluctant users hold your products, and your company, in such low regard and derision, this letter might help clear up that mystery for you.
But even though I expect that it will do nothing to change you, your junior programmers, or your products, at least writing this letter has been somewhat cathartic and a certain amount of fun for me. It has thus been worth my time.
Paul R. MartinPlease send me an email with your comments.
©2012 Paul R. Martin, All rights reserved.