Presentation Manager

Last updated

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.

Contents

History

The original Presentation Manager running on OS/2 1.1 Os2-1.1-desktop.png
The original Presentation Manager running on OS/2 1.1

Microsoft began developing a graphic user interface (GUI) in 1981. After it persuaded IBM that the latter also needed a GUI, [1] Presentation Manager (PM; codenamed Winthorn) was co-developed by Microsoft and IBM's Hursley Lab in 1987-1988. It was a cross between Microsoft Windows and IBM's mainframe graphical system (GDDM). [2] Like Windows, it was message based and many of the messages were even identical, but there were a number of significant differences as well. Although Presentation Manager was designed to be very similar to the upcoming Windows 2.0 from the user's point of view, and Presentation Manager application structure was nearly identical to Windows application structure, source compatibility with Windows was not an objective. For Microsoft, the development of Presentation Manager was an opportunity to clean up some of the design mistakes of Windows. [3] The two companies stated that Presentation Manager and Windows 2.0 would remain almost identical. [1]

One of the most significant differences between Windows and PM was the coordinate system. While in Windows the 0,0 coordinate was located in the upper left corner, in PM it was in the lower left corner. Another difference was that all drawing operations went to the Device Context (DC) in Windows. PM also used DCs but there was an added level of abstraction called Presentation Space (PS). OS/2 also had more powerful drawing functions in its Graphics Programming Interface (GPI). Some of the GPI concepts (like viewing transforms) were later incorporated into Windows NT. The OS/2 programming model was thought to be cleaner, since there was no need to explicitly export the window procedure, no WinMain, and no non-standard function prologs and epilogs.

Parting ways

The Presentation Manager style in OS/2 1.2 and 1.3 influenced the design of Windows 3.0 OS2-1.3-desktop.png
The Presentation Manager style in OS/2 1.2 and 1.3 influenced the design of Windows 3.0

One of the most-cited reasons for the IBM-Microsoft split was the divergence of the APIs between Presentation Manager and Windows, which was probably driven by IBM. Initially, Presentation Manager was based on Windows GUI code, and often had developments performed in advance, like the support for proportional fonts (which appeared in Windows only in 1990). One of the divergences regarded the position of coordinate (0,0), which was at the top-left in Windows, but at bottom-left (as in Cartesian coordinates) in Presentation Manager. In practice it became impossible to recompile a GUI program to run on the other system; an automated source code conversion tool was promised at some point. Both companies were hoping that at some point users would migrate to OS/2.

In 1990, version 3.0 of Windows was beginning to sell in volume, and Microsoft began to lose interest in OS/2 especially since, even earlier, market interest in OS/2 was always much smaller than in Windows.

The companies parted ways, and IBM took over all of subsequent development. Microsoft took OS/2 3.0, which it renamed Windows NT; as such, it inherited certain characteristics of Presentation Manager. IBM continued to develop Presentation Manager. In subsequent versions of OS/2, and derivatives such as ArcaOS, it was used as a base for the object-oriented interface Workplace Shell.

There is a significant integration of the GUI layer with the rest of the system, but it is still possible to run certain parts of OS/2 from a text-console or X window, and it is possible to boot OS/2 into a command-line environment without Presentation Manager (e.g. using TSHELL [4] ).

Presentation Manager for Unix

Motif was directly inspired by the look and feel of the Presentation Manager interface Plan Open Motif screenshot.png
Motif was directly inspired by the look and feel of the Presentation Manager interface

In the late 1980s, Hewlett-Packard and Microsoft collaborated on an implementation of Presentation Manager for Unix systems running the X11 windowing system. [5] The port consisted of two separate pieces of software - a toolkit, window manager and style guide named CXI (Common X Interface) and an implementation of the Presentation Manager API for Unix named PM/X. Both CXI and PM/X were submitted to the Open Software Foundation for consideration as OSF's new user interface standard for Unix, which eventually became Motif. [6] OSF ultimately selected CXI, but used Digital Equipment Corporation's XUI API instead of PM/X. [7] [8] Microsoft and HP continued the development of PM/X for some time after the release of Motif, with Microsoft integrating the product into a joint development strategy with SCO to bring a common user interface to OS/2 and SCO's Unix products, [9] but it was ultimately abandoned. [10]

Technical details

PM follows the Common User Access interface conventions. It also supports mouse chording for copying and pasting text.

An important problem was that of the single input queue: a non-responsive application could block the processing of user-interface messages, thus freezing the graphical interface. This problem has been solved in Windows NT, where such an application would just become a dead rectangle on the screen; in later versions it became possible to move or hide it. In OS/2 it was solved in a FixPack, using a timer to determine when an application was not responding to events.

See also

Related Research Articles

<span class="mw-page-title-main">Graphical user interface</span> User interface allowing interaction through graphical icons and visual indicators

A graphical user interface, or GUI, is a form of user interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation. In many applications, GUIs are used instead of text-based UIs, which are based on typed command labels or text navigation. GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs), which require commands to be typed on a computer keyboard.

<span class="mw-page-title-main">History of the graphical user interface</span>

The history of the graphical user interface, understood as the use of graphic icons and a pointing device to control a computer, covers a five-decade span of incremental refinements, built on some constant core principles. Several vendors have created their own windowing systems based on independent code, but with basic elements in common that define the WIMP "window, icon, menu and pointing device" paradigm.

<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.

The Portable Operating System Interface is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines both the system and user-level application programming interfaces (APIs), along with command line shells and utility interfaces, for software compatibility (portability) with variants of Unix and other operating systems. POSIX is also a trademark of the IEEE. POSIX is intended to be used by both application and system developers.

<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.

In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An application written using ODBC can be ported to other platforms, both on the client and server side, with few changes to the data access code.

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.

<span class="mw-page-title-main">Motif (software)</span> GUI specification and toolkit for the X Window System

In computing, Motif refers to both a graphical user interface (GUI) specification and the widget toolkit for building applications that follow that specification under the X Window System on Unix and Unix-like operating systems. The Motif look and feel is distinguished by its use of rudimentary square and chiseled three-dimensional effects for its various user interface elements.

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

<span class="mw-page-title-main">A/UX</span> Early Unix-based operating system from Apple Computer

A/UX is a Unix-based operating system from Apple Computer for Macintosh computers, integrated with System 7's graphical interface and application compatibility. It is Apple's first official Unix-based operating system, launched in 1988 and discontinued in 1995 with version 3.1.1. A/UX requires select 68k-based Macintosh models with an FPU and a paged memory management unit (PMMU), including the Macintosh II, SE/30, Quadra, and Centris series.

<span class="mw-page-title-main">OPEN LOOK</span> Graphical user interface specification

OPEN LOOK is a graphical user interface (GUI) specification for UNIX workstations. It was originally defined in the late 1980s by Sun Microsystems and AT&T Corporation.

<span class="mw-page-title-main">DESQview</span> Text mode multitasking operating environment

DESQview (DV) is a text mode multitasking operating environment developed by Quarterdeck Office Systems which enjoyed modest popularity in the late 1980s and early 1990s. Running on top of DOS, it allows users to run multiple programs concurrently in multiple windows.

Common User Access (CUA) is a standard for user interfaces to operating systems and computer programs. It was developed by IBM and first published in 1987 as part of their Systems Application Architecture. Used originally in the MVS/ESA, VM/CMS, OS/400, OS/2 and Microsoft Windows operating systems, parts of the CUA standard are now implemented in programs for other operating systems, including variants of Unix. It is also used by Java AWT and Swing.

<span class="mw-page-title-main">Windows NT 3.1</span> First major release of Windows NT, released in 1993

Windows NT 3.1 is the first major release of the Windows NT operating system developed by Microsoft, released on July 27, 1993.

<span class="mw-page-title-main">Shell (computing)</span> Computer program that exposes an operating systems services to a human user or other programs

In computing, a shell is a computer program that exposes an operating system's services to a human user or other programs. In general, operating system shells use either a command-line interface (CLI) or graphical user interface (GUI), depending on a computer's role and particular operation. It is named a shell because it is the outermost layer around the operating system.

GDDM is a computer graphics system for the IBM System/370 which was developed in IBM's Hursley lab, and first released in 1979. GDDM was originally designed to provide programming support for the IBM 3279 colour display terminal and the associated 3287 colour printer. The 3279 was a colour graphics terminal designed to be used in a general business environment.

A console application or command-line program is a computer program designed to be used via a text-only user interface, such as a text terminal, the command-line interface of some operating systems or the text-based interface included with most graphical user interface (GUI) operating systems, such as the Windows Console in Microsoft Windows, the Terminal in macOS, and xterm in Unix.

The Application Programming Interface for Windows (APIW) Standard is a specification of the Microsoft Windows 3.1 API drafted by Willows Software. It is the successor to previously proposed Public Windows Interface standard. It was created in an attempt to establish a vendor-neutral, platform-independent, open standard of the 16-bit Windows API not controlled by Microsoft.

References

  1. 1 2 Alsop, Stewart II (1988-01-18). "Microsoft Windows: Eclectism in UI" (PDF). P.C. Letter. 4 (2): 6–7.
  2. Miller, Michael J. (April 1987). "IBM's OS/2 to Become Operating System of Choice, but Not for Some Time". InfoWorld: 46.
  3. Vellon, Manny (1987). "OS/2 Windows Presentation Manager". Microsoft Systems Journal. 2 (2).
  4. "TSHELL non-GUI shell for OS/2" . Retrieved 17 April 2011.
  5. Bob Ponting (1988-11-21). "Unix PM Scheduled for 2nd Quarter". InfoWorld . Retrieved 2021-12-29.
  6. Martin Marshall; Ed Scannell (1988-10-10). "OSF Narrows Its Search For User Interface to 23". InfoWorld . p. 45. Retrieved 2021-12-29.
  7. Janet Dobbs (August 1989). "Strategies for Writing Graphical UNIX Applications Productively and Portably" (PDF). AUUG Newsletter. 10 (4): 50. Retrieved 2021-12-29.
  8. Axel O. Deininger; Charles V. Fernandez (June 1990). "Making Interface Behavior Consistent: The HP OSF/Motif Graphical User Interface" (PDF). Retrieved 2021-12-29.
  9. Mace, Scott (20 February 1989). "Microsoft Says It Will Purchase Portion Of SCO". InfoWorld. p. 5. Retrieved 3 January 2024.
  10. Stuart J. Johnson (January 1989). "HP, Microsoft to Continue Development of Alternate API". InfoWorld . p. 38. Retrieved 2021-12-29.