In OS/2 1.x, the desktop is a collection of windows or icons representing windows associated with applications. In OS/2 2.0, the desktop is a collection of objects (icons) and windows associated with those objects. The desktop (which is also an object), the objects that appear on the desktop, and the underlying code supporting these objects constitute the OS/2 Workplace Shell, the default user interface for OS/2 2.0.
The OS/2 Workplace Shell provides an object-oriented user environment that is based on the 1991 CUA guidelines. It provides a seamless environment, where all services are task-oriented and the user is shielded from the complexities of the operating system. The user can perform tasks faster and easier and with a shorter learning curve.
While object-oriented user interfaces share some concepts with object-oriented programming, user objects may not necessarily correspond to software objects. Object-oriented programming can make the development of an object-oriented user interface easier. However, an object-oriented user interface can be developed with more traditional programming languages and tools.
The OS/2 Workplace Shell is an example of a user interface developed using object-oriented programming, specifically, the IBM System Object Model. In fact, every user object in the OS/2 Workplace is an instance of a Workplace software class object. There is a one-to-one correspondence between Workplace (user) objects and Workplace (software) classes.
Class definitions for the user objects in the OS/2 Workplace are provided in the Developer's Toolkit for OS/2 2.0. Application developers can create their own objects for the Workplace by subclassing the predefined Workplace classes.