Have you ever wondered why some people are afraid of computers? There’s an obvious answer, but it probably isn’t the right one. The problem isn’t the user; it’s the way the user is forced to interact with the computer.
For as long as we’ve been using computers we’ve been hobbled by the interface. The first people who had to use computers were the people who made them; early computers were used for specific tasks – like calculating the trajectory of artillery shells. There was little interaction. As computers became more general the normal method of input was by punched card
; each card the same size as a dollar bill.
Old computers used punch cards.
You may not think that old punch cards have anything to do with new computers, but you’d be surprised. Each punch card was 80 punches wide by 12 high; this severely restricted how much data a card could carry so shortcuts were made. The answer was to reduce the date from four characters to two. Because it was easier to leave the system as it was, these two digits became the cause of the so-called Millenium Bug
– making January 1st 2000 the day when we were supposed to go back in time.
It’s also probably no coincidence that the standard width of a Telnet
window is 80 characters wide – a very similar grid to that of a punch card. While using Command Line Interfaces like Telnet is quicker than programming by punched card, such an interface still takes a great deal of trained skill. You’re required to learn many commands and the proper syntax with which to use them. Additionally, much of the terminology from the older systems remained. Files of cards became files of data, files were organised into directories, queued into batches and then run through the machine.
A real batch file!
These are metaphors in tech-speak, but they are actually more like similes. A file is like a group of punch cards, a directory of data is like a card directory (a box of cards), and a running a batch of files is like running a batch command (putting a sequence of files into the input queue).
The Holy Grail of interfaces
While a command line interface may be useful to people in the know, it’s impenetrable to novice users. You need to know the inner workings of the operating system to be able to access and manipulate the data it contains. Ideally what we want is a computer that responds to our thoughts and knows what we want without having to move a pointer or verbalise our thoughts. The ideal interface would give us access to all its data and actions, without complicating matters with the inner workings of the device. The technical term for this is transparency.
The CLI isn't exactly intuitive.