Presentation Manager
Encyclopedia
Presentation Manager is the graphical user interface (GUI
Gui
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...

) that IBM and Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 introduced in version 1.1 of their operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 OS/2
OS/2
OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by 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 " line of second-generation personal...

 in late 1988.

History

Presentation Manager was codenamed Winthorn and co-developed by Microsoft and IBM's Hursley Lab in the UK in 1987-1988. It was a cross between Microsoft Windows and IBM's mainframe graphical system (GDDM
GDDM
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...

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

One of the most significant differences 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

One of the most-cited reasons for the split was the divergence of the APIs between PM and Windows, which was probably driven by IBM. Initially, PM 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 left top in Windows, but at left-bottom (as in Cartesian coordinates) in PM. In practice it became impossible to recompile a GUI program to run on the other system; an automated source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

 conversion tool was promised at some point. Both companies were hoping that at some point users would migrate to OS/2. A somewhat similar situation occurred in the 1990s with customers sticking to "old" Windows, although MS would have preferred them to switch to NT.

In 1990, version 3.0 of Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 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 with it OS/2 3.0, which it renamed Windows NT
Windows NT
Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix. It was intended to complement...

; as such, it inherited certain characteristics of PM, however keeping an almost complete source code compatibility with Windows. IBM continued to develop PM. In subsequent versions of OS/2, it was used as a base for the object-oriented interface Workplace Shell
Workplace Shell
The Workplace Shell is a object-oriented desktop shell 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...

, a precursor of Windows' Explorer. In latest versions, IBM has commissioned SciTech Software
SciTech Software
SciTech Software, Inc. is a privately held software company based in Chico, CA.Founded by Kendall Bennett in 1996, SciTech Software, Inc. developed many popular graphics device driver programs for the PC, ranging from UniVESA to SciTech Display Doctor and SciTech SNAP Graphics and SciTech SNAP...

 with writing the graphics drivers for the majority of the cards that don't support OS/2 officially.

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
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...

 window, and it is possible to boot OS/2 into a command-line environment without Presentation Manager (e.g. using TSHELL ).

Technical details

PM follows the Common User Access
Common User Access
Common User Access 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...

 interface conventions.
It also supports mouse chording
Mouse chording
Mouse chording is the capability of performing actions when multiple mouse buttons are held down, much like a chorded keyboard. Like mouse gestures, chorded actions may lack feedback and affordance and would therefore offer no way for users to discover possible chords without reference...

 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.

External links

  • Old CBR article from 19-June-1990 announcing the use of Presentation Manager for CTOS
    Convergent Technologies Operating System
    The Convergent Technologies Operating System, also known variously as CTOS, BTOS and STARSYS, was a modular, message-passing, multiprocess-based operating system.-Overview:...

    .
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK