Beware, all you PC users, of a looming piece of malware that is about to get wide distribution!
But don’t worry too much, because chances are if you are infected by this piece of malware, you’ve already been subjected to one or more of its predecessors.
The new version is rumoured to be called “Windows 7″. A definition of ‘trojan’ that fits, in my view, with most versions of Windows would be
a program that appears desirable but actually contains something harmful
I could go on, and on, and on about security flaws but I really wouldn’t know what I’m talking about. I do know what I’m talking about, however, when it comes to the simple use of a computer. Unfortunately, I have to use Windows (currently XP) for five days a week in my work.
To be fair, I don’t expect Windows 7 to be any worse in respect to the particular issue I am about to raise, but doubtless the illusion of the marketing will be that Windows 7 is “the best Windows yet”. (Err, isn’t that true of every version?)
The particular, harmful, aspect of Windows that I am going to rant on today is that of focus. Perhaps many computer users would not be familiar with this term. It is a term used since the dawn of the graphical user interface (GUI) to describe the concept that one particular element of the interface must be annointed with the honour of taking keyboard input and responding to it. You see, the keyboard and operating software cannot possibly determine where your typing should take effect unless there is a convention to determine this.
Focus is ‘gained’ for an element by one of several actions.
- The user ‘clicks’ on an element that can accept keyboard input.
- The user presses such keys on the keyboard that hand the focus from one element to another (e.g. ‘tabbing’ between fields in a form)
- An application demands that the focus be given to it.
It’s this last method that is, in my opinion, wrong and downright dangerous. Let me explain why. The following actually happened to me recently.
I was working from home and had only just got through some frustrating problems with my home network. There was work to be done and I was behind the timeline I had hoped for. I was holding an instant messaging conversation with a colleague when I looked up at my screen and just caught sight of what happened.
Moments before I hit the Enter key to send my latest message, the corporate “Software Management Service” client popped up a small dialogue box (window) saying that it had installed some software but for it to take effect, I would have to reboot. There were two buttons. One allowed me to defer the reboot. The other confirmed it should reboot the system now. As this dialogue popped up, it demanded the focus from the operating system and was given it. Therefore my press on the Enter key triggered the dialogue’s default action and my laptop started an immediate shutdown. Boy, was I seeing red!
My first question is how could I possibly have prevented this? The short answer is I couldn’t. There are just some flukes of timing that will mean that focus is ‘stolen’ at the worst possible moment. But in fact, this happens far more often than you’d imagine because of another undesirable behaviour.
I had another occurrence of this phenomenon yesterday, though it didn’t result in a reboot of my laptop. This occurrence was slightly different because the dialogue box appeared a short time before I got to pressing the Enter key. In fact I typed maybe half a dozen alphabetic characters which were sent to the dialogue box and which it gleefully ignored before it cherry-picked the Enter key and went about its business. This is wrong. Every day I also use a large commercial system which gets quite upset when I press a key that I have no business to press. It locks up the keyboard and I have to press a ‘reset’ key to say sorry before it will let me continue. Why can’t Windows do that? But no, it just keeps throwing away those clues to my intent and then carries on when it thinks I’ve paid attention.
And another thing. I have a mouse. I think it is reasonable to expect that I will use a mouse if it is connected. Why couldn’t Windows await only a mouse click on one of those buttons? But even then, there is a small chance I was going to click where that button popped up and would similarly get caught out. Though at least I’d have a fighting chance of seeing the dialogue pop up as when using the mouse I have to be looking at the screen.
In a future article I’ll discuss the mystery of why Windows also uses focus for the mouse – an entirely unnecessary concept.