[KLUG Advocacy] Linux Outpacing Macintosh On Desktops

Peter Buxton advocacy@kalamazoolinux.org
Wed, 25 Sep 2002 19:17:01 -0400


On Sat, Sep 21, 2002 at 09:04:10AM -0400, Adam Williams wrote:

> My personal beef with OS-X is that it isn't X.

To this day, despite all that XFree86 and GNOME and KDE have put forth,
X does not look as good on a local display as Windows or Mac.

Crank up xman(1). Doesn't look pretty, does it? Now go back and take a
careful look at the original, paper-white monitor Macintosh. It doesn't
look much better, does it? Yes, the original X apps had the funkiest
scroll-bars in the world (to go with their three buttons) but really--
the Mac looks a bit more polished than X, and the user interaction is
simpler, but that's about it.

Fast forward 18 years. We have the same gap. I'm running XFree86 (X11R6)
4.2.1, KDE v3 and Mosfet's Liquid widget set. This is about as nice as
the Unix desktop gets these days. And it still doesn't look as good as
Windows (twm beat Win3.1 but that's about it) or Mac. I work behind some
VERY big pipes, and my home machine is on DSL, but I wouldn't use X
between them with anything more graphix-oriented than twm (and only with
a solid-color background).  I've tried several flavors of X and VNC;
speed is always an issue (I won't even address configuration--one X
server displayed a Mozilla window with NO VISIBLE TEXT). And locally,
Excel still looks better scrolling a monster spreadsheet--the impression
of the spreadsheet scrolling by the Excel window frame is smoother than
an X desktop.

Now, for what I do, I prefer X's utility to Windows/Mac's polish. But a
lot of people don't. Staring at a CRT can still be painful on the eyes
and emphasizing a smooth desktop is a point in Windows/Mac's favor.

I've read a lot about how X is/isn't bloated, or is/isn't fast enough,
and what have you. What I always end up with is the impression that the
guys who built X acted a lot like Chrysler engineers.

   (See, many years ago, all Chrysler cars had torsion bars instead of
   coil or leaf springs. The engineers said the ride was "just the
   same." Most consumers didn't think so, and you can tell that because
   1, Chrysler was #3, and 2, even the Mopar racing freaks in love with
   their Hemi's knew that Chryslers couldn't steer for crap, which is
   where Douglas Adams got, "Looks like a fish, moves like a fish,
   steers like a cow.")

As far as I have ever read, and I've been very curious about this, the X
developers have NEVER thought that a local video card could EVER
outperform exporting your display through a network card. NEVER. They
never even thought of it. It was never something that crossed their
minds. Rather than write their software to admit that performance would
probably degrade the further away your display was, and install certain
settings that would reflect this, and act to mitigate the reduced
expectations, the X people simply said, "All software shall act as if it
runs on the slowest machine in the universe."

Well, as a political statement, that might get you somewhere. As a
design principle, it's a suicide pact. Rather than tell someone trying
to get their US Xterm to display in Russia that massive buffering will
take place, and that clipping will occur to speed up the app (or putting
these controls in the hands of the developers), X makes all applications
suck *but* *never* completely improves the worst performers *but*
*always* penalizes the local apps that might shine by never giving them
the structure (that could never be available to remote apps, due to lag)
that could make them shine.

I'm sorry to dump this all at once but I've really got hives from people
who refuse to look critically at X's failures even though many people
are working to fix them:

http://www.xfree86.org/~keithp/

http://dps.sourceforge.net/

   The X Window System (X11) is the most commonly used window system on
   Unix-like systems. X11 has many advantages: it is small and
   efficient, it runs on a wide range of hardware, it is
   network-transparent, it is well-documented. X11 offers powerful
   facilities for window management, for event handling, for
   synchronisation, and for inter-client communication. Unfortunately,
   the facilities offered by X11 for rendering are often not sufficient
   for many applications. Jim Gettys, one of the creators of X11, when
   arguing about the need for a rendering extension, wrote the
   following: 

      We designed a good (I'll say it: damn fine) window system, with a
      (with 20-20 hindsight) poor rendering system.

      It seemed like the right idea at the time (in fact, it probably
      was the right idea at the time), but technology has finally run
      over the idea. I had qualms even in 1987 about X11's rendering
      model, but did not understand enough about alternatives (just
      developed, and certainly not practical on the machines of the day)
      to protest too loudly about what we were doing.

-- 
http://www.killdevil.org/~peter