Subscribe to lar3ry's Blog        RSS Feed

It's Hard to Make Things Easy

Icon Leave Comment
"It's Hard to Make Things Easy"
- Ted Nelson (1974)

Ted Nelson wrote a book in 1974 that affected me profoundly. It was a two-sided book, each side being a complete book. One side was called "Dream Machines", and the other, "Computer Lib". I still have that book, and recently, I have been noticing that some of the things that I took away as positive thoughts are being widely ignored by programmers.

In Dream Machines, Nelson says "It's hard to make things easy." He spoke with reference to programs that, though they did the job and worked well, almost needed a programmer to understand how to use them. Some of the problems were with terminology. Imagine a user being asked "do you want to populate an array of scalar variables?" Well, back then, IBM was the "big guys", and DEC (Digital Eqipment Corporation) and a few other mini-computer companies were the "little guys".

The little guys were making an effort to make things a little easier for the end user, but the end users were "computer operators" whose job it was to accept "jobs", run them, and place the output (usually printouts) into compartments for the programmers or the real "end users" to pick up. The printouts destined for the various departments, like Accounting, or Production, or Personnal, were sometimes in easy to understand form, but often were not, being presented in a sort of shorthand or jargon.

Folks using mini-computers were among the first to be allowed to sit at terminals and react directly with the main computer, and soon they started complaining about the arcane nature of running the programs they needed. They wanted things to be made easier for them. They wanted less jargon (or at least, jargon they already understood), easier ways to enter data, better ways of visualizing output, and so on.

Eventually, things progressed, and these days, we have marvellous programs that do amazing things.. easy to use, with mouse input and keyboard shortcuts, and visualizations unheard-of even 10 years ago.

But (you knew there was a 'but' coming, right?), there are still programmers who don't realize that making things easy is a desirable part of programming. I see examples all the time. I am asked for my phone number, but when I put it in, I get an error message saying "Only numbers are allowed", and my usual punctuation is rejected. Sorry, no parentheses, hyphens, dots or anything else. Well, Ted was right, for his time. It was hard to make things easy. But these days, it's a lot easier to makes things easy. With a one or two lines of VB.Net or C# code, I can get rid of those pesky punctuation characters, making it easy for the end user, and ending up with a number in exactly the format I need for my program.

The same goes for many other forms of input... credit card numbers, addresses, postal codes, and so on.

Want the user to put something into a TextBox? Don't just tell him to do it when you find it blank, or that his format is wrong, but rather, supply the means to do it, perhaps with an input box, checking to see if his entry can be converted from a 'normal' form to the format you need.

It's simple to supply different ways of doing the same job. Some folks like Menus, some like keyboard shortcuts. The very best programs, in my opinion, are those that allow both. In that way, lesser used commands need not be memorized, because they are in the Menu, and if the shortcut is also shown there, it allows the user to easily memorize the shortcut keys for the command he uses most often.

Try to refrain from the overuse of "Are you sure you want to ...?". Save it for things that matter... things that will be a big problem if the user selected something by mistake, and is not easily fixable.

Always... ALWAYS think of the end user when you code.

"It's a Lot Easier to Make Things Easy."
-lar3ry (2012)

0 Comments On This Entry


Trackbacks for this entry [ Trackback URL ]

There are no Trackbacks for this entry

June 2018

17 18 1920212223


    Recent Entries

    Search My Blog

    0 user(s) viewing

    0 Guests
    0 member(s)
    0 anonymous member(s)