Thursday, December 3, 2009

OS/2 Presentation Manager: A Superior Desktop?

I'm increasingly frustrated by the erratic performance of my Windows machines. The software is so extremely kludged, so inconsistent in implementation, and so ridiculously bloated with unnecessary features. As a patched together DOS-based ripoff of the Macintosh GUI, Windows took the market because (a) it ran on PC clones (b) it did not require the level of administration that UNIX (ne Linux) workstations imposed and (c) the WIMPy interface meant that untrained, unskilled, and illiterate people could think of themselves as computer experts and could do some practical stuff while they otherwise were wasting their time. How the tables have turned.

Now, the desktop most widely recognized as superior by both Liberal Arts majors and techies alike is a UNIX-based system: Mac OSX. As an acquaintance in the Ruby community told me bluntly, he regarded a potential employer as completely unsuitable after they informed him of their requirement that developers only use Windows machines. Apparently they "had a contract with the vendor". I don't know him well, but his reputation is of an objective, rational thinker prone to taking measurements of his own productivity. It isn't just an artsy thing: Mac OSX does seem to let people get more done.

OpenStep is the Solaris cousin to the NeXTSTEP desktop now sported by OSX. My memory is that OpenStep developed in conjunction with the Corba Object Request Broker technology, and later forked from it. Another desktop with this property was OS/2's Presentation Manager, or more particularly the Workplace Shell.

Now, here's where the title comes in: any of IBM's languages with Corba (SOM) bindings could extend any of the desktop primitives. REXX had such a binding, and I found it trivial to inherit new folder types that automatically created sub-folder structures with standarized instances of files, and implemented type-specific menu methods. While you can monkey around with Windows desktop hooks to fudge up the menus, it really is not the same thing. On OS/2's workplace shell you could glue together entire applications by inheriting and extending the desktop objects. When you did it, it worked like you expected it. And you could do it all just by writing a bit of built-in scripting. Very nice indeed.

My experience at the time was that from a productivity standpoint the OS/2 solution was far superior to the Windows NT user interface. But where OS/2 was the overweight alternative at the time, now that title clearly belongs to Windows 7. That's an irony, because the UNIX/OpenStep workstation represented by Mac OSX is a kind of an intellectual successor to the OS/2 workplace shell (if not strictly a successor in terms of code).

No comments: