... New Desktop!
Seeking Ways to Get Rid of System Bloat
Part 6 -- The Project Redux
by Gary Granat
How It Started...
After many years as a registered Object Desktop user, I found that I needed to reinstall the program. But... I could not complete the reinstallation because I needed my registration number. A lot of my life is currently packed away (that is a story for another day), including all the Object Desktop documentation -- which has (or should have) my current registration number recorded. Off hand, I couldn't predict where to find it. So, I went to the Stardock Systems web site to seek some support.
Stardock has a nice on-line facility for looking up registration numbers, and the like. But, it refused to admit that I was a registered user, something that I know I am (I even have the credit card debit to prove it). Never at a loss for alternatives, I sent an e-mail message to Stardock explaining my problem and requesting assistance. I waited. And waited. And waited. But, I never received a reply to my request. Either that e-mail message went into the great black hole in e-mail heaven or I was being ignored. About this same time, I began to hear rumblings from around the OS/2 world that Stardock was not very interested, anymore, in my (our?) favorite computing platform. So... Drastic maintenance was needed on my Object Desktop installation and I lacked the resources to perform the maintenance.
Faced with this dilemma, dissatisfaction set in, and before I knew it, I had embarked on a quest to replace Object Desktop with more current, better performing alternative facilities.
"Isn't this a sort of drastic response?" you may ask. "Why not just put up with the problems and be done with it?" Possibly, the response was on the drastic side. But, I had the proof of experience that I was paying a significant performance penalty for the conveniences and enhancements that Object Desktop provided. Don't get me wrong: as long as Object Desktop was behaving correctly, I was willing to pay the price in performance. But, it was no longer behaving correctly.
And, I knew for a fact that the performance price was significant.
I'm one of those folks who keeps a full backup version of OS/2 on my primary system for maintenance purposes. It is located on a separate hard drive that I use for backup storage and as the location for my swapper file. The drive -- an older, but reliable, Connor is slow, compared to my primary drive, an IBM. So, the maintenance system loads at a fairly leisurely pace. Once running, though, my maintenance system demonstrated far better response time than the primary one.
"Well," you might ask "isn't that because your maintenance system is a stripped down version of Warp?" As it happens, the answer to that question is "No." Not all my applications are registered on the maintenance system -- just some of them -- but it has all the communications resources and fonts installed that are on the main system. From the standpoint of installed resources, it is almost a perfect mirror of the primary system. The one significant difference is that Object Desktop is not (and never has been) installed on it. I deliberately didn't install it because I wanted to be sure that the maintenance system was as close to "vanilla" as possible. Object Desktop performs a significant amount of subclassing to existing Presentation Manager and Workplace Shell classes and supplements those classes with additional ones of its own. The closer to "vanilla," the less likely a subtle change in a class -- introduced by a FixPak, for instance -- will lead to major system problems.
So, dissatisfaction was the spur that started the quest that has been the subject of this series of articles.
How To Measure Success...
At the outset, I wasn't even sure it would be possible to find utilities that could provide replacements for all the Object Desktop functional capabilities I had grown used to. I knew that I could find some pieces, but could I find enough?
The first task in any project of this sort is to define the requirements. This led to a concise review of how I was using Object Desktop. Object Desktop is not a monolithic utility. Instead, it provides a smorgasbord of functions and enhancements. From these, each user picks and chooses -- within limits -- his own set of capabilities.
This is what my desktop looked like with Object Desktop.
I suspect that few, if any, Object Desktop users actually use all the various facilities bundled within the package. Certainly, I did not. Some, such as Object Navigator, were a part of my installation from the beginning. Others, such as the Tab Launch Pad, had been a part of my Object Desktop configuration with Warp 3 but were abandoned when Warp 4 (with the WarpCenter) was released. Still others, such as the Keyboard Launch Pad were never a part of my Object Desktop universe because they simply didn't suit my work style.
By looking at my current Object Desktop configuration, I was able to derive a set of "requirements" against which I could work. I determined that there were four areas of enhancement that I was going to have to replace:
- Improved "Look and Feel" -- With release 2.0 of Object Desktop, Stardock introduced a number of aesthetic improvements to the Workplace Shell, implemented as a series of six "schemes." These included buttons and titlebars that had a native Object Desktop theme, as well as others that mimicked other systems (the Macintosh, Windows, and NExT, among others), and a "window roll up" implementation. For me, at least, aesthetics make a difference in productivity.
- Improved File Management and Access -- Object Desktop provided an enhanced folder class and access to file management facilities regardless of what other activities might be underway. It also provided easy-to-use facilities for creating file archives and "double click" access to the contents of archives. With the 1.x Professional Edition and -- later -- Release 2.0, it provided unparalleled abilities to view nearly any file, regardless of format.
- Improved "System Information" Monitoring -- Among the tools included in Object Desktop 2.0 were facilities to monitor memory commitment, swapper file size, processor load, TCP/IP throughput, and a very useful replacement for the Warp Window List.
- Virtual Desktops -- One of the most apparent Object Desktop facilities, Virtual Desktops provided a way to organize a lot of parallel activities in such a way that everything needed was available and ready in a logical and organized way.
These gave me the parameters necessary to measure success -- or the lack of it. Ultimately, it would boil down to the answers to two questions:
As a general rule, convenience and performance requirements coexist uncomfortably, if at all. The more common situation is for them to be at war. I saw this as an interesting challenge.
- To what extent would I be able to retain the convenience that I sought?
- Would I be able to do this without compromising performance to the extent that Object Desktop did?
I started the project just after the beginning of January, 2000, and I am writing this wrap-up article in early September, 2000. To some extent, the production of these articles slowed the progress of the project. But, many developments that I needed were (or are) in Beta programs, and some weren't really available until August, 2000.
Nagging Little Voices Want To Know...
"Did All That Work Result In Improved Performance?"
In a word, yes, both objectively and subjectively. It would be nice to have formal benchmark numbers, but I still haven't figured out a "formal" way to benchmark this project. For what it is worth, the WarpCenter processor activity monitor shows roughly a 5% reduction in processor activity with the new facilities compared to Object Desktop. Not a dramatic improvement, but enough to be worthwhile.
A more significant measure, however is perceived system responsiveness, which is -- by definition -- a subjective measure. The new facilities provide a noticeable improvement in responsiveness compared to Object Desktop. Remember that I was able to notice a significantly better responsiveness in my maintenance system compared to my primary one where Object Desktop was installed. With the replacement utilities in place, this difference has -- for practical purposes -- disappeared. Objects now open, close, and react with no apparent lag or sluggishness. This is a major change from performance with Object Desktop.
As a general observation, the system with Object Desktop installed felt as if all system messages (the way the operating system and applications communicate) were being routed through space before being acted upon. That is no longer the case; it is now quite apparent that my keyboard and mouse are directly connected to my computer. At a guess, Object Desktop uses a central mediation facility to route messages. (This is not a stretch because most desktop enhancers use such a facility.) For some reason, the Object Desktop router -- or what passes for one -- is slow and burdens the overall system in consequence.
Whether or not my surmise represents truth, my systems (both of them) now feel much more "alive" and willing to respond.
This is how my new desktop looks.
"OK, You Have A More Responsive System; But How Much Function Did you Have to Give Up?"
There is no quick answer to this question. It depends on the requirements category. In some cases, I have more functional capability now than with Object Desktop; in others, I have less -- or none. A brief review by category provides a better picture of the state I am now in.
- Improved "Look and Feel"
Verdict: A definite increase in functional capability.
- Improved File Management and Access -- xWorkplace and FM/2 provide the replacement components.
- xWorkplace: The xWorkplace enhanced folder class, which is a primary focus of the requirement, is superior, in my estimation, to the one included in Object Desktop.
...And A Little Bit More: Quite a bit more, actually. xWorkplace includes facilities for the management and tuning of the OS/2 kernel and the Workplace Shell. It also includes replacement notebooks for keyboard and sound configuration. It includes a replacement notebook for the OS/2 mouse, which includes a host of mouse action controls, and a replacement screen control notebook which includes pages to manage the virtual desktop facility (still an early beta capability).
- FM/2: FM/2 is a more capable and reliable file management facility than Object Navigator. By making it an option on all folder menus, it is at least as accessible as Object Navigator was. FM/2 makes it simple to create archives of files, and Archive Viewer/2 (an FM/2 utility) provides very good archive access. The downside is that it is no longer in development, nor is it available to readers of this series.
- There is no adequate replacement for Object Viewer (HyperView would be my choice if it were up-to-date).
Verdict: Mixed results. A more capable enhanced folder class that is more configurable; equal or better file management, albeit using a "dead" file management facility; adequate facilities for archive building and access. The biggest loss is no replacement for the Object Viewer.
- Improved "System Information" Monitoring
Verdict: A definite increase in functional capability.
- Virtual Desktops -- I do not -- yet -- have an adequate replacement for Object Desktop's Virtual Desktops facility.
- PageMage, which is an integrated part of xWorkplace, will, eventually, assume this mantle on my systems. At this point, it is still an early Beta facility, and demonstrates "idiosyncrasies" that need to be worked out.
Verdict: No replacement, yet; but... stay tuned!
"Interactions, Interactions, I have Interactions"
The thing about a project such as this is that you end up being your own system integrator. One of the things that I discovered early on is that there is "product overlap" among the replacement facilities that I have selected. This is especially true of Styler/2 and xWorkplace, and the amount of overlap increases as xWorkplace continues to grow and develop.
When I started the project, Styler/2 stood virtually alone with regard to mouse enhancements. I discovered that I liked "floating focus" (window focus shifts to follow the mouse position) and mouse pointer hiding. These were both Styler/2 features, and they were activated through the intervention of a Presentation Manger "hook." xWorkplace also had these capabilities, but I did not activate them at the beginning.
It turns out that the facility that supports the PageMage utility (the xWorkplace Hook, which interacts with the Presentation Manager) enables the xWorkplace floating window focus and mouse pointer hiding functions in xWorkplace. It is not a good thing to have two "hook" facilities that provide essentially the same functional capabilities running on the same system. So, I have switched from the Styler/2 hook to the xWorkplace hook for these capabilities, even though the Styler/2 hook is somewhat more mature. To date, I have had no significant problems with the xWorkplace Hook, however.
Fortunately, this is the only interaction that has cropped up. It is remarkable that these diverse utilities play as well together as they do. It is even more remarkable that the sum of all this activity causes less system load than Object Desktop. Go figure!
I'm happy to report that -- for me -- this project has been both interesting and worthwhile. Along the way, I have managed to learn a great deal about how desktop enhancers work. I have enough functional equivalency that I am a happy man. And, both my systems run quite a bit better than they did when Object Desktop was installed. It was a lot of work, but the results were worth the effort.
I hope that this series has been equally worthwhile for you, my patient readers.
I haven't always been consistent (I now realize) in providing source information for the various programs I have selected. I hope to remedy this omission forthwith:
Hobbes: The Hobbes OS/2 program repository (http://hobbes.nmsu.edu/pub/os2/), that exists on a New Mexico State University server, has been a major supporting resource for this project. From it, I have obtained:
- Styler/2 -- The version on Hobbes, as of this writing, is current. It is a demo, however. It can no longer be registered through BMT Micro. Consult the
MenSys web site (http://www.mensys.nl/indexuk.html) for registration details.
- SmartBar -- The version on Hobbes, as of this writing, is current. SmartBar is "cardware."
- SysBar/2 -- The version on Hobbes, as of this writing, is current. SysBar/2 is "freeware."
NetLabs: NetLabs is an open source development organization for OS/2 software. From the web site (http://www.netlabs.org) I have obtained:
- xWorkplace -- Still, technically, a beta product. The most current release, as of this writing is 0.94.
- WarpIn -- Also, technically, a beta product. This is the installer for xWorkplace and is a prerequisite.
"Missing Persons": There is no current source for FM/2. A possible alternative -- that is in current development -- might be FileStar/2. It can be obtained at
You can reach the author at
- Part 1 (June 2000) - Defining Hog Heaven
- Part 2 (July 2000) - Matters of Style
- Part 3 (August 2000) - Focus on Files
- Part 4 (October 2000) - The Pulse of the System
- Part 5 (November 2000) - Really Virtual Desktops