- Killer Desktop for Public Domain Unix?
|Originally published March, 2000|
|¿ 2000, 2005 Carlo Kopp|
One of the most bizarre pieces of mythology which is blindly accepted outside the Unix community is that "it takes a rocket scientist to drive Unix". Certainly a decade ago a Unix user may have required some level of knowledge above the trivial, but in recent years this has certainly ceased to be the case.
Indeed I find that MS Windows and MacOS are both much messier to administer than a contemporary Unix, much more cumbersome to drive, much less flexible and reliable, and usually guzzle compute cycles at a much higher rate. I could not help but chuckle at one of the industry weeklies which some months ago ran some editorial comment, and a polemic on Unix vs Windows. The pro-Windows side of the argument desperately clung to the aforementioned myth, as if it was some kind of irrefutable and immutable truth. Sorry boys and girls, times have changed !
The only position which Unix bashers have been able to sustain without appearing to be complete dunces has been the argument of "what about newbie computer users ?"
Whilst we professionals in the trade may choose to dismiss the newbies, the basic commercial reality is that the newbies are the cutting edge of growth in any market, and we dismiss them at our peril.
Newbies want "simple to drive" GUI interfaces which hide everything beyond the bare minimum of information needed for them to identify which file to work on. Indeed many computer semi-literates cannot even figure out which application is associated with each file type.
The question of course is, why should they ? If computers are to become the universal and ubiquitous commodity item, present in every household and on every office desktop, then we ought not set very high expectations of such a user.
Much of the popularity of the MacOS GUI and the Windows GUI stems from its focus upon accommodating users who have little if any experience, and frequently try to minimise their knowledge of the machinery. Indeed this is the root of the commercial success of both operating systems, despite their fundamental internal limitations, inflexibility and lethargic performance, all of which are anathemas to serious industry professionals.
Since the advent of X11, Unix has seen a plethora of GUIs evolve and proliferate widely. Unix users today can pick and choose from so many window managers, it would be futile to even attempt to list them.
A more important and more recent development are integrated desktop environments, which aim to merge the attributes of a traditional window manager with much more "newbie friendly" features such as MacOS/Windows style graphical file managers and toolbars with pushbutton icon launching of applications. This allows a Unix system to be configured to be "newbie friendly" with a MacOS/Windows like graphical desktop, while not in any way precluding the use of the shell command line interface for more experienced, and discerning users.
Concurrently we are seeing the proliferation of "clone" office productivity suites, the best known of which is StarOffice, acquired recently by Sun Microsystems and available free of charge to non-commercial users.
It is in one sense sad that we have had to wait a decade for Unix to provide the mass market oriented tools which make the product truly compatible with the large scale mass user market. The technology was available to do this a decade ago, and do it significantly better than Microsoft and Apple had done, by virtue of a much superior basic operating system sitting beneath the desktop and tools.
The advent of robust and high quality public domain Unix variants, such as recent Linux variants and FreeBSD/NetBSD/OpenBSD, has finally provided the unbeatable acquisition cost advantage which was the other part of the reason for the commercial success of MacOS and Windows over Unix in the "desktop wars".
With the prospect now of a freebie base operating system and integrated desktop, technologically superior to the Apple and Microsoft offerings, and ports of popular productivity tools available at competitive prices, the longer term future of the Apple and Microsoft offerings presents some interesting questions. Faced with a cheaper and technologically superior alternative, their only advantage lies in their established market base. How long this advantage can be sustained is an excellent question.
One of the interesting questions of relevance at this time is whether it is more in the longer term interests of Microsoft shareholders to see a divestiture, in that this would free a great many of Microsoft's product lines from the technological encumbrance of of being tied to their operating system products. A Unix port of the Office suite would be a more potent competitor than the existing product, which imposes the use of platforms which are increasingly technologically uncompetitive. Should current trends continue, a monolithic Microsoft providing the current "all-in-one" tool and platform offering will be at a serious technological disadvantage against the far more rapidly evolving and more adaptable public domain Unix variants running third party clone tool suites.
In OECD countries, the prime market for all computer products by virtue of wealth and education levels, we see a virtual saturation of the commercial and government computing markets, and approaching saturation of the middle class household markets. The success of Microsoft, and to a lesser degree Apple, in capturing these "desktop-centric" markets resulted from having products which at the time met the needs of many users, who were by computing standards non-experts. However, many of these users despite being non-experts are not dumb and do learn over time what is good and what is bad in a product, no differently from people who drive cars learning fairly quickly the limitations of specific styles of car design. Much of the market dissatisfaction we see today reflects exactly this effect, ie over time the market learns and as a result changes its expectations.
One of the characteristics we see in mature technological commodity markets is a ceaseless fight over shares of what is essentially a fixed size market. In this game, adaptability and cost are the key to success. One hardly needs to be a genius in marketing theory to see that the rise of the Japanese car makers at the expense of American and European car makers stemmed precisely from these mechanics. During the seventies and eighties the Japanese dramatically increased their market share by being more responsive to customer expectations, and pushing out highly competitive high quality products.
The computing market is now truly becoming commodified, and is also maturing. As a result the players who will do best in the coming decade are those who are able to most quickly adapt to consumer demands, which means rapid technological evolution and competitive pricing.
In terms of operating systems, only Unix today in its various incarnations has that adaptability, indeed with "evolution built into it" it should come as no surprise that a 1970s technology is today evolving faster than its proprietary cousins of a much younger vintage.
In the evolutionary game, public domain software has a huge advantage over proprietary software, simply because the developers are usually users and intimately understand the limitations of the "industry standard" proprietary software which they are emulating, cloning or replacing. A software developer in a commercial environment must frequently contend with the expectations of marketeers, managers and shareholders, many of whom can be quite clueless about the needs of the end user, the consumer of the product.
This I can state from personal experience developing hardware and embedded code during the eighties and nineties. In some of the organisations I worked, products ended up becoming encumbered with features which the marketeers insisted upon yet the users did not want. Come beta test time, when developers were allowed to talk to end users, we suddenly learned from our staple customers that they didn't really want certain bells and whistles, and sure as hell did not want to pay for them. Yet the marketeering driven paradigm of commercial product development mandated the very same bells and whistles, since competitor X had them and "we would not be competitive without them". No amount of argument by poor dumb developers would sway the omniscient marketing department.
I can contrast this with the lean and mean public domain development model, where I bounce emails back and forth with a developer of one of my favourite tools, thrashing out the merits of including specific features or discarding them. Very informal, very direct, and providing a very objective exchange between the end user and the developer. No marketing genius in between filtering reality to fit his own preconceived ideas of what is possible and what is wanted.
Evolutionary theory in biology tells us many things, but one fundamental truth which cannot be escaped is that the most adaptable species eventually prevail, all else being equal. The T-Rex may have been the best predator of all times, but the humble shrew is still around today. Why ? Because it was significantly more adaptable.
Where does this leave the computing market of the coming decade or two ?
The commercial players who can best emulate the rapid capacity for adaptation we see in the public domain software market, and can best integrate with it, will over time increase their market share since their products can remain continuously relevant to consumer expectations. The commercial players who reject this new paradigm will progressively lose market share and end up occupying particular legacy niches where their established product lines cannot be significantly improved upon. An recent example must be the mainframe marketplace, which is technologically conservative, evolves slowly, puts much effort into supporting legacy software, and has remained relatively stable in recent years.
Two of the classic case studies in strategic market analysis failures must be IBM and DEC, both of whom were market leaders in the mid eighties. IBM were very late to embrace the to decentralised computing and Unix, and whilst remaining a robust and technologically competent player, lost much of their commanding market position with the decline of centralised computing. DEC, the torch bearer in the mini-computer age, who set many of the technical standards upon which the workstation and PC markets grew, poured their effort during the late eighties into usurping mainframe business with top end superminis. This while discarding their decisive technological lead in 16 microprocessor chipset technology, all but ignoring the technological advantage implicit in owning the reference hardware platform for BSD Unix. Being acquired by Compaq must rank as the spectacular "riches to rags" story of the industry.
Adaptability is and will continue to be the primary determinant of success and longevity in this industry.
The importance of the integrated desktop environment cannot be understated in today's context. It is the primary interface to the user and as such its capabilities are a large part of what the user sees. The less the user knows about the underlying operating system, the greater the relative importance of the desktop environment in the scheme of things.
While user expectations will evolve as they accrue experience, we can state several basic rules which have become increasingly obvious over almost two decades of GUI use, and four decades of command interpreter (shell) use:
The success of the MacOS and Windows GUIs lay in their ability to meet many of these expectations, for inexperienced users. Their inherent inflexibility and the limitations of their operating systems are also barriers to further long term growth, and limit their capacity to meet these very same expectations for more experienced users.
In the Unix marketplace, one of the big barriers to wider product acceptance was vendor infighting, whereby each and every player concocted their own X11 GUIs (and earlier proprietary ones), to attempt to seduce customers from other players by offering the sexiest GUI environment. Indeed during the early nineties virtually every Unix vendor had a unique GUI. I can recall many irate users during this period cursing the fact that HP, DEC, IBM, Sun, Solbourne and SGI all provided significantly different GUIs. It should come as no surprise that the proliferation of public domain window managers was a direct consequence of this - at least that way you could have the same desktop on any system !
The GUI problem was exacerbated by the proliferation of vendor unique widgets and toolkits, thereby making application portability more difficult. Writing a a tool to be portable across multiple vendors and yet retaining the same look and feel was anything but a trivial task.
Finally, each vendor incurred the not insignificant coding overheads of maintaining their proprietary offerings.
By 1993 it was clear that a better strategy lay in devising an industry standard GUI/desktop environment. At this time HP, Sun, IBM and Novell agreed to jointly develop and standardise a common environment, which would draw heavily upon HP's VUE desktop and use the Motif X11 toolkit. Thus was born the Common Desktop Environment (CDE), which combines an X11 window manager with a standard package of desktop tools and a standard user interface and toolbar.
CDE was an important development and is now pretty much a standard or an option for many commercial Unix variants. The basic kit incorporates a login manager, session manager for saving desktop state, a workspace manager for multiple desktops, a "front panel" for status display and pushbutton control, a style manager for configuration, a file manager for graphical filesystem management, a print manager and an application manager tool, in addition to a mailer, calendar, calculator, and VT220 terminal emulator.
A well implemented CDE port will provide a user with a platform portable and fully consistent desktop user interface. Having used VUE and CDE during the mid nineties, I found both to be a major improvement over older X11 environments. Perhaps slightly slower, but providing the convenience and flexibility absent in then established technology.
The difficulty with CDE is that it is a "proprietary standard" insofar as its licencing, and that of the Motif toolkit it uses, preclude distribution in the public domain. For users who are committed to commercial Unix, CDE is in many respects the answer to the problem of unifying the desktop.
This was clearly a source of much unhappiness in the public domain software community, where the plethora of window manager / GUI environments, and the pressure of Linux newbies wanting something similar to the Windows/MacOS GUI, began to tell.
This provided the incentive which led to the K Desktop environment, KDE.
The K Desktop Environment
The K Desktop Environment (http://www.kde.org) was produced by a large team of software developers, under a public domain licence. Their primary objective was to produce a very modern integrated X11 desktop environment for Linux, FreeBSD and NetBSD, or other Unix platforms, competitive with the Windows and MacOS desktops.
The objectives of the KDE project run further, and include the KOM/OpenParts development framework, built around CORBA 2.0 and intended to perform the same functions as the MS MFC/COM/ActiveX environment. The idea is to provide the same style of consistent application development provided by the proprietary vendors.
The KDE Office Applications Suite is currently in development
and is intended, like proprietary suites such as StarOffice, to occupy
the same niche as the MS Office suite.
It should not come as a surprise that KDE usurps not only design features and ideas common to the MacOS/Windows desktop, but also borrows ideas from the commercial CDE. The developers note that their intent is to continue to incorporate what they perceive to be the best features from the proprietary desktops, and commercial Unix desktops.
A detailed technical discussion of KDE would be time consuming and arguably tedious and therefore we will not attempt to present such. What is worth briefly exploring are basic design of the desktop as seen by the user, and its configuration features.
KDE uses the Norwegian Qt toolkit as its basic low level interface, source code to Qt versions 1 and 2 (beta) is available on the net.
Unlike older Unix window managers, KDE makes sparing use of pulldown menus in the root window. A default setup on the RH mouse button provides a doubly nested menu of mainly global frequently used commands.
The distinguishing feature of KDE is its control "panel" which is in concept not unlike the MacOS, Windows and CDE offerings. The "panel" provides a Windows/MacOS like nested menu "application starter", as well as CDE like pushbuttons for selecting one of several workplaces, screen locking, logout, and a number of applications.
The default environment is loaded from a shared system area, and user specific customisations are gathered from a .kde/ user setup directory. Users can therefore transport their customisations across platforms by simply tarring up .kde, .kderc and the Desktop directory. This is in principle no different from copying across .rc files.
The KDE panel is intended to be customised by the addition of pushbutton icons for frequently launched applications, and has provisions for a user specific "favourites" menu accessible from the "application starter", or if so configured, directly from the panel. The panel may be permanently displayed, dynamically hidden like the Windows panel, or manually hidden.
A "taskbar" analogous in function to the Windows design is employed, and all iconified applications appear there.
Applications are launched via a *.kdelnk "link" file, which is a human readable, vi editable, ASCII file containing the parameters for the application. An example, for an xterm, is such:
# KDE Config File [KDE Desktop Entry]
Exec=xterm -ls -fg white -bg grey25 -geometry 80x48 -fn 8x13 -sb -T Xterm -n xterm
Therefore, pushbuttons for application starting can be crafted or edited the newbie way, using a GUI editor, or by diving into ~/.kde/share/applnk/ and merrily hacking into the .kdelnk files. Readers can guess how I did mine ...
Applications with suitable installation tools, like StarOffice, will install the appropriate menu entries, link files and icons.
A MacOS/Windows style file manager is available, and seems to
work as advertised, although I found documentation on application
linking to file types a little difficult to follow. A MIME/magic number
file typing mechanism is used, rather than the rather brain-damaged file
suffix technique used in proprietary desktops. A Windows/MacOS style
file finder is also included.
A KDE HTML browser is provided, although I ended up configuring Netscape in preference to this tool.
Extensive configuration menus are provided to allow almost every imaginable aspect of the desktop to be tweaked.
The suite of applications ported to KDE is quite large and too big to list. Suffice to say there is more than enough to play with.
I have been running KDE since early December, when I upgraded my trusty old Pentium Pro 180 / 96 MB to FreeBSD 3.3. The platform has a 7200 RPM 9.1 GB IDE and a Matrox G200 (my recommendation is to source Matrox hardware overseas, given experience with local suppliers). With this platform the response time of KDE has proven to be excellent, indeed I could barely pick the difference against twm or ctwm running on the same system with a clunky ET4000 accelerator.
Time constraints prevented me from completing a build of KDE/Qt on my SunOS 4.1.3/X11R6.4 GCS Mongoose SPARC system (S/N #0009) in time for this feature, while KDE configures and builds, the Qt build environment gets into difficulty with a hybrid of this ilk. Some tinkering will be required, not uncommon with older Unix variants and newer tools.
My impressions of KDE, given its immaturity (I am running 1.1.1 with Qt 1.44), are extremely favourable. I set up a CDE-like desktop with about 2-3 hours of effort and no prior exposure. By the same token, a newbie would find the environment to be extremely comfortable, with its MacOS/Windows like interface and toolset. Two screendumps illustrate this convincingly: the first shows a very "Unixy" desktop, the second the very same system with Windows/MacOS style tools deployed.
The really important gain for the user base which is offered by KDE is a uniform environment across arbitrary Unix systems, which provides a seamless transition between a newbie friendly MacOS/Windows style interface and a CDE style interface for experienced Unix users. Combined with a CORBA based development framework, a mature KDE will be a potent competitor against the commercial CDE offerings and the proprietary MacOS/Windows desktops.
KDE may yet prove to be the "Killer Desktop Environment", pun intended, and the pivotal piece of technology which allows public domain Unix to finally assault the desktop on equal terms with established players. It will be most interesting to see how the market responds in the next two years.
|$Revision: 1.1 $|
|Last Updated: Sun Apr 24 11:22:45 GMT 2005|
|Artwork and text ¿ 2005 Carlo Kopp|