Source Details
- Video Title:
- Keyboards & Command Line Interfaces: Crash Course Computer Science #22
- Channel/Author:
- CrashCourse
- Publication Date:
- August 03, 2017
- URL:
1. Introduction: The Evolution of Human-Computer Interaction
Early computing devices, such as mechanical and electro-mechanical machines like Colossus and ENIAC, primarily relied on physical controls (gears, knobs, switches) and patch wires for input, with output often limited to paper printouts.
"It could take weeks to enter in a single program, let alone run it, and to get data out after running a program, results were most often printed to paper."
The design philosophy of this era prioritized the computer's ease of reading over human understanding. For instance, punch tape was "explicitly designed to be easy for computers to read," despite being unintuitive for humans. Early computers were also non-interactive, running programs to completion without real-time human input due to their high cost.
This began to change in the late 1950s with the advent of smaller, more affordable computers enabling human-in-the-loop interaction, and large, sophisticated machines supporting multitasking and time-sharing. These developments necessitated new input methods, leading to the adoption of keyboards.
2. The Rise of Keyboards and QWERTY
Keyboards, building on centuries of typing machine development, became the ubiquitous data entry mechanism. Christopher Latham Sholes invented the modern typewriter in 1868, which was refined and commercialized by 1874. His design introduced the "unusual keyboard layout that you know well – QWERTY."
The exact reason for the QWERTY layout remains debated, with the prevalent theory suggesting it aimed to separate common letter pairings to prevent typebar jamming. However, the source notes this explanation is "probably false, or at least not the full story," as QWERTY actually places "many common letter pairs together, like 'TH' and 'ER'." Regardless of its origins, the commercial success of Sholes's typewriter led competitor companies to duplicate the QWERTY design. This established a significant "switching barrier or switching cost" for users, explaining why QWERTY remains dominant nearly a century and a half later, despite numerous alternative layouts being proposed. While QWERTY is widespread, international variants like French AZERTY and Central European QWERTZ exist.
Initially, typewriters were introduced for "legibility and standardization of documents, not speed," with Sholes not envisioning typing faster than handwriting (around 20 words per minute). However, the desire for speed grew, leading to two key advancements:
- Ten-finger typing: Promoted by Elizabeth Longley around 1880, this technique significantly reduced finger movement and enhanced typing speeds.
- Touch-typing: Frank Edward McGurrin self-taught this method, allowing typing without looking at the keys. His highly publicized typing-speed contest win in 1888 popularized touch-typing.
These innovations enabled professional typists to achieve speeds "upwards of 100 words per minute, much faster than handwriting!"
3. Command Line Interfaces (CLIs)
Computers adapted teletype machines, electromechanically-augmented typewriters used for telegraphs, as their primary interfaces in the 1960s and 70s. These machines could send and receive text electronically.
"Pressing a letter on one teletype keyboard would cause a signal to be sent, over telegraph wires, to a teletype machine on the other end, which would then electromechanically type that letter."
This led to the development of Command Line Interfaces (CLIs), where "users would type a command, hit enter, and then the computer would type back." This "text 'conversation' between a user and a computer went back and forth" and remained the most prevalent form of human-computer interaction until the 1980s.
Examples of common CLI commands include:
ls
: "short for list," used to display files in the current directory.cat [filename]
: "short for concatenate," used to display the contents of a specified file.finger [username]
: a "primitive version of a Find My Friends app" to get information on other network users.cd [directory]
: "change directory," used to navigate between directories.
While computer screens emerged in the 1950s, they were initially "too expensive and low resolution for everyday use." By the 1970s, however, mass production of televisions and advancements in processors and memory made "screen-based equivalents" economically viable. Engineers "simply recycled the existing text-only, teletype protocol" for these new screen-based machines, known as terminals or glass teletypes. These terminals simulated "endless paper" and offered text-in and text-out interaction, indistinguishable from a physical teletype machine from the computer's perspective. By 1971, the US had an estimated 70,000 electromechanical teletype machines and 70,000 screen-based terminals. Screens proved "much better, faster and more flexible," quickly becoming standard by the end of the 1970s, allowing for features like deleting mistakes.
4. Text-Based Entertainment and Enduring Relevance
Despite their apparent primitiveness, CLIs fostered creativity, leading to early interactive, text-based computer games. Notable examples include "Zork," created in 1977, and "Colossal Cave Adventure" (1976). In these games, "players can type in one- or two-word commands to move around, interact with objects, pickup items and so on. The program acts as the narrator, describing locations, possible actions, and the results of those actions." These games, considered the first examples of interactive fiction, evolved into "MUDs or Multi-User Dungeons," which are "the great-forbearers of the awesome graphical MMORPG’s (massive, multiplayer online role playing games) we enjoy today."
CLIs remain powerful and relevant today. "Computer programming is still very much a written task, and as such, command lines are a natural interface." Consequently, "most programmers use command line interfaces as part of their work." They are also "the most common way to access computers that are far away, like a server in a different country." Modern operating systems like Windows, macOS, and Linux still include built-in command line interfaces (e.g., cmd
on Windows, Terminal
on Mac).
5. Conclusion: Lasting Impact
The early advancements in human-computer interaction, particularly the development of keyboards and command line interfaces, continue to have a profound impact on computing today. The enduring presence of the QWERTY keyboard layout on modern devices, including smartphones, and the continued use of CLIs by programmers and for remote access, highlight their foundational importance.