Find Articles in:
All
Business
Reference
Technology
News
Lifestyle

A Common Desktop Environment for platforms based on the UNIX operating system - includes an appendix of CDE APIs - Technology Information - Technical

Hewlett-Packard Journal, April, 1996 by Brian E. Cripe, Jon A. Brewster, Dana E. Laursen

Until the early 1980s most users interacted With their computers via character-mode interfaces - they typed in commands. What happened to change all this was the arrival of proprietary window systems. HP's first window system was embedded in the Integral Personal Computer.[1] By 1989 the X Window System had been adopted as a standard for machines running the UNIX operating system. However, available user interface toolkits, such as HP's CXI widgets, were proprietary. These toolkits provided items such as scroll bars and pop-up menus, and they allowed software developers to create applications that had a consistent look and feel. By 1990 two stable toolkits had emerged, OSF/Motif and Open-Look. [dagger]

The stage was now set for proprietary user environments. A user environment is a collection of programs used by the end user to manage files, invoke applications, and perform routine tasks such as edit text files and send and receive email. HP delivered its first version of HP VUE (Visual User Environment[2] in 1990 with subsequent upgrades continuing to this day.

In March of 1993 representatives from Hewlett-Packard, IBM, Sun Microsystems, and Novell agreed to create a common user environment for UNIX platforms (see the article on page 50). This joint initiative resulted in the specification and development of the Common Desktop Environment (CDE). CDE accomplishes two things: first, it adopts OSF/Motif as the principal user interface toolkit for UNIX systems, and second, it establishes this rich new environment and framework as a standard user environment.

CDE is based on the X Window System from the X Consortium and the Motif graphical user interface from the Open Software Foundation. Fig. 1 shows how these technologies fit together.

The X Window System (X) components include:

* X server. This program writes directly to the user's display hardware. * Xlib. This is a library of function cabs for communicating with the X server. Xlib deals with low-level concepts such as rectangles, arcs, and fonts. It does not know about higher-level concepts such as menus and scroll bars (i.e., interface widgets). * X protocol. This is the data stream that communicates between Xlib and the X server. This data stream can be passed across a network, which gives X the ability to run an application on one system and display the user interface to another system. * Xt. This is the X toolkit, which provides a framework for defining and integrating user interface widgets.

The Motif component is Xm, which is the Motif library that provides a rich collection of user interface widgets such as dialog boxes, menus, buttons, scroll bars, and text editing panes.

Different Views of CDE

The rest of this article provides an overview of CDE from three different perspectives: the end user who uses CDE but does not care about its internal design, the software developer who is writing applications that need to be integrated with CDE, and the system administrator who is responsible for managing systems that run CDE.

End-User's View

Putting together a user environment and application framework such as CDE always forces one to be precise about requirements. Many of the driving inputs for the CDE project turned out to be based on the following end-user requirements:

* Completeness. CDE needs to be a full-service environment covering everything from login to logout. This includes security and authentication, windowing, application launching, file management, email, and so on. * Integration. CDE parts and services need to work together seamlessly. For example, it should be possible to mail a meeting notice with a calendar appointment in it, allowing the recepients to add the event easily to their calendars. Also, CDE utilities need to use CDE APIs (e.g., help, drag and drop, etc.) not only to be consistent with each other, but to be showcase components showing the results of proper use. * Compatibility. Previous applications need to continue to run. This is true for OpenLook, Motif, and terminal-based software. For HP VUE users, we were very interested in ensuring that conversion tools could be created to move configuration information into CDE. * Ease of use. The resulting environment needs to be guided by a standard set of usability principles and tested for usability defects. This work took place at the early stages and during every step of the CDE project.

Getting agreement on these fundamental end-user requirements was critical given the nature of our extended multicompany development team. Many of the more difficult project decisions required coming back to these basics. For example, the drag and drop architecture had to be reworked several times to accomplish the integration ambitions of the team.

The cover of this issue and Mg. 2 show a typical CDE user interface, and Table I lists all the end-user components, some of which are shown in Fig. 1.

                      Table I
                End-User Components

Component                    Function

Login Manager   Graphical login and authentication
Session         Logout to login session save and restore
Manager

Window          X11 Windows compliant window
Manager         manager

Workspace       Window grouping and task switching
Manager

Front Panel     Ubiquitous services access and workspace
                switching
Style Manager   Customization and configuration

File Manager    File manipulation services

Application     Application discovery and launch
Manager         services

Text Editor     ASCII text file editor

Icon Editor     File type icon creator and editor

Mailer          Full MIME compliant multipart email
                facility

Calendar        Personal and group time manager

Calculator      Financial, logical, and scientific modes

Terminal        VT220 type character mode support
Emulator

Action Creator  Linking behavior to specific icons

Print Manager   Multiprinter-aware print submission tool
 

BNET TalkbackShare your ideas and expertise on this topic

The following tags are supported in BNET comments:
<b></b> <i></i> <u></u> <pre></pre>

Leave a Reply

  1. You are currently a guest | Login?
advertisement
CIO SessionsVision Series on ZDNet

See and hear what CIOs the world over thinks about the business of technology and how it's changing the way we live and work.

Go
advertisement
  • Click Here
  • Click Here
advertisement

Content provided in partnership with Thompson Gale