A Brief History of User Interfaces
Tags: history, userinterface, ui
Published: 2022-09-13 12:37:13

User Interfaces (UI) have become part of our daily lives. They take many different forms and shapes. From your smartphone to your laptop to the multimedia system in your car.

Where do we find the forerunner of user interfaces? What was the first user interface? These questions are difficult to answer and different sources name different starting points. Some reach back all the way to the [first industrial revolution](https://blog.prototypr.io/an-abridged-history-of-ui-7a1d6ce4a324), others [start in the 1960s](https://blog.adobe.com/en/publish/2017/07/18/a-brief-history-of-ui-and-whats-coming.html#gs.y968cj). Today there are several different types of user interfaces, wikipedia lists 29 different types. 

## Batch Interfaces
The batch era of interfaces dates back to the post-war time until the late 1960s. Computing power was expensive and rare, interfaces were rudimentary.

![Punched paper cards were used as input for computers](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v7987koj67mzxjf608f1.png)

Batch interfaces are non-interactive user interfaces, where the user specifies all the details of the batch job in advance to batch processing, and receives the output when all the processing is done. Just to give you an impression of how difficult and tedious it was to generate input, look at the picture below. Punched cards like this paper tape were used as input. And since there was no operator’s console as we know it today, interacting with the machine in real time was not possible. At the late stage of the batch era, so-called compile and go systems could be implemented. These programming language processors enabled monitoring programs to be used for these machines. For the development towards more interactive interfaces the batch era was crucial. And guess what, the first monitoring programs were mainly used to improve error-finding – one of the earliest precursors of today’s UI testing.

## Command-line Interfaces (CLI)
_Command-line interfaces_ (CLIs) evolved from batch monitors that were connected to the system console. They prompt the user to provide input by typing a command with the keyboard, the responding output is readable text on the computer monitor. This sounds a lot more familiar to what computer scientists and engineers do until today. These interfaces can be seen as the most basic and popular interface, as it is still known and learned by more technically advanced users. 

## Graphical User Interface (GUI)
In the late 1960s computer and internet pioneer Douglas Engelbart demonstrated the NLS (oN-Line System) to the world. What made NLS so unique and futuristic? The system used a mouse, pointers, hypertext and multiple windows. This was introduced in the very same decade, when punched cards from the batch era were still being used, to give this huge leap some context.

![Modern user interfaces come in all sizes and formats.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7qe2hhmhdt8b2npy1cxb.png)

Generally speaking, graphical user interfaces (GUIs) accept input via devices such as keyboards and mouse and they provide articulated graphical output on the computer monitor. The two most popular principles in GUI design today are the object-oriented user interfaces and application-oriented interfaces.