History of GUIs - The Windows 1.0 - 3.11 User Interface

Heiko Drewes, 12/16/2004

Introduction

Windows is a trade mark of the Microsoft corporation and nowadays it is a synonym for graphical user interfaces. But the graphical user interface was not an invention of Microsoft. And it was also not Microsoft to provide the first commercially available graphical user interface. The graphical user interface was invented by Xerox in 1972 and made a commercially available 1981[1]. Apple made the Lisa system in 1983[2], which wasn't successful in the market, because it was to early. The system requirements, ridiculously for today, made it prohibitively expansive for a mass market. The second try of Apple with the Macintosh in the year 1985[3] was more successful and they gained a noticeable number of users a long time before the Windows system became popular. The same was true for the graphical user interface of Atari and the X-Window system for UNIX (Motif).

While the Macintosh and the Atari system were bound to special hardware manufactured by the same company which programmed the software, the windows software was made for the widespread industry PC standard based on the Intel 80xxx processors which were comparable cheap. In many cases it was not even necessary to buy the hardware, because it was already there.

Most probably it was not only the price, which caused the overwhelming success of the Windows system, but also the interoperability with the old text based system, the legendary DOS. The backward compatibility was and still is most crucial for anyone who used computer systems before.

An Overview of 16-bit Windows

Microsoft states on their web site : "On November 10, 1983, Microsoft announced Microsoft Windows®, an extension of the MS-DOS® operating system that would provide a graphical operating environment for PC users. With Windows, the graphical user interface (GUI) era at Microsoft had begun." [4] but the release of the first Windows was in 1985 [5].

The breakthrough on the market happened much later with Windows 3.0 in the year 1990. The former versions 1.0 and 2.0 had no importance for the market.

The Version 3.1 didn't bring big much innovations but fixed some bugs and provided some API calls, which were missing in Windows 3.0 and were of high importance for programming, for example proper synchronization for the RS232 serial communication. A short time after the release of version 3.11 a version Windows for Workgroups 3.11 (WfW) added network capabilities as an intrinsic part of the system. This was the last 16-bit Windows version.

Year: Windows version

1985: Windows 1.0

1987: Windows 2.0

1990: Windows 3.0

1993: Windows for Workgroups 3.11

The Usability of 16-bit Windows

At the time of 16-bit Windows the word usability was not well known in public. Most effort was done to make the available resources of computers usable at all. The main question was not the usability of the system, but whether it is working at all.

Because the graphical user interfaces of that time provided more or less the same functionality, the following is true for other graphical user interfaces too.

Usability provided by the OS and the API

Windows gave a graphical multitask system to the users. Of course the UNIX system had multitask capabilities a long time before, but its use was left to experts who knew how to send a process to the background. With the graphical surface users could switch among several concurrently running applications with seeing them at the same time - a big increase in usability.

The Windows operating system introduced an abstraction layer for graphical devices. The former DOS didn't have this and as a consequence the code to control the graphical capabilities of a specific printer, at that time mostly needle printers, was part of the application program. So an application was only able to handle printers it was programmed for and the better capability of a new printer couldn't be used. With the abstraction layer for graphical devices a manufacturer of graphic cards or printers had to provide a driver and all Windows applications were able to use the benefits of a new and better device.

With the Windows API programmers could support the clipboard mechanism. This gave the users the possibility to exchange data from one application to another. This was a giant leap in usability. Before that, a user had to quit the word processor, enter the database program, write down the data on a sheet of paper, restart the word processor again and type in the data from the paper.

The API gave also calls to standard user interactions, such like selecting a font. Beside the benefit for the programmer saving a lot of coding, this API calls gave all application an uniform user interface.

Usability provided by the GUI

One of the big advantages of graphical user interfaces is described by the terrible acronym WYSIWYG meaning 'What you see is what you get'. Because the main purpose for computers was to create documents, Microsoft used this for persuasive marketing. At that time a new technology for printing, the needle printer, made it possible to produce graphical output on paper. The graphical capabilities made it possible to use different fonts in different sizes with character attributes like bold and italic within one document. It was also possible to use proportional font instead of the mono spaced fonts used before. The alpha-numerical displays were only able to view on type of font in one size with fixed character width and so there was no feedback on where the line or page will break, whether a caption will fit in one line or how much space will be needed for an included graphic. A nice document needed an iterative process of printing an correcting. The WYSIWYG concept promised to increase the productivity.

Another topic stressed by the marketing was the slogan of intuitive use. With a mouse it was possible to point on the objects the users wanted to manipulate instead of using a complex syntax. The calculator included in Windows looked like a real calculator of physical world and worked in the same way. Metaphors like grip, drag and drop and icons like the waste bin were easy to use without learning commands. The companies could save the expensive computer training of their employees.

With graphical surfaces new type of application were possible. The famous example is Paintbrush, a program to paint bitmaps. Paintbrush used tool driven interaction by providing a tool palette with tools like a brush or an eraser. For feedback the cursor had the shape of selected tool.

The Problems

Technical problems

One of the most important precondition for usability is correct functioning and this was the big problem of the 16-bit windows versions. Users frequently experienced hanging systems which made a reboot unavoidable for the cost of loosing the work of the last hours. This frustration was real poison for acceptance.

One reason for the system instability was the technical concept of cooperative multitasking, also called preemptive multitasking. The system passed total control to an application, relying on getting back control within a reasonable time.

Another source of technical problems was the memory management. The system didn't know which application allocated memory and couldn't free it in the case the application forgot to do it. Such memory leaks were quite common and after some time of working the system was out of memory.

While the well-behavior of the system depended on well designed and bug free applications, the programming environment was the most nasty one can imagine. The segmented memory model with long (32 bit) and short (16 bit) pointers pointing on small (< 64 kbyte) or big (> 64 kbyte) memory objects made programming really cumbersome.

There were also some speed problems. A well trained typist was able to type faster than the text processor Word could process the characters.

Usability problems

Not everybody was able to handle the mouse. Especially the double click wasn't easy for all. People had to learn new motor skills, which was difficult for the elderly. To learn handling the mouse, Windows came along with the game solitaire.

Other usability problems rose from the new freedom of the system. People who were used to their small notes with keystroke sequences got confused by the fact that there were several ways to get the same result. It was even harder for them to understand that the reaction of a keystroke depends on the context, e.g. which application has the focus. A frequent observation was, that people didn't find their open application because it was hidden behind another window or it was minimized. As a consequence they started another instance of their application and blamed the system, that it forgot the changes done in the hidden application.

The Backward View

It is a funny experiment to ask a user, who was a experienced Windows 3.1 user ten years ago, to give a short demonstration how to interact with Windows 3.1. She or he will start to use the right mouse button and realize, that this action has no effect in the file manager, which nowadays is called explorer. From this we learn, that users easily adapt to improvements of the system and take them for granted.

[1] http://toastytech.com/guis/star.html

[2] http://inventors.about.com/library/weekly/aa043099.htm

[3] http://inventors.about.com/library/weekly/aa051599.htm

[4] http://www.microsoft.com/windows/WinHistoryProGraphic.mspx

[5] http://toastytech.com/guis/guitimeline.html