The Matter With Modes

What are modes? Simply put, it’s different ways of dealing with the same action. In a program, modes are often the same command (or keystroke) that does two different things, depending on the ‘mode’ you are in.

As an example, run your favorite word processor, and type some text. Now press the ALT key, and type the same text again. Or don’t – there’s a chance you can make a real mess! The ALT key places your program in another mode, and the keys then become commands.

Another example is the Caps Lock button. Who hasn’t typed a line or two, looked at the page, and found the capitals and lower case reversed? Once again, modes are responsible.

Modes stem from a real need – designers often need more for less. For instance, we need to use a key to open a file. But ‘O’ is in use. However, ‘ALT-O’ isn’t, so we use it. The problem is not in the key combination, but that ALT is sticky – once pressed, it remains active, and you stay in another mode. Likewise, press Caps Lock, and you can’t type properly until you press it again.

Another problem with modes is they can quickly get out of hand. Programmers are trained to think in modes, and expect others to do so as well. However, few of us understand them intuitively (if in fact anyone does), and the result is extra effort and annoyance.

For instance, in a properly designed remote control, each button should do one clearly labeled function. However, with modes, these buttons can do more than one thing, with the result that part counts are lower, and more compact remotes are possible. But now at the press of a button, you can be locked into a mode with no obvious way out.

Considering these examples, it’s obvious we are stuck with modes – Windows and keyboards aren’t going to change in the foreseeable future. However, being aware of modes, and how unwelcome they are, may incline designers and programmers to avoid annoying anyone more than the necessary minimum.

Remember that modes can reduce parts and programming effort, but they are rarely welcomed by the average consumer. As a case of ‘penny wise, pound foolish’, always remember that if you target for a wider audience, avoid modes whenever possible. It’ll make things much easier for you – and your bottom line.

OEM Arduino board model MEGA 2560
End Date: Thursday Jan-11-2018 9:17:21 PST
Buy It Now for only: $42.00
Buy It Now | Add to watch list
ATMEGA16U2 Board For Arduino Mega 2560 R3 Board Kit Compatible With USB Cable US
End Date: Wednesday Jan-10-2018 20:00:28 PST
Buy It Now for only: $10.63
Buy It Now | Add to watch list
Ultimate Starter Kit UNO R3 Arduino LCD Stepper Servo Ultrasonic Motor 1602
End Date: Wednesday Jan-10-2018 12:57:36 PST
Buy It Now for only: $35.46
Buy It Now | Add to watch list

Comments are closed.