Workplace Shell

Last updated
OS/2 2.0, showing the first version of the Workplace Shell Os2-2.0-wps.png
OS/2 2.0, showing the first version of the Workplace Shell

The Workplace Shell (WPS) is an object-oriented desktop shell (also called desktop environment) produced by IBM's Boca Raton development lab for OS/2 2.0. It is based on Common User Access and made a radical shift away from the Program Manager type interface that earlier versions of OS/2 shared with Windows 3.x or the application-oriented WIMP interface of the Apple Macintosh. The Workplace Shell was also used in OS/2 Warp 3 and Warp 4, and the OS/2-based operating systems eComStation and ArcaOS.

Contents

IBM originally intended to deliver the Workplace Shell as part of the OfficeVision/2 LAN product, but in 1991 announced plans to release it as part of OS/2 2.0 instead. [1]


Although mostly written in C, under the covers the Workplace Shell is implemented as an object-oriented class library, basing on the System Object Model (SOM). The WPS classes are glued together with an interface definition language (IDL). SOM and its IDL was developed by IBM in their Austin, Texas lab. The classes can easily be manipulated by sending simple settings strings (like "KEYWORD=VALUE;") to them both via a C and a Rexx API. [2] [3]

When implementing a new WPS class, it is derived from an existing class from within the WPS class hierarchy. For modifying, extending or removing certain functionality of the parent class, often only a few methods of the parent class need to be overwritten by the developer. All other functionality of the parent class can safely remain unchanged, ensuring the seamless integration of the added or modified functionality and with that the consistency of the remaining user interface.

The resulting object class is shipped in DLL form. Once the new object class implemented by it is registered with the Workplace Shell and an instance of this class is created, it can be acted on by the user or other programs as every other Workplace Shell object.

A part of the WPS design allows for the developer of a class Y which extends or modifies a class X to execute an additional API on installation which will let the WPS 'replace' class X by class Y. This will make even all existing instances of class X behave as instances of the modified class Y; i.e., almost a retroactive inheritance. This allows for many useful third-party desktop utilities that add or modify functionality to or of existing objects without access to IBM's source code. Where the IDL and class headers also of derived classes are published, these classes can as well be extended in turn in the same way.

See also

Related Research Articles

A file manager or file browser is a computer program that provides a user interface to manage files and folders. The most common operations performed on files or groups of files include creating, opening, renaming, copying, moving, deleting and searching for files, as well as modifying file attributes, properties and file permissions. Folders and files may be displayed in a hierarchical tree based on their directory structure.

<span class="mw-page-title-main">OS/2</span> Operating system from IBM

OS/2 is a series of computer operating systems, initially created by Microsoft and IBM under the leadership of IBM software designer Ed Iacobucci. As a result of a feud between the two companies over how to position OS/2 relative to Microsoft's new Windows 3.1 operating environment, the two companies severed the relationship in 1992 and OS/2 development fell to IBM exclusively. The name stands for "Operating System/2", because it was introduced as part of the same generation change release as IBM's "Personal System/2 (PS/2)" line of second-generation personal computers. The first version of OS/2 was released in December 1987 and newer versions were released until December 2001.

<span class="mw-page-title-main">OpenStep</span> Defunct object-oriented application programming interface specification

OpenStep is a defunct object-oriented application programming interface (API) specification for a legacy object-oriented operating system, with the basic goal of offering a NeXTSTEP-like environment on non-NeXTSTEP operating systems. OpenStep was principally developed by NeXT with Sun Microsystems, to allow advanced application development on Sun's operating systems, specifically Solaris. NeXT produced a version of OpenStep for its own Mach-based Unix, stylized as OPENSTEP, as well as a version for Windows NT. The software libraries that shipped with OPENSTEP are a superset of the original OpenStep specification, including many features from the original NeXTSTEP.

<span class="mw-page-title-main">GNUstep</span> Open source widget toolkit and application development tools

GNUstep is a free software implementation of the Cocoa Objective-C frameworks, widget toolkit, and application development tools for Unix-like operating systems and Microsoft Windows. It is part of the GNU Project.

Carbon was one of two primary C-based application programming interfaces (APIs) developed by Apple for the macOS operating system. Carbon provided a good degree of backward compatibility for programs that ran on Mac OS 8 and 9. Developers could use the Carbon APIs to port (“carbonize”) their “classic” Mac applications and software to the Mac OS X platform with little effort, compared to porting the app to the entirely different Cocoa system, which originated in OPENSTEP. With the release of macOS 10.15 Catalina, the Carbon API was officially discontinued and removed, leaving Cocoa as the sole primary API for developing macOS applications.

In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a graphical shell. The desktop environment was seen mostly on personal computers until the rise of mobile computing. Desktop GUIs help the user to easily access and edit files, while they usually do not provide access to all of the features found in the underlying operating system. Instead, the traditional command-line interface (CLI) is still used when full control over the operating system is required.

<span class="mw-page-title-main">Windows API</span> Microsofts core set of application programming interfaces on Windows

The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces (APIs) available in the Microsoft Windows operating systems. The name Windows API collectively refers to several different platform implementations that are often referred to by their own names. Almost all Windows programs interact with the Windows API. On the Windows NT line of operating systems, a small number use the Native API.

In computer software, an operating environment or integrated applications environment is the environment in which users run application software. The environment consists of a user interface provided by an applications manager and usually an application programming interface (API) to the applications manager.

An object-oriented operating system is an operating system that is designed, structured, and operated using object-oriented programming principles.

Presentation Manager (PM) is the graphical user interface (GUI) that IBM and Microsoft introduced in version 1.1 of their operating system OS/2 in late 1988.

<span class="mw-page-title-main">WebObjects</span> Java web application server and framework originally developed by NeXT Software

WebObjects was a Java web application server and a server-based web application framework originally developed by NeXT Software, Inc.

<span class="mw-page-title-main">IBM System Object Model</span> Programming framework

In computing, the System Object Model (SOM) is an object-oriented shared library system developed by IBM. DSOM, a distributed version based on CORBA, allowed objects on different computers to communicate.

<span class="mw-page-title-main">Window manager</span> Type of system software

A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment. They work in conjunction with the underlying graphical system that provides required functionality—support for graphics hardware, pointing devices, and a keyboard—and are often written and created using a widget toolkit.

<span class="mw-page-title-main">Workplace OS</span> Defunct 1990s operating system

Workplace OS is IBM's ultimate operating system prototype of the 1990s. It is the product of an exploratory research program in 1991 which yielded a design called the Grand Unifying Theory of Systems (GUTS), proposing to unify the world's systems as generalized personalities cohabitating concurrently upon a universally sophisticated platform of object-oriented frameworks upon one microkernel. Developed in collaboration with Taligent and its Pink operating system imported from Apple via the AIM alliance, the ambitious Workplace OS was intended to improve software portability and maintenance costs by aggressively recruiting all operating system vendors to convert their products into Workplace OS personalities. In 1995, IBM reported that "Nearly 20 corporations, universities, and research institutes worldwide have licensed the microkernel, laying the foundation for a completely open microkernel standard." At the core of IBM's new unified strategic direction for the entire company, the project was intended also as a bellwether toward PowerPC hardware platforms, to compete with the Wintel duopoly.

<span class="mw-page-title-main">Object REXX</span>

The Object REXX programming language is an object-oriented scripting language initially produced by IBM for the operating system OS/2 and later for Microsoft Windows. It is a follow-on to and a significant extension of the "Classic Rexx" language originally created for the Conversational Monitor System (CMS) component of the operating system VM/SP Release 3 and later ported to Multiple Virtual Storage (MVS), OS/2 and PC DOS.

<span class="mw-page-title-main">Virtual desktop</span> User interfaces describe ways in which virtual space of a computers desktop is expanded

In computing, a virtual desktop is a term used with respect to user interfaces, usually within the WIMP paradigm, to describe ways in which the virtual space of a computer's desktop environment is expanded beyond the physical limits of the screen's display area through the use of software. This compensates limits of the desktop area and is helpful in reducing clutter of running graphical applications.

The clipboard is a buffer that some operating systems provide for short-term storage and transfer within and between application programs. The clipboard is usually temporary and unnamed, and its contents reside in the computer's RAM.

Intuition is the native windowing system and user interface (UI) engine of AmigaOS. It was developed almost entirely by RJ Mical. Intuition should not be confused with Workbench, the AmigaOS desktop environment and spatial file manager, which relies on Intuition for handling windows and input events. Workbench uses Intuition to produce displays and AmigaDOS to interact with filing system: AmigaDOS is built on Exec.

Component Object Model (COM) is a binary-interface standard for software components introduced by Microsoft in 1993. It is used to enable inter-process communication object creation in a large range of programming languages. COM is the basis for several other Microsoft technologies and frameworks, including OLE, OLE Automation, Browser Helper Object, ActiveX, COM+, DCOM, the Windows shell, DirectX, UMDF and Windows Runtime. The essence of COM is a language-neutral way of implementing objects that can be used in environments different from the one in which they were created, even across machine boundaries. For well-authored components, COM allows reuse of objects with no knowledge of their internal implementation, as it forces component implementers to provide well-defined interfaces that are separated from the implementation. The different allocation semantics of languages are accommodated by making objects responsible for their own creation and destruction through reference-counting. Type conversion casting between different interfaces of an object is achieved through the QueryInterface method. The preferred method of "inheritance" within COM is the creation of sub-objects to which method "calls" are delegated.

References

  1. Desmond, Paul (1 July 1991), "IBM refocuses office tool", Network World , International Data Group, vol. 8, no. 26, p. 51, ISSN   0887-7661, IBM last week said some features originally scheduled to ship in OfficeVision/2 LAN will be bundled into the current release of the product, while others will be either integrated into OS/2 or delayed indefinitely... IBM's Workplace Shell, an enhanced graphical user interface, is being lifted from OfficeVision/2 LAN to be included in OS/2 2.0... The shell offers the capability to trigger processes by dragging and dropping icons on the desktop, such as dropping a file into an electronic wastebasket. Porting that feature to the operating system will let any application take advantage of the interface...
  2. Oscar Cepeda (May 12, 1994). OS/2 Configuration Techniques: "Cracking" the Workplace Shell (PDF). IBM Redbooks. IBM Corporation, International Technical Support Organization. ISBN   9780738405742. Archived from the original (PDF) on 4 May 2005. Retrieved March 25, 2013.
  3. Mindy Pollack (1995). Marc A. Stock (ed.). OS/2 Workplace Shell API. New York: Wiley. ISBN   9780471038726.