The typical 16-digit account number displays on credit cards and bank statements as four morsels of data separated by dashes or spaces for easy assimilation into the cerebellum of Homo sapiens. The vast majority of web forms insist on a continuous smorgasbord of numbers, sans dashes or spaces, that overheats the optic nerve as your eyes pinball back and forth from credit card to computer screen. Insert dashes or spacesINPUT ERROR, you doofus.
Before you can enter that credit card number, or any data for that matter, the cursor must be on a data entry box, which begs the question: why is the cursor somewhere else when a web page requiring data entry is opened?
For example, a web page may require you to enter a user name or ID to get access to privileged information. You open the page in a web browser and are presented with a box for entering the name but if you start typing nothing appears on the screen because the focus is not on the data entry box.
To focus the focus, you take your hand off the keyboard, find the mouse, grab it, begin sliding it to position the cursor over the edit box, whip the mouse back and forth in fly-fishing side-casting motion to unravel snarled mouse cable, click the mouse button over the edit box with by this point a hammering force that could drive nails through hardwood furniture and the computer responds with a flashing cursor awaiting your input.
If the programmer had programmed the focus on the edit box, there would be no need for all this hocus-pocus to focus the focus.
Besides a user-friendly default focus, user interface builders often forget the default action of the Enter key. Going back to the previous example, once that user name or ID is keyed in, the next action is to send it and proceed to the next web page.
Web pages typically have a Login, Continue or Go button beneath the edit box for performing that action. If the programmer was looking out for the user, the Enter key would also perform that action by default so you could key the characters and press Enter without removing your hands from the keyboard.
The alternative is to take your hand off the keyboard, find the mouse, grab it and. . . (see the previous paragraph for the rest of the routine).
Botching the focus and default Enter key action are minor compared to the mother of all user interface transgressions: the clearing of web forms via the Back button.
Picture the scene: You need a birthday present for your spouse or significant other and rather than fighting traffic to shop brick-and-mortar stores, you decide to go the point-and-click route at that 24x7 shopping emporium called the Internet. You find the perfect potholder and dish towel ensemble at the web site of a major retailer, add it to the cart and click check out.
On the next page youre confronted with a form requesting more information than a job application for the CIA but you, the minion of your computer, respond in earnest, checking and double-checking your keystrokes as you enter first name, middle name, last name, mothers maiden name, fathers maiden name, daytime telephone number, evening telephone number, afterlife telephone number, email address, verify email address, and 16-digit credit card number.
In the middle of filling out the form, you take time to cut your fingernails which have grown a quarter-inch since you started this data entry marathon and eventually you reach the bottom of the form and pounce on the Next button.
Preparing to high-five yourself for remembering to buy the birthday present, you see INPUT ERROR, you doofus, in a 4,196-point size font that is clearly visible to anyone within a five-mile radius. The computer has rejected your input because dashes are forbidden in telephone numbers. No problem. You click the trusty Back button on the browser to fix your boo-boo.
At this point, youre sure that youre hallucinating (probably, the prescription narcotics), or that your mouse malfunctioned and it double-clicked the Back button instead of single-clicking. Because you are now staring at a blank form with no sign of your previous 45,000 keystrokes.
You rat-tat-tat the refresh button on the browser, machine gun style, hoping to revive the dead and departed data before you face the stark realization that the computer has efficiently and coolly vaporized every single character you entered on the form.
If web form clearing via the Back-button happens to you only once, its one time too many. Although the practice is less common than it was in the early days of the Internet, by now it should be permanently banned by federal edict.
Software can be built with Back buttons that preserve data, with Enter key actions that conveniently trigger next steps, and with Time Remaining counters that would not be mistaken for random number generators.
The basic design tenets are taught in Programming 101. Many software builders are not applying the basics of Programming 101, however, because theyre not taking Programming 101.
In its most recent survey of computer science enrollments, the Computing Research Association reported that computer science majors in bachelor degree programs have declined by about half between 2000 and 2008. (Enrollments did increase by 6.2 percent from 2007 to 2008, something a New York Times reporter, who has probably been smitten by unforgiving Back buttons, described in hopeful terms as a significant revival.)
Regardless of the number of computer science grads, the www for software developers (world wide want) continues to increase as software becomes more ubiquitous in cell phones, automobiles and any gadget with a battery or power plug.
For programming these devices, though, we may be at the mercy of self-educated apprentices as well as seasoned software engineers whose priorities are to get product out the door rather than coddling the user with best-practice user interfaces.
If you are a builder of software, consider how the design of the user interface can help alleviate mind-numbing drudgery for us keyboard-and-mouse-tethered workers of the information age. I, for one, wont mind paying more for the products of programmers who take time to get the Time Remaining right.
Surely, it will be cheaper than prescription narcotics.
Edward J. Joyce contemplates flashing cursors at CA, Inc., where he is a principal software engineer.