Standards Conformance Guide
  Search only this book
Download this book in PDF

Common Desktop Environment

4

This chapter introduces the Common Desktop Environment (CDE), a graphical user interface and development environment that debuts with Solaris 2.5. This chapter provides an overview of CDE's development history, discusses the compliance of CDE to industry standards and specifications and outlines current efforts at standardizing the CDE components.

Common Desktop Environment

In March of 1993, Sun, Hewlett-Packard, IBM and Novell announced an agreement to develop a graphical user interface that would bring a consistent look and feel to major UNIX system-based workstations and desktop computers. From the start, the CDE development effort was guided by one goal: to make UNIX easier-to-use for end users and application developers.
The result of this joint development effort is the Common Desktop Environment or "CDE." CDE debuts with Solaris 2.5, and along with OpenWindows, is one of two desktops packaged with this release. Over time, CDE will emerge as the standard desktop for Sun, Hewlett-Packard, IBM, Novell and many others in the UNIX workstation market.
CDE includes a desktop server, a Session Manager, a Window Manager (based on HP's Visual User Environment), and numerous desktop utilities, (based on SunSoft's OPEN LOOK and DeskSet tools).

Developers, End Users, and CDE

Because CDE provides a consistent computing environment across major UNIX platforms, end users will have less trouble moving between different machines. CDE also aids application development by supplying a single, standard set of programming interfaces for any conforming Sun, HP, IBM, and Novell platform. A single API allows developers to create applications that will be consistent in appearance and behavior across CDE-compliant systems.
The CDE development environment is based on the X11R5 server and produces applications with a look and feel based on the Open Software Foundation's Motif 1.2 specification.

Standardizing the Common Desktop Environment

Recognizing the development and procurement needs of their customers, the CDE development partners have pledged that the desktop will comply with industry standards wherever possible. Where a standard does not yet exist, CDE specifications are being provided to recognized standards bodies for consideration as new standards.
The remaining sections of this chapter detail the compliance of various CDE components to major standards and specifications; additionally, it provides an overview of the cooperative efforts of the CDE partners and major standards bodies in the development of new CDE-related standards.

Open Software Foundation/Motif

The Motif graphical user interface was developed by the Open Software Foundation (OSF) and based on work by Hewlett-Packard and Digital Equipment Corp. Motif uses windows and menus with common graphic symbols to provide an intuitive, consistent environment across a variety of platforms that support the X Window System, X11R5.
Motif 1.2 consists of a user interface toolkit, a user interface language, a window manager and a single application programmers interface. Motif 1.2 serves as the base graphical user interface specification for the Common Desktop Environment.

OSF/Motif Application Certification

OSF/Motif's Certification and Trademark Program offers application developers a method to communicate compliance with OSF/Motif. A Motif- compliant application must be developed with the Motif toolkit and run in a Motif-compliant environment.
The OSF/Motif Style Guide describes the way applications should "behave" or interact with users and offers the basis for application certification. Developers that follow the guidelines presented in the Style Guide are assured that their applications will emulate the Motif look. Applications that pass the certification process are granted use of a statement signifying compliance to the OSF/Motif Style Guide.

Note - OSF has announced submission of the Motif API specification to X/Open for licensing. Once branding is awarded, (expected in late 1995), the OSF/Motif certification program will be overseen by X/Open. Until that time, OSF will continue to certify implementations.

CDE and Motif

CDE's development toolkit is an enhanced version of Motif 1.2 that has been dubbed "CDE Motif." CDE Motif is based on Motif 1.2.3, but extends the Motif widget library and contains some new features. CDE Motif shares source and binary compatibility with Motif, meaning that existing Motif 1.2 applications will compile and run on CDE platforms without modification.
The CDE Motif API is based on the Motif 1.2 toolkit API and is compliant with the IEEE Std. 1295-1993 API specification.

Porting Motif Applications to CDE/Developing New CDE Applications

Developers wishing to port an existing Motif 1.2 application to CDE or develop a new CDE-compliant application should follow the guidelines outlined in The Common Desktop Environment: Style Guide and Certification Checklist. It defines the guidelines that allow an existing Motif application to integrate well with CDE.

Note - Because Motif 1.2 defines only the basic behavior for applications and widgets and not for a desktop, The Common Desktop Environment: Style Guide and Certification Checklist supplements and extends the OSF/Motif Style Guide. For this reason, developers wishing to write a CDE conforming application should follow the guidelines presented in both guides.

Developers porting application to the desktop or developing new CDE applications can choose from three levels of application integration:
  • Level 1- Minimal: This level requires that the application appear under the desktop's Application Manager folder and be launchable from the application's data file icon.
  • Level 2- Recommended: This level requires that the application interact with the desktop's components.
  • Level 3- Optional: This level provides an integration checklist of desktop components with which applications may optionally interact.

Certifying CDE Applications

Compliance with CDE interface guidelines is voluntary and self-regulated; there is no formal certification process. Applications that meet all the required guidelines of the CDE Style Guide and Certification Checklist and the OSF/Motif Style Guide can be considered CDE-compliant.
For a discussion of issues that can affect application portability between different platforms that support CDE, see the Common Desktop Environment: Programmer's Overview.

Solaris Compliance With OSF/Motif

At the time of this book's publication, the OSF/Motif certification process was not yet complete. However, SunSoft fully expects Solaris to be certified as a conforming implementation of Motif 1.2 for its 2.5 release.

OSF/Motif Specifications and Related References

For more information on the Motif 1.2 toolkit and for guidelines on developing Motif 1.2 applications, see the following OSF publications:
OSF/Motif Style Guide, Release 1.2, PTR Prentice Hall
OSF/Motif Programmer's Reference, Release 1.2, PTR Prentice Hall
OSF/Motif Programmer's Guide, Release 1.2, PTR Prentice Hall

CDE/Motif Specifications and Related References

For more information on the CDE Motif toolkit and for guidelines for developing CDE Motif applications, see the following publications:
Common Desktop Environment: Programmer's Overview
Common Desktop Environment: Programmer's Guide
Common Desktop Environment Style Guide and Certification Checklist

The X Window System

The X Window System, Version 11 (X11), includes the following specifications: the Xlib C Language Interface (Xlib), the X Toolkit Intrinsics C Language Interface (Xt), and the Bitmap Distribution Format 2.1 (BDF).
X11 is a network-based protocol. A client application can run on the same or different system from the server that controls the display. In this server-client model, the application (which may run on one machine) is referred to as the window client. The system on which the user-interface is displayed may be a different machine and is referred to as the display host or window server.
The X library routines or "xlib" provide a standard programmer's interface to the X Window System. Xlib is a standard set of C language routines that developers can use to program basic graphics functions, and that automatically produce the corresponding X protocol. Xlib communicates with the X11 server via the X protocol.
The main task of Xlib is to translate C data structures and procedures into X protocol events; it sends them off and receives protocol packets in return that are unpacked into C data structures. Xlib provides full access to the capabilities
of the X protocol but does little to make programming easier. It handles the interface between an application and the network and includes some optimizations that encourage efficient network usage.
Because application development at the Xlib level can be tedious, MIT developed the X toolkit, Xt. The designers of Xt were aware that the toolkit would need to support a variety of graphical user interface standards. For this reason, Xt was divided into two portions. The first portion is a prebuilt set of user interface components known as widgets. The second portion is the programmer interface for manipulating widgets, known as intrinsics.

CDE Compliance with X11

The Common Desktop Environment consists of the desktop server, the Session Manager, the Window Manager, the CDE/Motif toolkit, the desktop utilities and the Display PostScript(TM) (DPS) extension support.
The desktop server and the associated X libraries, which include Xlib and Xt, are fully compliant with X11, Release 5.
The Session Manager fully supports the X11 Inter-Client Communications Conventions (ICCCM) 1.1 Session Management protocol. The Session Manager preserves the state of applications at logout.
The Window Manager, which is based on the Motif 1.2.3 window manager with workspace extensions, is ICCCM compliant.
The CDE/Motif toolkit is an implementation of OSF/Motif's 1.2.3 toolkit with extended functionality. The CDE/Motif toolkit is based on X11 Intrinsics, which is specified as a U.S. federal procurement standard.

Solaris Compliance with PostScript

The Common Desktop Environment's server is a complete implementation of PostScript Level Two. The Display PostScript system is implemented as an extension to the X Window System and includes the following enhancements:
  • Support for F3 Latin and Asian fonts
  • Support for obtaining prescaled bitmap font formats from X11 font code

X11 Specification and Related Publications

The first publication listed below defines the X11 protocol specification; it is also defined in subsequent supplements supplied with X11 Release 5.
  • X Window System Third Edition, Scheifler & Gettys, Digital Press, 1992
  • PostScript Language Reference Manual, Second Edition, Addison-Wesley

Future Standardization

A number of CDE services and applications are currently targeted for standardization. At the time of this book's publication, the CDE standardization efforts were ongoing and not yet complete.
This section discusses the CDE standardization efforts, identifies the standards bodies working with the CDE development partners and identifies the CDE components targeted for standardization.

X/Open CDE Specification

Specifications for a broad range of CDE components have been submitted to X/Open for consideration as standards. Representatives from Sun, Hewlett- Packard, IBM, and Novell are working closely with X/Open in guiding the emergence of the new X/Open CDE standards.
CDE components that are branded by X/Open will become part of X/Open's Common Applications Environment (CAE), which covers the standards that are required to support open systems.
Among the CDE components being submitted for incorporation into the Portability Guide are the CDE Motif toolkit API, the Session Manager, the data interchange "drag and drop" protocols, and the Application Help Developer's Kit.
At present, X/Open has completed a "fast track" review of the submitted CDE specifications. If approved, publication of the final standard is expected by Spring 1995. A formal branding and certification program is expected to be in place by late 1995.

X/Open Calendaring and Scheduling API

The X/Open Calendaring and Scheduling Application Program Interface (CSA API) is a high-level interface that facilitates the development of calendar-enabled applications.
The X/Open CSA API is based upon work done by the X.400 Application Programming Interface Association (XAPIA). It defines a set of high-level functions that are available to calendar enabled applications, including adding, deleting, modifying, and reading a calendar and the calendar entries.
The interface supports searches for free time intervals within a calendar through a generic definition of capabilities for calendaring and scheduling. The X/Open CSA API features a single function set that helps minimize the number of function calls needed to manage multiple types of calendar entries.
In November 1994, a preliminary specification for the Calendaring and Scheduling API was published by X/Open. The final specification is expected by Spring 1995. The X/Open branding and certification program is expected to be in place by late 1995. CDE's calendaring and scheduling service is expected to fully comply with the final X/Open specification.