My case study is on the TheÂ Development ofÂ aÂ Graphical User InterfaceÂ including Desktop EnvironmentsÂ inÂ theÂ LinuxÂ Operating System. In my case study I talk of the initial need for a GUI and the reasons why and where it was developed. I then move onto the first computers to include a GUI both the commercially successful ones and the not so commercially successful. I talk about the history behind the X Window System and the progression to the desktop environments. I have also included some history and observations about three of the most successful desktop environments KDE, GNOME & Xfce.
1.1 What is a GUI?
A GUI (Graphical User Interface) is a way of interacting with a computer using symbols and icons. Before GUI users would have to input complicated commands using a command line interface like DOS. With GUI tasks can be carried out much easier and quicker by the simple click of a button.
1.2 Development of GUI
In the early 70's Xerox was making its fortune selling photocopiers. Then Xerox realised a whole new world of computing was about to begin they decided they better have their stake in this upcoming market, this lead to the formation of PARC (Palo Alto Research Center). Here the top computer scientists from all over the country gathered to work together researching and inventing new ideas for the future of computing. One of their first inventions was a laser printer which demanded a more graphical way for a computer to prepare documents (Ref 2.1). A computer like this did not exist at this time so PARC decided to build their own, this lead to the creation of the Alto.
1.3 The Alto
The Alto which was first completed in 1973 was a relatively small machine. It had a screen the same size and orientation as a printed page. It was the first system to work on all of the elements of the modern Graphical User Interface (Ref2.2). The machine was never actually sold as it was meant for research but some were donated to various organisations and many were used within the PARC facilities. Some of the features included:
608*808 tall monochrome bit-mapped video display
1.4 Apple Lisa
1979 & Steve Jobs is working with the Apple Lisa team. This would be Apples first attempt to sell a computer which was able to operate a graphical user interface but the project was mainly aimed towards the business market rather than home users. The price is said to have been around $10,000 which was much too expensive for the average customer. In 1982 Jobs was kicked off the Lisa team. He then teamed up with engineer Jeff Raskin who together created The Macintosh.
The Macintosh was released in 1984. It also featured a graphical user interface. Desk accessories included a notepad, calculator and alarm clock. Prices are said to have been around $2,500 at the time which was a far cry from the $10,000 required to purchase the Apple Lisa which lead it to be the 1st commercially successful product to use a multi-panel window GUI (Ref2.3). This lead to the decline in sales of Lisa & Lisa was later taken off market around 1985.
Features of the Macintosh included:
128kb (built in ) memory later expanded to 512kb with the Macintosh512
3.5inch floppy disk drive
9" inbuilt monitor
Desk accessories included calculator, notepad & alarm clock
1.6 X Window System
In 1984 work began on the X Window System in MIT & Stanford. This was a collaboration between Jim Gettys (Project Athena) & Bob Scheifler (MIT Laboratory for Computer Science). Scheifler required a usable display environment for debugging the Argus system whereas Getty's needed a platform- independent graphics system to link multiple vendor systems. These problems were overcome with the X Window System by a protocol that could both run local applications and call on remote resources.
X Window System is an open, cross-platform, client/server system for managing a windowed GUI in a distributed network (Ref2.4). It is not a product by Microsoft. X Window System is a network environment designed from the ground up as a multi-user system. X Window System is a layer that sits between the hardware and the GUI also known as the hardware abstraction layer. X Window System is more often referred to as X or X11(latest version).
X consists of X Server, X Client, Window Manager, Desktop Environment & Video Adapter Card Hardware.
X Server acts as the display to which programs are drawn onto. These programs are known as the X Client. X Client can be run either remotely or locally. X Client can include applications like word-processors and games. Although the X Server performs the task of displaying the X Client it is not aware of the hardware the X Client is running on. The Window Manager is an X Client. The X Server on its own cannot manage window tasks instead it uses Window Manager to manage the tasks of windows, widgets, minimizing and maximizing windows among other tasks. Before the Desktop Environment became common the main role of the Window Manager was the look and feel of the GUI which the Window Manager could only perform at the window level.
1.7 Forks of X
Forks of the X Window System included the XFree86 which was released in the 1990's (Ref2.5) and the XOrg. Both are Open Source Software and are freely available.
1.8 Desktop Environments
A desktop environment usually includes a window manager, file manager, libraries and themes which work together to provide look, feel and functionality to the desktop. Two of the most common desktop environments are KDE & GNOME.
KDE (K Desktop Environment) was created in 1996. KDE is maintained by an international community working on the development and distribution of Free, Open Source Software for desktop and portable computing (Ref2.6). KDE was built for users on Linux and Unix type machines. It acts as a Windowing Manager and Graphical User Interface. KDE uses a Window Manager called KWin and runs on a toolkit known as Qt (C++). Qt (made by Trolltech) is also found on platforms including mobile phones and even Windows. Qt was originally not under a free software licence as Trolltech was also a commercial company but the licence was later granted under the GPL free software licence in 1998(Ref2.7). Some of KDE's features include Konqueror, a browser (like Windows) to browse files both local and on the net and KOffice Software (like Microsoft office) which includes Kword, kpresenter, Kcalc and Kontact. It is the default working environment for many Linux distributions such as Kubuntu and is suited more towards new model computers.
GNOME (GNU Network Object Model Environment) was initially released in 1999 and is mainly developed by Red Hat employees. It also acts as a desktop environment and uses the Metacity Window Manager. It is also composed entirely of free and open source software. GNOME is based on the GTK toolkit ( C )(Ref2.8). GNOME uses the Nautilus as its default file browser. It includes utilities such as an image viewer, movie player, text editor, calculator and more. Like KDE it is said to run better on new model computers.
Xfce is another popular desktop environment. Developed in 1996 XFCE originally stood for XForms Common Environment but was later renamed to Xfce. Xfce originally used the XForms toolkit which was the main reason it was not included in Red Hat Linux. Red Hat Linux only accepted open source software, the software also had to be licenced under the GPL or similar licence but Xfce was closed source at the time. Xfce like both KDE & GNOME runs on UNIX-like operating systems and like GNOME is uses the QTK toolkit. (Ref2.9)Xfce is known as a lightweight but powerful desktop environment and is said to run a lot better on older computers. It features core components like a Window Manager, Desktop Manager, Panel, Session Manager, Application Finder, File Manager and a Setting Manager. Other basic applications are available as plugins and these include terminal emulator, text editor, sound mixer, iCal and a CD and DVD burner (Ref2.10).
1.12 Main visual differences from a user point of view between KDE, GNOME (latest Versions).
KDE is much like Microsoft Windows. The KDE start menu is positioned in the same place as Microsoft Windows and by default has one menu bar but this can be changed by the user to their preferred settings. GNOME has its toolbar at the top of the screen and a pop-out dock on the left. The KMenu (Navigation Menu) provides some quick-access short cuts and submenus at the bottom of the menu bar and has a handy search bar at the top. GNOME doesn't have menus instead you press the main button then simply type in what you're looking for. When re-naming a file you have a normal (Microsoft) pop up menu but in GNOME this is done inline. The file managers are very different too, KDE has a menu with 6 main options and each option has numerous other options in submenus whereas GNOME has listed options and tabbed pages.
1.13 Latest Versions
KDE developers have now started to call it the (KDE SC) KDE Software Compilation.
Some changes of KDE include Konqueror (file manager) which has now been updated to the Dolphin file manager also KDE's menu has had an update from KMenu to Kickoff. GNOME has had some changes too. GNOME Shell replaced the original GNOME Panel and Mutter replaced Metacity as the GNOME default window manager. Some of the default applications have also gone like GNOME Color Manager and GNOME Contacts.
I have tried to include what I think are the most important facts and most relevant information to which I have based my case study. While researching the background of the GUI I came across some interesting events in history involved in the progression of GUI that I haven't mentioned in my Case Study. Firstly the famous PARC visit in 1979 where Steve Jobs from Apple went to visit the PARC labs and saw the Alto, then there's the 1984 commercial for Macintosh that was aired during the Super Bowl in January 1984 which I have to say I thought was amazing. I also read a lot of reviews and documentation on both KDE & GNOME. Although KDE is probably the more visually pleasing I would tend to agree with the majority and say I find the KDE menus a lot harder to navigate around than GNOME but that is just my opinion. Also the effort and dedication that the two communities both KDE and GNOME put in to provide us with Free Open Source Software is another important point and factor to its development. The future of the GUI is hard to imagine but with Computer Scientists like Pranav and Sixth Sense Technology or John Underkoffler and his data interface from Minority Report it looks like it's going to be amazing.