Software
User Interfaces (UI)
We’ve been talking about software abstractly, but now it’s time to look at it from the user’s perspective. A natural place to start is the User Interface.
User Interface (UI)
The User Interface, or UI, is where humans and machines interact. The goal is to allow people to interact with these machines (computers, smartphones etc) in a simple, predictable way that allows them to achieve some desired result.
To interact with machines, we use input devices like a keyboard or mouse and output devices like your computer monitor, smartphone screen, speakers, or printer.
Command Line Interface (CLI)
Early computing devices used a Command Line Interface (CLI) where the user types in commands (instructions) as lines of text to interact with the computer. This kind of interaction is linear – the user types in a command, and the machine responds. CLIs have a steep learning curve, as you need to know a large number of commands to be able to interact with the computer.
Command line interfaces haven’t disappeared, although they are hidden out of sight of regular users.
Many developers and technical users still choose to use the CLIs in modern operating systems as they allow for complex interaction with the software. It’s kind of similar to modern cars – while most of us are happy to simply drive around and occasionally glance at the dashboard to check our gas or electricity levels, a mechanic still needs to be able to get into the engine bay and fix any issues that may come along.
Graphical User Interface (GUI)
As display technology improved to the level where they could start to display graphics (images), and, eventually, colours, we moved from command lines to the Graphical User Interface (GUI). GUIs use text, graphics, pointers (using a mouse or touchpad), and windows to convey information to a user.
This information is generally shown in the form of windows, pages or screens, where each contains a mix of text, images, and interactive elements like buttons or links.
The move to GUIs was a major contributor to the growth in personal computers in the 1980s, as it was suddenly easy for non-technical users to use a PC. Apple’s Macintosh was the first commercially successful GUI-based computer, and the rest of the PC world followed soon after when Microsoft released their GUI-driven operating system, Windows.
More recently, smartphones and tablets moved our input devices from keyboards and mice to touchscreens, opening up a new set of gesture-based interactions like swiping, pulling and pinching.
Looking ahead
Some other common interfaces include Voice-controlled User Interfaces (VUI) like Apple’s Siri or Amazon’s Alexa, which let us interact with our devices using speech. We also have video game consoles that use inputs like game controllers and, more recently, outputs like virtual reality (VR) headsets to interact with 3D virtual environments.