Home (information design and hypertext theory)



The Unix GUI Manifesto


Contents

The GUI fragmentation of Unix prevents formation of a platform for a commodity market
The traditional anti-GUI, anti-end-user culture of Unix
The platform wars and hacker culture and attitudes are changed by the Web -- the pre-Web and post-Web eras of programming culture
X, Motif, then CDE -- wrong goals, evolved too slowly, consortiums too slow to catch on
The Common Desktop Environment - a forced defensive response to the Windows threat
KDE (Kool Desktop Environment), Linux, and Lesstif -- some freeware GUI alternatives for everyman, instead of CDE, Unix, and Motif
A constructive attitude for promoting Unix as an alternative to NT
Rescuing Unix from the Hackers
Strategies to promote the development and widespread adoption of Unix
Corel Desktop Linux


The GUI fragmentation of Unix prevents formation of a platform for a commodity market

GUI fragmentation is the greatest competitive weakness of Unix. There is no standard Unix File Manager or Text Editor or Help -- that's shocking, in this age! Every Windows or Mac machine has a standard file manager and text editor and help system. The casual end user can accomplish elementary end-user tasks without encountering anything different from machine to machine.

Unix is a fog of competing pieces. Windows and the Mac are solid, tangible objects, viable targets for mass merchandise. Unix has not earned the right to call itself a single platform, whereas "Windows" comes sufficiently close, though Windows is fragmented badly into 3 competing platforms: Win3.1, Win95, and NT. If you are a Unix developer of standardized graphical applications for end-users, you have many, many more decisions to make about what combinations of Unix hardware and software to support, than in the Windows or Mac environments. Unix has no GUI, because it has too many different GUIs. Unix is not a coherent market for shrinkwrapped desktop graphical applications for the casual end user, because Unix is really a bunch of competing flavors and myriad components with very spotty compatibility, compared to the single entity of Apple or Microsoft.

NT may be a mediocre server. DOS may be a mediocre command-line environment. Windows may be a mediocre graphical environment. But together, these at least form a definite, viable standard environment for casual end users, and it's a single operating system for which shrinkwrapped applications can be written. The Unix operating system might make for high-performance servers, but as far as the end-user environment, every program on every combination of Unix platform requires a different compilation and every program has a different user interface. There is no such simple thing as "the" Unix operating system or "the" Unix graphical environment, so there can be no shrinkwrapped Unix GUI applications for casual end users, and *that* is the reason Unix is about to die -- not because of underlying technical performance issues or low-level controllability. The lack of a common environment at the high level, at the graphical environment level, is what, in the end, stands to kill Unix.

Windows 3.0 was critical because at last it defined a reasonably focused standard end-user environment -- a tangible, definite "platform". As long as your product plugged into this standard, you had a viable, defined market. This has not happened in the Unix world. Imagine if Microsoft only owned DOS, and Windows were a fog of conflicting piecemeal products offered by competing companies and consortiums, a hodgepodge of too many alternative configurations. There would not be a well-defined environment, so no possibility of a commodity market for high-level shrinkwrapped applications.

Unix is just too slow to grasp what GUIs are about -- they are not about X's distributed graphical app processing, or Motif widgets, but rather, a coherent desktop environment supporting a commodity industry such as shrinkwrapped, interoperable applications for casual end-users. Finally, seeing NT run off with the market, the Unix world came up with CDE as a defensive answer -- but CDE is too clunky, and too expensive.

While Windows may err to the side of monopoly, Unix has erred to the side of chaos of competition at all levels of the environment. The Windows market is distinct; the platform approaches being a tangible single target. Sure, there are a few choices you have to make, but it's not like the chaos faced by Unix developers. Unix consortiums are riddled with political conflicts. As a result, we have too many Unix help systems, too many GUIs, too many graphical toolkits... it's all options, with no core standard -- no distinct target.

Because no commodity market can form for shrinkwrapped Unix applications, the prices remain too high (for example, Motif licensing).

The traditional anti-GUI, anti-end-user culture of Unix

Unix culture has an established loathing of casual users, business users, and the graphical desktop. Mac and Windows culture takes the needs of casual users very seriously. If the Unix world hates the "point and drool" interface and hates the business world, it's no wonder that Microsoft has walked away with the business desktop market -- the Unix world, on the whole, washed its hands of that market. The Unix attitude is exclusive rather than expansive. The Unix attitude is that of hardcore technical users making computer systems for other hardcore technical users.

The culture that Unix actually delivers is really not far evolved from the glass-house days. Instead of priests guarding their computers in the glass house, we have wizards and gurus snubbing end users. It's equivalent, as far as the casual end user is concerned: either scheme is almost deliberately hard to use for the casual user, who gets no respect because he doesn't know the arcane language of the privileged inner circle. The politics of Unix have a lot in common with the politics of the mainframe.

The Unix world has the worst possible attitude toward GUIs, though highly refined GUIs are mandatory for the casual end-user and the mass use of any operating system. When I first saw the phrase "point and drool interface", I assumed that the Unix techies were referring to their interest in Java.

The Unix attitude is that of disdain for the casual end user. Unix has a suicide wish -- it hates its own end users and provides them with inadequate graphical tools.

The platform wars and hacker culture and attitudes are changed by the Web -- the pre-Web and post-Web eras of programming culture

I'm advising a university sophomore who is tentatively interested in finance and programming, so this has prompted me to get out my high-performance crystal ball once again. I am also grappling with pre-Web computer science culture as I am learning C so I can learn C++ so I can learn Java so I can become a Web-oriented programmer. The hackers' Jargon File is interesting because of the irrelevance of its command-line attitude to post-Web programming culture. Do cranky old relics from the early days of Unix look down upon GUI users while reading the Jargon file -- through the wonderfully usable UI of Netscape that has caused the great Web revolution, a graphical accessibility revolution which largely runs on Unix servers? If hackers hate GUIs, how can they then embrace Java, Netscape, and the Web revolution? Hackers hate graphical desktop environments because they use a "point-and-[stupidly]drool" interface, yet the even simpler graphical Web browser interface is somehow commendable? What illogical attitudes! I will learn hacker culture and encourage my young friend to learn programming, but I must somehow break away from the religiosity of the user-interface wars to get a reasoned perspective on the future of programming. And I don't want my neophyte programmer friend to waste time trying to make sense of this irrelevant, pre-Web foolishness of traditional hacker culture.

For new programming attitudes, I was inspired by the editorial and debate Microsoft Up in Arms Over Java NC Threat, including the Future Battles response. This is a debate about whether Microsoft is worried about Java.

"A new breed of developers will appear. Less rigid, more practical, with no particular devotion to any company (like MS/Sun/Netscape), more fluent in talking the language of other professions or areas of expertise. ... Developers are so fed up with the restraints of being committed to one company and one legacy (like MS) and so bored with the C++ paradigm that as soon as an alternative will be available they will jump in the new bandwagon. [MS greatly fears this.]"

I'm learning C and getting into programming, and trying to form the right attitudes as I enter the established, archaic pre-Web culture of Computer Science. The following article is an account of Unix, C, and the Web, and the Unix/Windows battle, and provides a thought-provoking perspective.

LinkScan site: Humor for Webmasters: True History of the Net (full names are at bottom of page)

I found the above article while investigating tools to make no-nonsense, traditional hierarchical outline views of Web sites, and LinkScan seems to fill this need inexpensively. The site also has a large, easy-to-navigate archive of computer humor, including this enlightening perspective which, however, as usual, is oblivious to terrible lack of a standard graphical desktop for Unix. Reading this article is enough to convert a fence-sitter to a Unix enthusiast, except for the unspoken Achille's heel of Unix -- the lack of a standard graphical desktop environment, which is the main problem stopping Unix from being a viable market platform.

X, Motif, then CDE -- wrong goals, evolved too slowly, consortiums too slow to catch on

The "standard" Unix GUI goals laboriously evolved through X, then up to Motif, then finally up to CDE (Common Desktop Environment) -- the wrong goals, the end-user graphical environment evolved too slowly, and the Unix consortiums were far too slow to catch on to the need for a standard graphical desktop required to constitute a market "platform".

Motif is stagnant. It's moving too slowly, it's prohibitively expensive. In the survey of Motif/X programmers, the positive views of Motif hardly get beyond "Motif is well-entrenched, so it will be awhile before it's dead." Meanwhile, these developers are almost all looking to Java to somehow provide the graphical user environment for Unix. Responses: X/Motif GUI Technology and Futures

Sure, Motif looks good on paper, but it turned out to be too complex, too expensive, too slow to evolve, and no standard graphical desktop with productivity tools for casual end users. As a result, it seems to be withering. OSF Motif and CDE - User Environment Information

As far as GUI standardization, the Unix world is now where the Windows world was around 1988. There are too many toolkits, too many different standards, and no uniform graphical operating environment. There is too much variety to support a commodity application market for casual end users. Unix is not a "platform" in the sense of a common graphical environment for casual end-users. Windows and the Mac have a reasonably uniform, defined desktop. But there is no such thing as the Unix desktop. Some Unix machines have proprietary desktops, but they are different, and most likely clunky, in each group of machines.

The Common Desktop Environment - a forced defensive response to the Windows threat

Unix developers hated graphics even more after the complexity and inefficiency of X windows and Motif became apparent. As much as the Unix world hates Windows, the primary factor driving Unix evolution is Windows. If it weren't for the threat of Microsoft, Unix would have no incentive to push prices down and strive for a universal graphical desktop environment that is consistent across all Unix platforms. Finally, CDE (Common Desktop Environment) was forced into existence by the looming threat of Microsoft, but that's too expensive, too clunky.

Book by Digital: The CDE Companion

Sun Solaris: Common Desktop Environment: Architectural Overview

The X windowing standard, CDE, and Motif were designed by committee and are expensive. Windows targets the poor person, and Unix targets the engineering department. About the efficiency of Unix GUIs? Technical issues are overrated in importance. The point I'm making in this thread is a point that doesn't get much attention -- there is no common Unix desktop. The lack of a uniform, graphical desktop is a more serious problem for the would-be Unix application market than the graphics response time of Motif.

Kool Desktop Environment, Linux, and Lesstif -- some freeware GUI alternatives for everyman, instead of CDE, Unix, and Motif

At this point, there are only two things to save Unix where it really has to be saved, at the graphical desktop level: KDE and Java, possibly a combination of them. The Kool Desktop Environment

When thinking about the politics of Unix and developments in the Unix platform, Linux is the central development -- but as I understand it, Linux sorely lacks a graphical desktop and refined graphical standards for applications. It's not enough. Something like KDE is required -- the Kewl or Kool Desktop Environment, a free alternative to CDE.

Is Linux becoming the definite platform that the fog called "Unix" has been forever struggling to become? Gallery of Linux applications

KDE is the free alternative to CDE, but it's just getting off the ground. The lack of a common user-level operating environment -- the lack of a standard Unix graphical desktop -- is the greatest obstacle to the mass acceptance of Unix. It's impossible to make shrinkwrapped Unix graphical applications for casual end-users, applications that can be installed the same way on all Unix machines and that behave like other applications.

Reading the survey of Motif/X users, it's clear that the Unix world is looking to Java to somehow fill the need for a serious graphical end-user environment. But the respondents don't mention the need for a single graphical desktop environment. There is however the idea of a PIGUI -- platform independent GUI which would not only enable shrink-wrapped software for all Unix platforms, but for all platforms; that is, all major operating systems or operating environments, not just flavors of Unix.

It's not clear how Java is going to solve the problems and inadequacies that Motif presents. Java can replace the rough, ill-defined "GUI" that Motif supposely provides, but if Unix, as a distinct platform, ever has a chance of mass buy-in, it's going to require a sleek GUI that shields the user entirely from raw Unix, like NeXT does.

It seems that the ex-Motif programmers and the old and new Unix crowd are proposing to make Unix a viable mass platform by effectively bundling Linux, Java, Lesstif, and KDE, and a browser such as Mosaic or Netscape, to implement the equivalent of Motif with Common Desktop Environment (CDE), or the equivalent of the NeXT graphical environment -- using collaboratively developed freeware, running on inexpensive, commodity hardware. Can this collaborative approach really provide a serious alternative to the evolving NT platform?

Lesstif is an API-compatible clone of the Motif toolkit of GUI widgets.
The LessTif Document Project

A constructive attitude for promoting Unix as an alternative to NT

If you want to save Unix, then take the GUI seriously, loosen up on the technical pride of mastering esoteric aspects of low-level OS usage. Take casual end-users and GUIs very seriously. Do whatever you can to create convergence within the Unix world -- convergence towards a determinate, tangible operating environment to write "shrinkwrapped" software for. These technologies point the way: KDE, Linux, Java, Netscape, and the Webtop concept (merging the desktop file manager and the Web browser). Network Computers (NCs), WebTV, and convergence of all communication technologies (HDTV, telephony, Internet, computers) are also important trends. Computers are for everyone, not just technical types; the potential user base is everyone, not just Unix hackers. If Unix can't get its operating environment together into a decently tangible "platform", it is doomed. Unite into an end-user environment that is functionally equivalent to other end-user platforms -- or die a deserved death from excessive fragmentation, inbred technical myopia, and disdain for the nontechnician.

The True History of the Net article rescued me from totally giving up on Unix. The bottom line for me and the majority of future end-users is this: if Unix provides a standardized GUI environment (including a sleek file manager, Help system, and text editor, comparable to Mac and Windows), then it's a serious platform for which I might develop. If not, then Unix is not a serious platform for end users, and is much less relevant as a career direction, as Unix would thereby continue to choose to become a niche operating system. If Unix takes casual end users seriously, then casual end users will take Unix seriously. If the Unix community wants to shun GUI standardization, thereby selecting to ignore the mass market and become a niche, that's their free choice, but there are other environments that are more welcoming of the masses and more open to expansion of their user base beyond the inbred circle of technical wizards that is the established Unix community. Will Unix continue to shun the graphical desktop and a single GUI standard; will Unix choose to become a niche rather than a major platform? Will KDE or Java change this ingrained bad attitude of Unix, as Linux finally expands Unix beyond the narrow, exclusive, anti-end-user, anti-GUI bias of the technical types?


Eric S. Raymond (Jargon File/Hacker's Dictionary) wrote:

OK, I'm going to seriously criticize you on this, so before I do let me make it clear that I think you have hold of one very important point. The lack of a marketable common desktop GUI is a serious problem for Unix's marketability. You are dead right about that much, your comments about the maturity and performance of Mac/Windows/NT GUIs relative to X-based ones are intelligent and very much on point, and I would like to see you push this argument further.

You have the symptom right. However, right now you are defeating your own argument by mis-diagnosing the underlying disease. I think I can safely claim to understand the UNIX/Internet hacker culture as well as anyone alive, and I'm here to tell you that these attitudes you call "illogical" are not. They are quite logical -- it's just that they derive logically from premises you are unaware of or systematically misunderstand.

Cranky middle-aged relics from the early days of Unix (like, say, me) do not generally hate GUIs per se. That we do not is proven by our embrace of X, HTML, and Java. Hell, we built those things!

What we hate is GUI environments that are prisons. By this I mean GUI environments which:

If you think about these criteria for a while the reasons hackers like Java but loathe Windows will become much clearer. Other instructive comparisons include Smalltalk vs. Visual Basic, or NextSTEP vs., say, FrameMaker.

You attribute the hackers' failure to develop a marketable common GUI to disdain for "suits" and the business world. While that disdain is real enough, you err in this particular context by seeing it as a cause rather than an effect. It's not that hackers start from despising suits and therefore refuse to write a GUI design acceptable to businesspeople. Rather, suits are despised because they sponsor horrifying design botches like the Windows API. No self-respecting hacker wants to get sucked into helping birth another monstrosity of that kind.

However, this doesn't mean we won't work on business stuff. It just means that before we'll do it we demand leaders like Marc Andreesen who are hackers themselves and can generally (though not infallibly) be counted on to put good design first.

I suggest you rethink your criticisms from this perspective.

-- Eric S. Raymond

I emailed the above article to a person at most of the sites listed, and received very agreeable responses. If I get a chance, I'll summarize the responses. Everyone seems interested in this line of thinking -- the hackers, the consortiums, the companies. These key sites and key people sound like they are ready to pull together to make a viable alternative to NT, a reasonably defined platform to compete with NT. If you're interested, contact the people at the sites in this article, or post on Usenet using the thread title shown under "Distribution".

The day I gave up on the Unix world was when I recently took a Java class and we used Indy's in the computer lab. The way these hot, graphical Indy's are set up, there is no graphical, system text editor as sophisticated and advanced as Notepad. Their "Notepad" is modeled after Post-It notes -- the wrong kind of notepad. You cannot use the Edit pulldown menu to cut and paste between Netscape and Jot on these Indy workstations, so I would hestitate to say that these Indy's have a graphical user interface in the assumed sense. These Indy's don't have an integrated graphical desktop; just a few astoundingly limited GUI demo apps. I didn't see anyone addressing this major GUI disparity in the platform wars in the .advocacy newsgroups. The need for a common graphical desktop for Unix wasn't mentioned in a major thread I started and ran a year ago, about the projected growth rate of NT versus Unix.

The 6/97 Linux Journal has some advertisements for NT/Linux computer systems, including suites, desktops, and productivity apps. I think Linux is going to lead the way to a serious NT equivalent or workalike, with a well-defined desktop -- a specific, rather than vague, platform. Developers will be switching back and forth between booting NT and booting Linux -- it's only a matter of time before Linux starts to become equivalent to NT for the casual end-user. Previously I advised my student friend to ignore Unix, because by the time he is working, it will have been trounced by NT. "There's not much future in it; Unix is for the older generation. NT is the future." But I'll tell him that Linux is changing this, and the CDE is coming along, if slowly. The end-user environment of Unix is evolving to catch up with Windows, thanks especially to Linux, so Unix -- Linux in particular -- will probably be worth learning, after all. As Linux takes the popular lead in the Unix world, the other Unix vendors will become Linux-compatible. Linux is likely to lead even Sun in popularity, because Linux runs on cheap, mass-produced hardware. There will be some sort of convergence between NT and Unix, with Linux at the center of this convergence because it runs on the Intel microprocessor family. This convergence may finally dissolve the platform wars by making platforms relatively unimportant. Java could do a lot to help this bridging, if the hopes for Java are realized.

Microsoft has the advantage of a dictator. Scott at Sun is in some ways the leader for the leading flavor of Unix. He wanted to go with Open Look, only recently giving in to Motif. The long, drawn-out war of Open Look vs. Motif is largely to blame for Windows taking the lead. Scott's reluctance was most unfortunate. After all that fuss, Motif turns out to be only a medium-level GUI, still in need of a final end-user desktop environment. The long-awaited end of the Unix GUI war was really only the end of the middle-level phase! Now, while Windows is pulling together with the new NT UI, the Unix world is still fickle and undecided on what should be the common desktop as a reference standard. It's supposedly CDE, but reading the magazines, there is no evidence of CDE being a standard in the sense that Windows is a standard for PCs. Open a PC magazine, and you see Windows screen captures everywhere. Open a Unix magazine, and you still see UI chaos. Maybe CDE will become a standard. Is CDE the best choice? Does this choice matter that much? The need for a standard is so severe, even a lousy standard is better than none, as far as winning the largest number of seats in the platform wars. If the Unix world takes 5 years to agree on every technical standard decision, Windows will continue to lead, because Bill has the GUI leadership position to turn the PC world on a dime, demonstrated by the overnight Internet-enabling of Windows. Scott couldn't get the Unix world to go with Open Look. Unix is so open, it pulls in too many directions to cohere, as far as casual end users, used to the Mac and Windows, are concerned. If Unix flavors remained just as incompatible at the OS level, that's not a significant problem for the end users. As long as the GUI look and feel of Unix flavors is consistent from one Unix machine to another, in different companies, the end users will consider Unix a comprehensible platform equivalent to NT or the Mac.

Steve Jobs, the GUI popularizer before all this Windows business took over, provided NextStep as this dominant common Unix UI. But his reality distortion field collapsed some time around when he left off the floppy drive from the $6000 NeXT cube. If Steve gave away NextStep to the entire Unix world for free, and continued to develop it, could it be the standard, displacing Motif and CDE? In 1987 it was hard to imagine that clunky Windows 2.x would blow by NextStep 1.0. It would be great to see a revenge of the NeXT. Tim Berners-Lee invented the Web on a NeXT.

The shadow of the popular NT platform looms even larger lately. There will be 3 levels of NT: personal, business, and enterprise. Win3x and Win95 will be phased out. This move from 3 significantly different Windows versions to 3 levels of a single version will make Windows a more compelling platform than today, and a more powerful competitor to Unix. Hopefully this growing shadow of NT will inspire the Unix competitors to unite to create a viable, consistent platform (with at least enough overlap and family resemblance to support shrinkwrapped mass-market applications) rather than remain a highly fragmented niche for techies.

Unix has not attained platformhood -- but Java has

The platform wars could be dissolved by Java. Java could be the common link that finally brings Unix together for the mass market. By the time the flavors of Unix cohere to compete with NT, we could enter the era of fully cross-platform interoperability that's been on the horizon for some time -- then, NT and Unix both might be superceded, if we can somehow let go of enforced backward compatibility. By the time the different flavors of Unix become interoperable for the casual end-user, all platforms and OSs might become interoperable, due to the cross-platform nature of the Web, HTML, and Java. As long as your product interfaces with these standards, you can support these standards using new high-performance or even experimental operating systems and hardware, that are not burdened with backwards compatibility.

Essentially, Patrick Naughton invented Java and wrote the AWT to solve the problem that James Gosling ran into with NeWS: the divergent combinatorial explosion of Unix GUI technology. At its origin, the purpose of Java is to address the chronic GUI fracturing within Sun. Not only was Scott unable to set a single coherent GUI direction for the entire Unix industry, he couldn't even make the GUIs made by Sun come together into one or a few directions. Even just within Sun, there were 108 different combinations of GUI solutions. The Long Strange Trip to Java Now that Java is a reality, how is Scott positioning Java strategically to address the original problem obstructing the development of a mass market for Unix shrink-wrapped applications -- the problem of divergent combinatorial explosion of Unix GUI technologies?

The hallmark of a targetable platform: the standard Help system -- enter Java Help

One of the most consistent features of the Windows platform is WinHelp, the universal standard Help system for Windows. When I evaluated 50 hypertext products in depth in 1990, I was amazed that one of the best hypertext environments was sitting right under the nose of the hypertext development companies, but was getting no attention because it was free, and was nearly ignored by Microsoft itself. (I concluded that hypertext, the hot new technology of 1989, wouldn't be interesting until the global network was in place, and none of these products were really interesting in themselves.) Bill Gates finally announced recently that Microsoft is doing some serious development of WinHelp, changing it to HTML Help. Now, Sun is announcing Java Help, which will be not only cross-Unix, but cross-platform. Java Help adheres to the Site Map spec or document map spec that Microsoft submitted to the W3 consortium. Microsoft's HTML Help (connected to their Site Map format for the Web) is a really great idea; now Java help, if extended with well-designed features, could expand the benefits of HTML Help to reach beyond the walls of Windows.

File Manager + Web Browser + Help System = ???

Somehow, these three well-known distinct tools are coming together: the file manager, the Web browser, and the help system. If the standard Help viewer is the mark of an integrated desktop, or end-user platform, then Sun's new Java Help is a clear sign that Java really is a platform. You've heard of the "Webtop" -- the file manager merging with the Web browser. Have you heard Microsoft's description of HTML Help, as a very general purpose WinHelp or InfoViewer merged with the Web browser? Add these 3 elements, and what do you get? An integrated file manager/ help system/ web browser that uses the ancient, venerable tree structure (the hierarchical outline) for efficient navigation, as well as searching and topical indexing. I can't yet picture a cross-platform Java-based file manager to match the Windows Explorer tool, but at least, the possibility of merging of the Java-based Help system with the Java-based Web browser indicates that Java and the Web constitute an integrated platform that can potentially match the functionality of some of the latest Internet-inspired technology for the Windows platform: Microsoft's Windows Webtop and HTML Help.

Re: Lack of single GUI prevents mass adoption of Unix
David Knorr at opengroup.org wrote (excerpt):

>Thank you for forwarding this to me. This is a very good article.

>we are busy setting direction for the Desktop environment (CDE/Motif/X) at The Open Group, with our recent inheritance of X. Please watch our web page in about a week for some changes, reflecting this, and also the recent releases of CDE and Motif 2.1.

>I plan to circulate your article to others within The Open Group, as well as outside, to get feedback. Your article comes at a good time, giving us something to think about.

I would like to spend more time researching and writing about GUI trends and strategy, but I'm working through the core programming track at full speed -- C, C++, Java, and special topics such as networking, Internet programming, and OOP. I have to concentrate and narrow my focus to fundamental programming topics.

The concept of "platform" is weakening as interoperability continues. With Java, HTML, VMs, and all the efforts to port GUIs to other hardware families, the platform wars could be bridged out of existence.

Having one group develop X/Motif/CDE will help integrate Unix as an end-user platform to provide an identifiable mass-market alternative to Windows NT. Hopefully X/Motif/CDE along with Unix will be packaged as a single entity, for $100, and will bundled with $2000 mass-produced computer systems and marketed as an alternative to Windows NT for the average individual. This is the approach that Linux is heading towards. Linux is more "popular" than Unix. Linux lacks a standard GUI, a common desktop, so far, so it cannot yet be considered a serious mass-market alternative to NT. If Unix remains an operating environment aimed primarily at researchers and techies on high-end workstations, the Windows NT market will probably grow much faster than the Unix market. The low-end, popular mass market is available if the Unix world chooses to enter it.

The command-line interface has become a liability of Unix as far as mass acceptance. The term "Unix" should be phased out, emphasizing "Motif" as a user-friendly environment that shields the user from raw Unix. "Use Motif -- we promise that you won't have to ever deal with Unix. But for those who use the command-line Unix environment, Motif enables complete control from the command line." The term "Windows" is flexibly general. As the term "Windows" replaced the term "DOS" in popular usage, the term "Motif" could replace the term "Unix", and could inherently imply CDE, and X (assuming X really is suitable -- can you now streamline it?) "Motif" is what the casual user will see, so that term should render the term "Unix" unimportant. The term "Unix" could remain in use among the traditional Unix crowd, not the casual users. The terms "Unix" and "Motif" compete against each other for mindshare. If the Unix hacker culture objects, we might reach a standoff between the usage by Marketing of the term "Motif", and the usage of the term "Unix" by the techies who emphasize the power and control of the command-line interface.

The Unix platform can only thrive if the traditional user environment called "Unix" is willing to be subsumed under Motif. As long as the hackers can access the command line and do powerful things there, everyone should be happy with this GUI emphasis, which is required for mass use of Unix. The term "Unix" connotes the command line interface, "Motif" connotes civilized Unix with a friendly GUI. Steve Jobs characterizes Unix as "the alien" in comparison to other end-user environments, and he provided a seamless GUI designed to completely hide raw Unix from the user. He didn't sell the NeXT as a "Unix machine", but as a NeXT -- emphasizing the high-level, graphical, end-user environment. In this respect, the NeXT is an anti-Unix Unix machine. Maybe the wishes of the command-line crowd cannot be entirely met as the GUI paradigm spreads. The mass market requires a sophisticated GUI environment that never requires them to see the command line. The command-line users will probably have to compromise, to enable Unix to gain mass acceptance.

Rescuing Unix from the Hackers

The dominant character of Unix must be changed if Unix is to become a serious, coherent GUI platform appropriate for mass adoption. This means breaking the popular association of Unix with the hacker UI style, and instead associating Unix with a reasonably standardized GUI that is welcoming to the masses who are about to become computer users over the next 10 years. I'm suggesting how Unix can "win" the platform wars, where winning is measured primarily by percentage of user seats over the next decade, not by technical quality. Java as a meta-platform, along with the Web, changes the very nature of the platform wars, and what it means to "win" the platform wars.

For Unix to gain a large share of new user seats, Unix must be rescued Unix from the hackers and extended to the masses by the efforts of new, GUI-oriented, cross-platform Unix programmers. There's nothing problematic about the continuation of the traditional Unix hacker culture, as long as a new form of Unix culture is added and offered to the masses. Showing screen captures of the Unix command line to the masses will severely limit the adoption of Unix, if these monospaced fonts appear too often, in too many ads and articles.

Does the monospace, command-line Unix culture need to die in order to permit a committed GUI Unix culture? In some ways, yes. The dominance of the monospace, command-line Unix culture must be replaced by the dominance of the proportional-spaced, new GUI Unix culture.

The threat of NT is motivating Unix to try harder to become a GUI environment. Java will likely have some role in finally making Unix into a mature, serious, and coherent GUI platform comparable to Windows and Mac as far as the casual end user is concerned.

Unix culture maintains an unwelcoming attitude toward large sectors of its potential user base. The great difficulty Unix is having forming a coherent GUI desktop is largely due to the alienation of the Unix hacker toward the casual end user. Unix hackers are never quite willing to align themselves with the mindset of the casual end user. The resulting GUIs thus miss the mark and provide fancier grillework that always leaves the command-line technophile mentality showing. This hacker attitude shows up all thoughout Unix literature.

If the Unix GUI is too slow to mature and cohere, it's hard to imagine the Unix market growing rapidly compared to NT. NT is destined to be a popular GUI platform for the masses, because that's what it tries to be. Unix characteristically is framed as a hacker's system only, and is unenthusiastic about mass adoption. Unix is not an environment that is welcoming for casual end users, so it doesn't really deserve to become popular based on its technical strengths. Unix doesn't really want to be popular, but prefers a self-defeating introverted isolationism, standing off to the side scorning everyman. The entrenched Unix mindset inherently prevents the mass popularity of Unix. However, Linux could possibly inspire a break away from this self-defeating, insular mindset in a few years.

For Windows, the casual end user is the most important person, not the hacker or the zealot. Placing everyman at center stage is why Windows is best positioned for maximum usage. Windows does not take an elitist or exclusive stance in its quest for users; every type of user is welcomed, rich or poor, technical or casual. Windows does not cater to one audience to the exclusion of another. Windows tries not to project an attitude, but plays it safe. It's more centrally, neutrally positioned in attitude-space than are the Mac or Unix platforms. By "the Windows attitude", I don't mean Bill Gates, the "Bob" agent effort, or Microsoft's underhanded competitive practices, but rather, the intent of providing a very inexpensive and very standardized UI optimized for the casual end user and designed to be used by everyman, dealing with the casual user in as straightforward and clear a way as possible. To become popular, Unix needs to adjust its attitude to become attuned to the needs of all people. What I'm calling "the Windows attitude" amounts to focusing on effectively serving the needs of the nonhacker and removing all other attitudes, because attitudes ultimately get in the way and exclude people. The "Bob" character had too much attitude and was obtrusive; a neutral attitude of "dealing straight" is the most unobtrusive and useful style for interacting with the casual end user.

The only company that seems to be effectively positioning Unix for everyman is Caldera, which is heading in the direction of providing an inexpensive, shrinkwrapped Windows workalike built around Unix rather than DOS. Since Caldera is also offering DR. DOS, they are well positioned at the intersection of Windows and Unix. The Unix world is practically incapable of grasping the mindset of the casual end user, but Caldera is straddling Windows and Unix and thus can carry the flame of end-user-consciousness from Windows over to Unix. Unix is unable to generate end-user consciousness on its own, but it can inherit this mental orientation from Windows. Unix needs to learn something from Windows about positioning and attitude. Windows genuinely wants to be used by everyone, while the traditional Unix world would rather not deal with the needs and applications of non-hackers. Established Unix culture excludes more people than the mass-oriented culture of Windows. The only way Unix is going to spread to the masses is by adopting the mass-oriented culture of Windows, moving forward and breaking out of the entrenched Unix attitude of exclusivity. The most effective way to bring about mass adoption of Unix is if people who have mass culture in their bones take Unix out of the hands of the technicians, who are withholding Unix from the masses in the name of hacker culture. People who like the Windows attitude of mass accessibility are well positioned to make a mature end-user GUI for Unix.

Hardcore Unix hackers who base their identity on their mastery of an esoteric environment, who refer to a GUI desktop as "a girl's Unix interface", are hindering the widespread adoption of Unix. It's absurd when these hackers gripe that businesses are choosing NT rather than Unix though Unix is better in certain technical respects. Hackers don't really want Unix to succeed in the vulgar mass world of "girls" and "lusers". They want to fail at popularity and wallow in self-pity about this failure. Unix is an immature end-user environment; Unix is in its adolescence. The problem with Unix is largely a psychological or attitudinal problem. This attitude continues to be inculcated in the exclusive universities. In the Unix computer labs, the anti-end-user attitude is systematically taught and learned. With this self-defeating culture, Unix is born to lose. At this rate, Unix itself will turn out to be the ultimate "luser" in the platform wars. Programmers who are partly invested in the Windows world might be the only hope for rescuing Unix from the hackers who have been promoting Unix to themselves.

Unix, when you move from one group of machines to the next, does not have a file manager, text editor, and Help system that are comparable to those in OS/2, Mac, or Windows as far as the casual end user is concerned. The standard file manager, text editor, and help system for Unix are the command-line, vi, and man pages. It is unrealistic and futile to expect casual end-users to learn these tools. The pride of mastering special skills is fine, but the only way Unix will be widely accepted by everyman is if the need for special skills is almost completely minimized, at least for routine tasks. The command line, vi, and man pages require far too much commitment and preliminary work, and a basic degree of skills with those tools has little transferability to other tools. Many Unix programmers are complacent and self-centered within their insular programming community. vi, man pages, and the command line are well-suited for certain tasks of computer specialists, but ill-matched for the needs of the casual end user. Too few Unix enthusiasts acknowledge the needs of casual end users; these programmers have tunnel vision. They provide inadequate environments for casual end users, and then complain when the end users reject the Unix platform as alienating, difficult, abstruse, inconsistent, and clunky.

It's not that casual end-users need a GUI, or even a character-mode pseudo-GUI (CUA or CUI). The essential point is to have a reasonably obvious interface that is reasonably similar across programs. It's easy to argue that a GUI, having a more flexible display, can provide a more obvious user interface than a character-mode CUI.

At least Red Hat and Caldera are racing the right race, with the Open Group and Sun Solaris also addressing the right issues to bring Unix to an inclusive audience. To promote the idea of a standard GUI desktop, requires breaking out of the circumscribed hacker view that the command line works well for me, for what I do, so anything else is inelegant and superfluous. Maybe few Unix enthusiasts are anti-GUI, but too many are complacently satisfied with the command line because it meets their personal needs for the kinds of tasks they like to do. Too few Unix enthusiasts are advocates for casual end users. The result is that the Unix community generally develops GUIs but without much zeal for GUIs and without much respect for casual end users. Even the window managers have a technophile flavor, often showing command-line windows in their marketing materials. Unix GUIs end up being designed by hackers for hackers, while the usage style of the majority of potential Unix users is treated as incidental.

Too many Unix programmers lack zeal for easy, consistent GUIs. The typical Unix programmer likes the command-line and the traditional Unix user interface too much. This culture of preferring the old, specialized, and familiar operating environment and only caring about the command line and traditional programmerish ways of using the computer, is holding back the development of Unix in the direction that is required for Unix to spread. Liking the chaos of traditional Unix is stunting the evolution of Unix as an environment for the masses of casual end users. Programmers are satisfied with obscure, abstruse, and inconsistent tools, a formless cloud of disparate tools. The old guard lacks feeling for the GUI. Fortunately, there are some Unix programmers, probably a minority, who do have some feeling in their cells for GUIs and consistency, and the needs of end users.

Unix is the last major operating system to develop a mature GUI. It's a straggler. In the Unix world, it's still 1988, sometime around MS Windows 2.x. In the Unix world, it's still the 1970s, with the Star and Lisa. Why is Unix, supposedly the best major operating system, such a laggard in assembling a reasonably standard GUI for the casual end user? A lot of the blame is due to the entrenched value system that Unix programmers learn, the value system of pride of mastering an esoteric user interface. The traditional Unix hacker wishes that computers would remain a specialized skill and secretly disapproves of the masses gaining access to computer power. The worst threat to the spread of Unix is the the value system of the traditional hacker.

A more widely acknowledged threat to the spread of Unix is excessive productization and competition at every level of the GUI. Too many companies offer competing technology, and try to charge $189 for their brand of one component of the GUI. Certain forms of competition are healthy, but others are destructive, leading to chaos and breakdown. Unix has suffered from destructive form of competition, that has torn that operating system into many disparate, incompatible, and expensive directions.

Windows has built a superior standardized environment for the casual end user upon an inferior base of operating system and an overcomplicated windowing system, showing that it's possible to build a satisfactory end-user environment upon a flawed base.

Some of the major contestants or collaborators toward a reasonably consistent Unix GUI follow. Will this be constructive competition, or will they tear the Unix GUI to shreds, offering too many conflicting alternatives?

Red Hat
http://www.redhat.com

Red Hat - Linux and Motif bundle $189 - end-user desktop not included
http://www.redhat.com/products/rlm.html (obsolete link)

Caldera - OpenLinux base bundle 1.1 with integrated desktop $59
http://www.caldera.com/products/openlinux/oplxbase.html

Solaris 2 Desktop
http://www.sun.com/solaris/desktop/Solaris2Desktop.html

Open Group - Mission and Overview
http://www.rdg.opengroup.org/public/overview.htm

CDE and Motif
http://www.osf.org/motif/

SCO's web page for Unix GUI desktop software
http://www3.sco.com/Products/menu5.htm (obs. link?)

CDE for Linux - $200
http://www.linuxmall.com/Allprod/lxcdeo.html

GNOME GNU CDE/KDE workalike
GNOME FAQ

Do you sense the formation of an identifiable, coherent environment for the casual end user, from these various companies and projects striving for leadership?

linux advocacy newsgroup etc, topic:
GUI fragment'n greatest wkness of Unix (KDE, CDE) - how to save Unix
Posted to newsgroups 5/16/97

>> If you don't like UNIX, then DONT USE IT!! Duh. Turn your back and go. Don't go off on a Jihad about some system that you feel no one is using anyway.

This characteristic Unix hacker attitude is the main obstacle to the mass adoption of Unix. Unix hackers accept the difficulty of the traditional Unix UI, proposing to leave that as the dominant Unix UI, and they want Unix to compete against Windows for mass acceptance. You can't have both. They invite people to leave if they don't like the UI of raw Unix (or the chaos of today's Unix GUIs). With the Unix UI options as they are, people will choose to leave, in droves, choosing Windows NT instead. The status-quo attitude of the Unix hackers will limit Unix to a niche. Most Unix hackers don't care. They don't want Unix to be popular; they don't care whether Unix is popular or not. Yet the Unix hackers enjoy deriding the popularity of Windows.

Many of the most powerful Unix programmers are completely indifferent or hostile to the casual end user and to the mass adoption of Unix. Unix hackers do not want Unix to win the platform wars. They would rather lose the platform wars than bother working toward a standardized GUI optimized for the casual end user.

Unix will not be extended to the masses by these sort of Unix hackers. The only way Unix has a chance in the platform wars is if a large contingent of GUI-oriented programmers shapes Unix into a form acceptable to the casual end user.

I am against the dominance of the traditional, fixed-space, character-mode, command-line style of Unix, and that culture. And for the dominance of a new, proportional-spaced, GUI style of Unix. The goal is to make Unix easier to use, more consistent between tools and applications, more of a commodity mass market for shrinkwrapped applications, and to make Unix positioned and re-styled so that Unix can win at least half of the user seats as nearly everyone in the world becomes a computer user over the next 10 years.

My goal is to point out the change of character that is required for Unix to have a chance against the onslaught of Windows, so that Unix will be available in some form for a mass audience. Everyone in the world will use computers. Now, only a small fraction of people use computers. In the next decade, the user base Unix and Windows will grow explosively. Will most of this growth be Unix, or Windows?

Unix hackers don't seem to care if Unix grows or shrinks, despite their complaints against the popularity of Windows. Unix hackers think that winning the platform wars means offering a better system. Windows developers think that winning the platform wars means achieving a strong majority of the user seats, and winning the majority of the potential users. For Unix hackers, winning is declared by a technical panel, based on technical merits. For Windows advocates, winning is judged in terms of popular usage.

When Unix "promoters" put down the popularity of Windows, they are not conceding that Windows If Unix is dominated by the techies who are nonchalant about casual users rejecting Unix, Unix will become a smaller percentage of user seats. Then, Unix advocates will still claim to have "won" the platform wars, by virtue of offering a technically superior system -- never mind that its adoption is relatively stagnant compared to Windows. Meanwhile, Windows advocates will claim that obviously, Windows has "won" the platform wars, by virtue of having won far more seats.

Windows advocates are unable to argue effectively with Unix advocates -- they assume different criteria for winning the platform wars.

>> Why not start a crusade against MVS; it's got even more users than UNIX, and is vastly more obscure?

How do the growth prospects look for MVS, as computers become used by a much larger user base over the next 10 years? Is MVS a serious contender in the platform wars? Maybe there is a comp.os.advocacy.mvs newsgroup I should check out. This raises the question of how the OS advocates conceive of the platform wars. How is winning defined? In what year is the winner to be announced? What are the platform wars all about, and what constitutes winning?

>While personally I'm quite happy with a command line, I can see that some people find GUIs easier. It's a difficult and largely unsolved problem to make a user interface which is accessible for new, naive users without "dumbing it down" and making it unsuitable for people who do know what they're doing. This doesn't mean we shouldn't try.

Microsoft's "Bob" was a failed experiment at dumbing down an OS, or UI.

>You'll have to pry the keyboard out of my dead fingers before I'll stop using the shell, but perhaps it wouldn't hurt to smooth out the learning curve a little for those whose brains have been softened by certain other OSes, hmm? Exactly how to go about this, of course, is another matter...

The hacker would agree that smoothing the Unix learning curve for Windows users wouldn't hurt, as long as this "smoothing" does not restrict the Unix hacker. Ultimately, the traditional hacker is unconcerned with what goes on in the arena of the girls, suits, and lusers. At this point, the Unix culture becomes bifurcated -- a new kind of Unix hacker is born, the GUI-oriented Unix developer. The traditional Unix hackers will stay put in their command-line, character-mode world, while the new Unix developers will enable the extension of Unix to the new world of potential users. Unix does have a chance in the platform wars (measuring vigor in terms of number of users, not technical merits) -- not by completely eliminating the old hacker's UI, the Unix shell, but rather, by adding a higher-visibility developer community: a new kind of Unix developer who is adding a Windows-like UI and opening up Unix to the masses.

Strategies to promote the development and widespread adoption of Unix

From: William McIlhagga , Copenhagen University
Jan 1999:
I think your criticisms are spot on, but perhaps your diagnosis of the reasons why Unix has no GUI, (or, equivalently, too many GUIs) is not. You say that the hacker culture is exclusionary - they derive their identity in part from being different from end-users. This is certainly true, but in itself not a full explanation. It does not explain why hackers will settle on some standards - for instance TCP/IP - but refuse to make or countenance other standards or components, such as the GUI.

A more important reason is - I think - the function of the computer in the two cultures. For the hacker, the computer is an end in itself. For the end user, the computer is just a means to an end. The difference here is much the same as the different attitudes that a mechanic and a commuter has to their car. I am a commuter - I buy a Toyota because I don't need to open the hood for years on end. This attitude would shock a mechanic, who would prefer a car he (like hackers almost always male) can tinker with, optimise, put new things on it, and so on.

The TCP/IP standard does not change the source of enjoyment for the hacker. TCP/IP is the transport layer; one does not care what is being transported or why. The GUI does. The GUI hides the machine, even to the extent of making different computers and OS's look and behave the same. The GUI is the way a commuter wants to see a computer, not a mechanic. Since the GUI makes the computer into a means-to-an-end, one cannot expect much support from hackers in attempts to promote a standard GUI. Unfortunately, I don't think the GUI and hacker can even peacefully coexist. If some of the hackers enjoyment comes from doing simple system tasks via a difficult command-line interface, that source of enjoyment will be eliminated by GUIs which present a constant challenge to that attitude, saying in effect "why do you bother with the command line shit when you can achieve exactly the same effect simpler, faster, and more safely, with a file manager?"

Take for example Eric Raymond's reply to your article:

>What we hate is GUI environments that are prisons. By this I mean GUI environments which:

>Condescend to their users, limiting them to an impoverished least-common denominator repertoire of objects and action semantics
>Don't support alternate interfaces via programmable control languages
>Lack extensibility
>Have baroque, badly-designed APIs.

In all of these objections, what he hates are GUI's that don't let him tinker with the computer. None of these objections refer to doing any real-world tasks with the GUI. And so long as hackers derive most of their enjoyment from computer-directed tasks, they will continue to evaluate GUIs in the same way as Eric Raymond, and not along the lines of someone who simply has a complicated task to do and wants the least interference from the computer while doing it.

- William McIlhagga

I replied:

Thank you for delving into the reasons for the hacker attitude vs. the end-user attitude.

Maybe I should give up hope that Unix will spread significantly. GUI standards remain too little, too late. It will probably be written off as a suicidal platform, one that adhered to certain limiting ideals so much, is was impractical (that is, not broadly practical). Unix has committed to being irrelevant to end users. Suppose hackers realize that their platform is stagnating and has become fully irrelevant; suppose that Windows replaces Unix in Computer Science education, as Unix increasingly becomes a niche platform. By the time the Unix community, including hackers, realizes that end users and robust GUIs are a #1 priority, it will be too late. The hackers will get what they deserve for their narrow views and disdain for broad relevance, their disdain for the big picture. I just don't see any real effort or progress toward end-user considerations, even with Red Hat. I have not read about Unix recently, though -- because every time I do read Linux Journal, I see no progress, no attention toward convergence to a single user interface, no sense of urgency to get in sync with the end-user perspective.

Command-line and GUI approaches might be able to coexist well enough. The 4DOS shell family shows various combinations of command line and GUI approaches -- there is a fully GUI command-line environment, so that the DOS window is a full-fledged Windows program with drop-down menus, keyboard shortcuts, and standard keystrokes.

William McIlhagga wrote:

>Well, you could be right; my ideas on the impossibility of peaceful coexistence is something of a one-size-fits-all theory (a bit like how Serbs view Croats, & vice-versa). But maybe 4DOS doesn't exactly coexist with Windows, if the number of 4DOS shells in use is very small.

In Technology Review, I saw an article claiming that Gnome is a GUI for Linux, to make Linux easy for casual users, similar to the standardized GUI of Windows. GNOME FAQ - GNOME is a free and complete set of user friendly applications and desktop tools, similar to CDE and KDE, but based entirely on free software. GNOME is everything that's expected in a modern programming environment. It is approximately equivalent to CDE, win32, NextStep, or KDE. Unlike these examples, GNOME is "free" or "Open Source" software.

Corel Desktop Linux

Press release - Corel to bring Linux to the desktop

Plans include 'invisible' Linux Operating System and user-friendly interface. Ottawa, Canada- March 2, 1999- Corel Corporation has announced today its plan to introduce a user-friendly, easy to install interface for the Linux Operating System (OS), at the LinuxWorld conference in San Jose, California. At the first major trade show devoted to commercial applications in Linux OS, Corel president and chief executive officer Dr. Michael Cowpland announced the expected November release. "We plan to simplify Linux by creating an easily accessible desktop environment," said Dr. Cowpland. "Linux will then be available to all computer users who wish to experience its benefits." The emphasis of the new Corel version of Linux will be on simple installation and a graphical user interface (GUI) that sits on top of the operating system, similar to those used on the Windows or Macintosh OS. Corel is also anticipating Linux versions of its WordPerfect Office 2000 this year, and CorelDRAW and Corel PHOTO-PAINT for Linux in 2000. "The difficult-to-use reputation of Linux will be left behind," said Dr. Cowpland. "Everyone will be able to experience the power and stability of Linux without learning complicated codes."

FAQ: Corel and Linux


Home (information design and hypertext theory)

Contact