Skip to content

Comment on X11 Window System Turns 25 Years Old

Comments

I remember lurking on Slashdot during the 1990s. X-Windows partisans did not cease to extol its supposed strengths over Microsoft Windows and the Macintosh.

They said that the separation of mechanism and policy would make inevitable any number of advances in user interfaces that were not possible under closed source models. Look at what actually happened. The overwhelming majority of Linux window systems and desktop environments were Windows 95 work-alikes, NeXTstep work-alikes, or attempts at minimalism based on BlackBox or aewm. Enlightenment was the only major exception, but it went by the wayside due to Rasterman's falling out with RedHat and by that project's attempt to build resources that were not but should have been included in X-Windows.

In the meantime, Microsoft kept improving Windows until, with XP, they had an operating system that even many Slashdotters were forced to admit was usable and productive. In the meantime, Apple went to the brink of ruin and bounced back to usability preeminence using Unix code, but violating -- nay, extravagantly violating -- the Unix philosophy when it comes to user interfaces.

"The year of Linux on the desktop" has long since become a bad joke even among the Slashdot set precisely because they held to their principles. Because they held to their false principles. If one wants to have a good user interface, then mechanism should not always be separated from policy. Configurability should not be paramount. An authority must be in charge to enforce interface consistency, if only imperfectly.

Apple Computer is the existence proof. If the X-Windows partisans were right, then Steve Jobs pulled off the impossible.

I'm responding to my own post in order to answer already-posted objections as well as to flesh out some ideas.

The X-Windows partisans -- particularly those trumpeting the use of Linux in the 1990s -- made predictions about which kind of graphical user interface would see more adoption, more innovation, and achieve greater ease of use. These predictions were consequent to the design principles of X-Windows. My point is that we should see if those predictions came true and, if not, how far they diverged from reality.

One of the design principles of X-Windows was the classic Unix tenet of "mechanism, not policy." This principle was most visible in the separation of the window system from the window manager and optional desktop manager. The prediction consequent to this principle was that this separation -- combined with the healing, cleansing power of open source -- would cause a thousand flowers to bloom. Unconstrained by the diktats of The Man, neck-bearded GNU hippies would unleash innumerable window managers and desktop managers showcasing a dizzying number and kind of user interface enhancements. These ideas would compete and combine in Darwinian frenzy faster than the suits at Redmond or Cupertino could cope with.

What actually happened? For the past fifteen years, the greater number of Linux users stuck to programs that aped the interface of Windows 95 or NeXT. This is especially hilarious in the case of Windows because Windows 95 was loudly reviled by the Slashdot crowd on release. "You have to press 'Start' to shut down? M$ is so stupid, LOL!" Then they paid Microsoft the ultimate compliment by implementing Start buttons, task bars, and even CUA keyboard shortcuts on Gnome and KDE.

When people are free to do as they please, they mostly imitate each other. And it's not just the so-called 'mundanes,' either; most nerds are no different.

Aside from Gnome, KDE, and perhaps WindowMaker, other user interfaces for X-Windows have remained in the minority. That includes wm2, ratpoison, xmonad, Symfony, and so forth. The Shell for Gnome3 came very late in the game and has received "mixed reviews" to put it charitably.

More to the point, if the prediction were true, then user-interface innovation should have been immediate, obvious, and embraced by nearly all. Didn't happen.

Now look at Microsoft and Apple. Their user interfaces were never as configurable as what Linux had. Closed source. Little separation between mechanism and policy. Everything was tightly coupled. And in 2003, RedHat advised general users to stick to Microsoft Windows. Hardy har har.

Microsoft and Apple understand that the purpose of a graphical user interfaces is not just to put pixels on a screen; it is to make computers easier to use. That requires research into human-computer interaction. That requires establishing interface guidelines and getting people to abide by them. That means that depending on "Don't Tread on Me" hackers may not be the best approach.

Another design principle -- really, a body of design principles -- was the X-Windows approach to network transparent display. It is central to X-Windows. X-Windows may have been the first software subsystem to pioneer this concept. X-Windows partisans declared that this feature put X-Windows far ahead of Microsoft Windows and the Apple Macintosh.

What actually happened? Here we are, living in the future, using applications delivered over the Internet. Almost none of them are delivered using the X-Windows protocol. Instead, they use the HyperText Transport Protocol. It's easy to see why. Elsewhere on this page, a commenter noted that Hacker News would crawl if it had to be delivered over X-Windows. What X-Windows is best at, it isn't much good at.

As Don Hopkins has noted (sorry, I don't have a link handy), the ideas behind NeWS, X-Windows' competitor, were so good that they got re-invented. The client side does the rendering and input management. The back end is often written in an entirely different programming language. This bifurcation between the front end and back end is what put off so many people from adopting NeWS, even though Sun provided tools for transitioning from PostScript to C. Here we are with a far clunkier substitute in the form of HTML+CSS+JavaScript because it's still better than making it work on X-Windows.

Once again, the Unix-Haters were right. As usual.

Go ahead. Say that X-Windows addresses problems that web pages can't. Make whatever objections you like. Come back to this: What do we observe? Are cross-network apps delivered more often by X or by HTTP? Again, go ahead and say that X-Windows is better for some critical use case. As funky as HTML+CSS+JavaScript can be, no venture capitalist will throw money at you to port it to GNOME. They haven't been that stupid since the tech bubble.

The centrality of network-transparent display has hindered the adoption of any replacement to X-Windows. The barrier to entry is simply too high. Whenever such a replacement was proposed on Slashdot, the inevitable comments got posted: "Does it do cross-network display? No? That's when I stopped reading." Don't tell me that it's a life-saver when you really need it. That's a tautology. If you "really need something," then, by the law of identity, you really need that thing. The fact remains that the overwhelming majority of people never needed cross-network display implemented in the way that X-Windows implemented it. Microsoft's and Apple's customers were not screaming for this feature.

The final prediction was adoption. The combination of the above features would make X-Windows so compelling, that Microsoft and Apple would have to concede or the time would come for "The Year of Linux on the Desktop."

What do we observe? Microsoft Windows remained the dominant desktop operating system without adopting any of those features. X-Windows clients for operating systems other than Unix never took off. Apple and Microsoft continued to refine their user interfaces. Apple practically came back from the dead, spurned X-Windows in favor of Display PDF, and cemented its reputation for ease-of-use and good design.

Most damning of all, it wasn't just "the mundanes" who voted with their wallets; it was hackers, too. Paul Graham has written about how many of his hacker friends switched from Linux to Macintosh. Go to any hacker or start-up meetup and note how many Macintosh notebooks you see. Think back to the drama that occurred when Jamie Zawinskie switched to the Macintosh. Ask yourself: Was it marketing? Was it Steve Jobs' Reality Distortion Field?

X-Windows has failed. The most parsimonious explanation for this failure is that the principles behind its design are false.

> Once again, the Unix-Haters were right. As usual.

Except that the creators of Unix were some of the biggest X-haters, as I noted here: http://news.ycombinator.com/item?id=4528049

Unix gets blamed for lots of things that could not be further from the philosophy and design its creators had in mind.

I guess that is why they gave up on Unix and went on to create Plan 9 (and then Go).

With the success we all know.

Better does not always succeed.

The incoherent statements you make are totally dissonant to my mind; here are short notes: Mac UI pre-OS-X failed to attract people too (though designed by a single entity). X-Windows enabled a wonderful proliferation and diversification of desktop alternatives nowhere to be in Mac or Windows world. X-Windows and Unix philosophy is not to be confused. HTTP's win is a punch in the face for Microsoft and Apple, rather than X-Windows, X-Windows is rather an inspiration, especially Xterm over SSH. Your connection between linux desktop's lack of mass adoption and X-Windows is a far to stretch; Linux desktop is working for hackers already.

X-Windows succeeded! It achieved abundance of choices for us hackers, and is hackable. In contrast, Mac OS8, Windows Vista, Windows Me failed; and if the companies behind them were able to introduce a newer model which seems more successful is to be found in elsewhere, not in their design promises or philosophy.

The overwhelming majority of Linux window systems and desktop environments were Windows 95 work-alikes, NeXTstep work-alikes, or attempts at minimalism based on BlackBox or aewm.

Separating out the mechanism and policy allowed massive exploration in this space, so you have everything from wm2 to GNOME 3 to xmonad to Enlightenment. Just because you haven't heard of them or used them doesn't mean they aren't appreciated.

Wait what? Are you saying that Gnome, KDE, and Xfce don't stand up to what OS X and Windows have to offer? You are entitled to your own opinion and it's a subjective topic but I would definitely not agree there.

> Configurability should not be paramount.

The lack of configuration does not offer anything to the end user. It's a good business strategy to lower costs whilst still guaranteeing a bug/quirk free product. It is however not a plus. Less is not more.

>Apple Computer is the existence proof. If the X-Windows partisans were right, then Steve Jobs pulled off the impossible.

It only proves that their strategies and products appeal to a small demographic of computer users. For it to prove what you are implying, every OS X and X11 user must actively choose one over the other. I'm sure most OS X users never ventured anywhere near X11. I for one despise WIMP, whether in traditional Windows format or in shiny white gray OS X format. Give me a simplistic window manager any day.

> The lack of configuration does not offer anything to the end user

Oh, it /absolutely/ does. It means that companies can train people -- remember, those pesky hundreds of millions of people who are not computer savvy -- to use applications and not see their investments go up in smoke when some neckbeard decides that shift-clicking the mouse just has to center it on the screen, or play rogue, or something.

The companies who have been successful at UI platforms -- mostly Apple and Microsoft -- have extensive guidelines on how applications should behave. People expect this behavior, and if it changes radically from release to release you hear a lot of complaints. (Windows 8 is going to be interesting to watch).

The X-windows applications I've had the misfortune to use in my career have without exception been inconsistent, poorly designed, very bad at error recovery, and just generally all misery. You might be able to reconfigure them; frankly, I just wanted to scream.

On the other hand I seldom use apps on Windows that piss me off. I don't know whether this is because these apps have more competition, or the platform guidelines are better, or the platforms themselves are better -- whatever the reason, I rest my case.

Configuration is the booby prize if the underlying platform is garbage.

I'd rather have a configurable than a consistent interface. The principles aren't false just because you don't like them.

"The overwhelming majority of Linux window systems and desktop environments were Windows 95 work-alikes, NeXTstep work-alikes, or attempts at minimalism based on BlackBox or aewm."

The majority of existing Linux window managers are not representative of the window managers that the majority of Linux users actually use.

There are just a lot of Linux window managers, most of them were probably coded and abandoned decades ago, but they still exist and the code is still out there, because they're open source and the repository they reside in is still maintained by someone, even if no one actually uses them.

You'd be very hard pressed to argue that the versions of KDE and Gnome used by the majority of Linux users fit in to either of your three categories: "Windows 95 work-alikes, NeXTstep work-alikes, or attempts at minimalism based on BlackBox or aewm"

"In the meantime, Microsoft kept improving Windows until, with XP, they had an operating system that even many Slashdotters were forced to admit was usable and productive."

Maybe Microsoft plants at Slashdot would admit that, but most Slashdot users certainly would not. They might admit that XP was better than Vista or Windows 8, though.

"Apple went to the brink of ruin and bounced back to usability preeminence using Unix code, but violating -- nay, extravagantly violating -- the Unix philosophy when it comes to user interfaces."

Some would call the one-button-mouse "usability preeminence", others would call it dumbing down the UI to pander to the lowest common denominator.

Yes, it's undeniable that Apple and MS made a lot of money selling their wares to the technologically illiterate masses.

On HN, where the making money is considered a holy virtue, this might lead some to call Apple's and MS's strategy genius, and to imply that their UIs must be great by association.

But not everyone is so enamored with making money, pandering to the masses, or dumbing down UIs so that even an idiot could use them.

"If one wants to have a good user interface, then mechanism should not always be separated from policy. Configurability should not be paramount. An authority must be in charge to enforce interface consistency, if only imperfectly."

Fortunately there's choice of window managers and UIs on Linux, and we don't have to suffer any benevolent dictators enforcing interface consistency on us all. There is no one-size-fits-all interface, UI, or window manager. I, for one, and grateful for the customizability and flexibility that the Linux ecosystem and X offers us.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.