Keystroke Madness - Embedded.com

Keystroke Madness

There’s a huge distance between hype and reality in many industries, but in the computer business that gap asymptotically approaches infinity.

Remember Y2K? The world as we knew it was doomed. All records would be lost; banking systems were sure to crumble. Anyone not stuffing cash into a mattress wouldn’t survive.

Then there’s the paperless office. With a computer on everyone’s desk we can just email files to each other. No one needs hardcopies any more. Yet Staples has an entire aisle packed with boxed reams of printer paper. An entire new industry appeared to feed our computers with various flavors of specialty paper. Any big city has a fleet of document destruction trucks roaming the business district, picking up tons of waste material all generated by our paperless computing culture.

I once ran into a small office where the printer dumped directly into a shredder. That seemed cynically appropriate.

Another favorite icon of mine is the notion of computers as productivity tools. In many cases that’s true, but all too often the computer brings efficiency to a near halt. How much time do you spend each week updating software, removing spyware, or just tuning the machine to work well (before the Mac and Linux users weigh in, I know this is the karmic price of being one of hundreds of millions who use Windows.)

This weekend my son and I traveled to New Orleans so he could resume his Katrina-interrupted education. Checking into the hotel – one for which we had reservations – took a good ten minutes as the receptionist furiously banged away at the computer keyboard. Though I’d planned to spend two days we finished up early, so the next morning I checked out and asked the receptionist to cut a night off the planned stay.

As one who is fascinated with the impact of computing and technology on our lives I sometimes count keystrokes when engaged in some normal but tech-thwarted activity. Since the check-in had been so painful I started counting. And counting. And counting even more. The very polite young guy behind the counter was quite the fast typist so my count was more an estimate than a precise accounting. But the simple check-out process which was once accomplished with a minimum of fuss using 3×5 cards took some 450 keystrokes.

This is a productivity tool? What were the software designers thinking?

Most airlines manage to find a reservation using the first couple of letters of one’s last name, but here in the Crescent City, at this upscale hotel, first, last and middle initial were required. Then the room number (couldn’t the machine correlate these two?) Check-out date… “uh, today!” After that his fingers darted over the keyboard as if he and the machine were engaged in some obscure ritual whose nature I couldn’t divine.

Ironically on the flight home I read Kim Vicente’s “The Human Factor,” a well-written but mostly trite book about the impact of technology on our lives. He contends, as we’ve all experienced, that far too much of the technology we use works against us, rather than as an aid, as demonstrated just that morning in the hotel. And even more ironically, the book itself was user-unfriendly. Copious footnotes link to a section in the back of the book, which indexes notes by chapter number… not the chapter title used throughout the rest of the volume.

Engineers who build consumer products should think deeply about how our designs affect the people who use them. Though there are plenty of books about building reasonable user interfaces, I think Donald Norman’s “The Design of Everyday Things” is the best book extant about how our designs should ease the user experience. You might think that a discussion of the proper placement of door knobs sounds dull, but in fact Norman’s clear writing makes the subject fascinating. He draws a lot of lessons that we computer folks simply must learn.

What do you think? Do computers sometimes inexcusably get in your way?

Jack G. Ganssle is a lecturer and consultant on embedded development issues. He conducts seminars on embedded systems and helps companies with their embedded challenges. Contact him at . His website is .


Computers getting in the way? Where to begin?

1) The unreadable UPC barcode is probably my favorite example. If the computer doesn't recognize it, I can't buy it. Even if it has a properly attached price tag.

2) Point of sale debit & credit card terminals are a close second. I actually like these myself, but heaven help the shopper who gets in line behind my mother when she's trying to use one. The fact that the terminals behave differently from one store to another doesn't help.

I suspect most of the hindrances come from poor design – especially at the user interface. Computers usually do what they're told – the trick is to make the user tell it to do the right thing.

– Dave Hinerman


Anyone who has ever served (been condemned to) time on a standards committee has run into this before – everyone has a different opinion of how something should be done that eveentually every contingency winds up in the damn software.

– Tom Mazowiesky


Computers don't get in the way, it's the poorly designed software that causes all the problems. A computer is an inanimate object. Its resources are managed by the software that uses those resources. If you must place blame, place it on the software designer. Really, who's to blame… a computer? Or the software designer that uses a pointer incorreclty which crashes your system?

– Steve King


🙂 the poll shows me these numbers : 12 – 12 – 8 – 50 – 19. The sum is 101%Screenshot available 🙂

– Daniel Werzberger


Another good book is “The Humane Interface” by the late Jef Raskin.

– Tim Flynn


The problem is that most computing technology is designed by engineers for engineers. And engineers, in spite of all the complaining like to figure out how to work around a design flaw.

But as technology has trickled down into the consumer class, users are pickier and less patient than the early adopters. Technology won't succeed unless it can be used easily and reliably now. The good news is that through embedded computing and electronic system level design methodologies, the needs of the end user are being considered. Our desktop and laptop computers will be very different in the next decade.

– Lou Covey


The keyboard itself, one of the most gawd awful mistakes carrying on.

Possibly some designers cannot understand an average user, but even professional tools can be so stupidly “designed”.

– kalpak dabir


The biggest computer inefficiency fiasco has to be the menu systems I must navigate when calling any big corporation. I'm sorry, any menu that is more than 1-deep in order to speak to a customer service representative is a very bad design. Never mind those which require me to enter my 16 digit account number followed by my zip code, date of birth and Social sercurity number. Then there is the lack of standardization (do you follow entries by a pound sign or not? Can you press 0 at any time to speak to a live person?) And I don't want to speak to a machine in the meantime either. It's amazing how long some of these systems will string you along.

Not related directly to computers but very much a systems process, drive thru banking is something else I hate (and avoid). It takes me about 3 times as long to perform routine transactions than to simply do it the old fashioned way of waiting in line for a teller inside. Pneumatic tubes are old technology and a horribly inefficient means of communication. Get rid of them! Never mind the horrible fidelity of the speaker systems.

– Tiger Joe Sallmen


The poll results of Daniel illustrate the dilemma very well. Perhaps it should have displayed: 11.61835-11.61835-7.7633-50-19. What is more important? The fact that the first two are identical, readability, or adding up to 100!

– Alan Gray


Jack, It's been a while since I've used airplains on a regular basis, but IIRC, the airline ticketing folks used to do things so quickly because everything they could possibly want to do had a 2 or 3 letter code. A good swift ticket agent only had to memorize half a jillion codes. Perhaps a steep learning curve, but once learn't, it promoted a very fast interaction with the computer, and kept the customers moving.

In the case of the hotel desk clerk, everything is a series of menus that the clerk has to drill down through or some such. Or perhaps for every party checking out, the clerk starts the “Checkout Wizard”, which flips him through a series of necessary processes and action items. At the end, the party is checked out. A well thought out system makes it possible for anyone to do the task. With no special skills required, the cost of labor to perform that task is significantly reduced. Now, any booth potato can sit behind the counter and check people out while thumbing the latest copy of People. For the cost of extra keystrokes, the hotel industry saves X dollars per hour per clerk per hotel.

My beef with POS terminals is the card reader. Consider the credit card reader with the horizontal card reading slot. Swipe it left or swipe it right, it doesn't care, it will read the card just nice. Why can't they make a dip style card reader with four heads? You dip the card in, and no matter how it's oriented, the card gets read when you pull it out. Why can't the card makers put a mag strip on all four possible positions, so even with a single-head card reader, no matter how the card is oriented, it's going to read. Customers will move through the line so fast that the hotel clerk will be forced to buy the copy of People instead of thumbing it at the check stand while he waits for clueless customers to use the credit card reader.

– Greg Feneis


I'll pile on the point-of-sale bandwagon. It drives me nuts to see the glaring design issues that affect millions of people every day…

* Painfully slow POS user interfaces, as if they're stretching old technology to fill new requirements – but this is new hardware, and it's always been lousy!

* POS terminals that won't let you swipe before all the items ring up, magnifying the slow user interface. After all, things only happen the way the developer planned, right?

* Having to first confirm the grand total, then wait to sign (again with the slow user interface). Why not both in one step? That's what we used to do with paper receipts…

* The cashier can't swipe your card; but after you do it, they handle the card anyway to enter the last 4 embossed digits.

* When the self-service lane requires no signature under $50, but the cashier lane requires signature and an ID card

Argh!!

– Richard H.


A 2.4 GHz processor doesn't mean a thing if the human trying to run it has to work at 10 strokes per second keyboard speed to serve a customer or to perform a simple function. I design embedded XP (yeah I know that's an oxymoronic pair of words!) systems and the biggest complaint I have is that the typical application programmer hasn't a clue about human IO design. A lot of the software is used on touchscreen systems. Almost without a doubt, the icons/buttons the users need to touch to operate the software end up on the screen edge where the touch system has the most problem getting a good read off the operator's fingers. Or the buttons are too small. Or the sliders they use are too narrow. Or the targets don't have any visible target area. Or the target requires a RIGHT mouse key click to reveal all options. Or the real topper, to shutdown the application requires typing a password into a small Windows style textbox WITHOUT A KEYBOARD on the system!

Having menus more than 2 deep is likewise idiocy. Having to move a mouse cursor over two to three menus to select a menu option is more work than its worth and causes major user issues. Try to remember where all those 3rd level down menu options are in Visual Studio or Borland's Delphi. Try reconfiguring your satellite dish receiver settop box! Picking a channel to watch is easy but trying to program a record time for your DVR is a pain-in-the-backside.

I test the application with people who have no clue as to the purpose of the application to see how long it takes them to figure out how all the buttons work and if they can operate the software. If they can figure it out in 10 minutes and it all works, its a keeper. If not, it goes back to the application programmer with notes indicating values for size and drag and drop characteristics along with font types and sizes for use in their screen objects. Using hover events to make the target popup bigger is a favorite technique I encourage so that users get visual clues and an easier target to click. The best model for easy-on-the-user features I've found yet are the ticket-less terminals at airports.

– Miles Wade


Thank you for your eloquent and well-thought-out article, “Keystroke Madness”.

The long check-in and check-out process you described reminded me again how hard (but important) it is to make simple things simple in user interfaces.

Also, I am glad to see that someone else found The Design of Everyday Things interesting and helpful. Two other books you might enjoy, if you haven’t read them already, are “Why Flip a Coin: The Art and Science of Good Decisions” by H. W. Lewis, and “Are Your Lights On?: How to Figure Out What the Problem Really Is” by Donald C. Gause and Gerald M. Weinberg.

Another suggestion is To Engineer is Human: The Role of Failure inSuccessful Design, by Henry Petroski.

– Michael Rodby


It's not just software. Hardware we use daily is equally bad. Why are we forced to use double click, instead of single click, to open a program; look at white screen, instead of black screen (or reverse video or Borland Classic screen); type on deliberately slowed-down qwerty keyboard, instead of Dvorak keyboard? And why is it so hard to find regular aspect screen laptops these days? My laptop's 15.4″ widescreen is actually shorter in height than my previous 14″ regular screen (I prefer to see more lines of code per page). Combine it with UXGA display, it now becomes totally illegible at regular font size. This UXGA widescreen is a new standard issue laptop for a billion-dollar business, and of course that had actually stopped the plant from running, due to users' fatigue on plant floor. Wide screen laptops are good for one thing only – watching movies. A few 'good' progresses from Microsoft these days are a magnifying button on it's new mouse and an old-fashioned and improved natural keyboard (more curved, reverse angle, inverted T, etc.). People should complain about these hazardous computers, to force manufacturers to go back to good design (remember Classic Coke?).

– Patrick Wong


Don't get sick…

http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=353015

– Rick Schrenker


IMHO, Change, especially radical change, takes time, for technology to mature. The designers, think, and think a lot about the product, but they cannot think of all tje easy ways of use. Its agreed that these interfaces can be made userfriendly. It comes with experience and time …

A hotel booking could have been faster by using a card and signature. But checking your reservation details from your desktop computer back home would have been more difficult!!!

– Britto

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.