It is hard to say exactly when the WIMP paradigm came into being. The mouse and pointer (or ‘bug’ as it was originally called) came out of the work of Douglas Engelbart and his research staff at the Stanford Research Institute during the mid to late 1960s (his Mother of all Demonstrations is still amazing to watch). It was later, with Xerox Parc’s Alto and Xerox Star, and with the Apple Lisa, that the WIMP approach solidified. Which device got there first is somewhat irrelevant; between them, these early devices established the central features of what we now know as desktop environments.
The ‘WIMP’ paradigm is made up of four key components: windows, icons, menus and a pointer. The approach was highly file-centric when it was conceived, and mimicked the physical world of the office. There were files and file systems, and a desktop containing a variety of objects, such as a wastebasket. (The Xerox Star desktop even had an inbox and outbox for mail.) Multiple files could be worked with simultaneously by having them on the screen at the same time, with windows forming the basis of early multitasking functionality.
For decades the WIMP paradigm dominated the design of graphical user interfaces. It is remarkable how long it was followed for. Contemporary systems like Windows 7, OS X, GNOME and KDE still retain many of the key WIMP characteristics, including windows, desktops, file browsers, menu bars and pointers. Though there have been some minor design innovations, the basic recipe has remained the same for over thirty years, despite major advances computer hardware and UI design approaches.
As computer software and hardware have developed, problems with the WIMP model were discovered. It did not make efficient use of screen real estate. Objects on the desktop got lost underneath windows. Large numbers of menus encouraged GUI complexity and made it difficult for people to find actions when they needed them. The file system proved to be a labour intensive and error-prone method of storing and retrieving data. Windows themselves produced additional management tasks for users, and pointer-based input was found to be inappropriate for mobile devices.
So it is unsurprising that, dominant though it was, the era of the WIMP model is coming to an end. Some parts are inevitably being retained, but the basic formula of windows, icons, menus and pointers is being replaced. Maximized windows have become the norm, largely replacing the simultaneous display of several windows. Menus in the form of menu bars are increasingly uncommon. Pointers and pointing devices (such as mice and touchpads) are finding themselves coexisting with touch interfaces. File management is (quite rightly) being replaced. The desktop is becoming a thing of the past.
There are a number of reasons for the paradigm shift that we are witnessing in the field of GUI design. One of these has been the arrival of touchscreen mobile phones and later tablets. This new class of computing device required a different approach to GUI design, and forced designers to create alternatives to the WIMP model. Free of its constraints, they found the freedom to develop new approaches.
Mobile, touch-based devices like smart phones and tablets have been hugely successful, providing functionality that people value and experiences that they love. This has not merely been a consequence of their form factors or use of touch input. The design of the software found on these devices has been a major contributing factor to their popularity. Mobile, touch-based applications are typically better designed than so-called desktop software. They have better focus, are easier to use and deliver superior user experiences,
Given the success of mobile, touch devices, it is not surprising that they have started to influence the more traditional WIMP environments. OS X is the prime example here. The latest update to Apple’s ‘desktop’ operating system included numerous changes that were clearly influenced by mobile, touch-orientated design, including Launchpad (a facility for launching applications), overlaid scrollbars and fullscreen applications. OS X has demonstrated how design approaches from the touch world can improve that of the pointer world.
WebOS provides another example of mobile, touch orientated design being used on traditional WIMP devices. Though we are yet to see WebOS laptops or desktops in the shops, its designers and developers clearly think that it offers advantages for these kinds of machines, as well as the tablets and mobile phones on which it has already appeared. Now that the code is going open source, I’m sure we will see WebOS being used on laptop and desktop devices in the future. It shows how an operating system that was designed for touch input has much to offer machines that rely on pointing devices for input.
Finally, the release of Windows 8 next year will be a major milestone in the move away from WIMP interfaces. The new Metro interface it will introduce is a variant of that found on Windows Phone 7, and will mark the end of the WIMP approach as the dominant interface paradigm for Windows. Windows 8, it should be emphasised, will not just be targeting tablets. It will also be found on laptops and desktops.
It is clear that the WIMP paradigm has started to give way to new and improved design approaches that have emerged in the mobile space, therefore. However, there is another process that is challenging the dominance of the WIMP paradigm: the increasingly blurred distinction between touch and non-touch devices.
Touch input is coming to a range of devices that have been the traditional habitat of WIMP environments: there are already many models of netbooks that have touchscreens, for example, and standalone monitors with touch input capabilities are increasingly common. At the same time, devices that function both as a tablet and a laptop (such as the Dell Duo, pictured below) have been available for some time, and tablet devices are themselves growing additional input capacities through keyboards, mice and touchpads, which sometimes feature as part of docking stations and cases.
These new types of devices that are emerging require operating systems that can handle both pointing devices and touch screens. An OS that can be used with only touch or only a pointing device will not be appropriate for them. Importantly, these new devices will become increasingly common after the release of Windows 8. Almost every PC sold with Windows 8 preinstalled will have a touchscreen. Many of these devices will also have a keyboard and pointing device.
Where does all this leave GNOME? GNOME 2 was firmly in the WIMP camp. With GNOME 3, we improved on that by starting to move away from the classic WIMP approach. There is no ‘desktop’ in GNOME 3, for example. The new GNOME 3 applications won’t typically behave like normal windows, either. They will be maximized by default and won’t have titlebars when they are maximized. A lot of the time you will not actually be able to tell that there is a window there at all.
Work to make GNOME 3 touch compatible is ongoing. Current design work is focusing on a number of areas, including scrolling. We are also developing touch compatible approaches to application design, so that new GNOME 3 applications will be effective with touchscreens. Here you will find click targets that are the right size for fingers, and we are making use of drag actions for key functionality. We are also planning ahead to make use of multitouch capabilities once they become available.
But touch does not come at the expense of pointing devices. GNOME 3 will remain a highly effective environment for pointer and keyboard input, which we will continue to optimise for. Many of the features of touch design, such as the use of drag actions and kinetic scrolling will be effective and enjoyable when using mouse input. Multitouch can also be used to positive effect with both touchpads and touchscreens. As this work progresses, those of us who contribute to GNOME design are finding that it is possible to create coherent designs that are effective using a variety of input devices.
The time of traditional desktop GUI design is over and a new era is beginning. This offers the opportunity to make software that is better than what we had before. Touch input will play a major part in this new era, but it will exist alongside pointing devices and physical keyboards. Touch capabilities are already coming to laptops and desktops, and almost every new Windows 8 PC will feature a touchscreen. GNOME needs to be ready so that it can be used on these new devices. Thankfully, we’re already on the path to create great new user experiences that work with a variety of input devices.