It's 2005. X11 Still Sucks

On January 13, 2005, in Computers, by peterb

Copy and paste in X? That’s easy! Just highlight the text you want to copy, and choose “copy” from the menu, then paste it into whatever application you want to paste it into, assuming that application supports clipboard copy and paste. If it doesn’t, then just highlight the text you want to copy, and then click the middle mouse button, thus copying the primary selection. It’s also an important part of the X Window Experience to make sure that you always forget which buffer it is that you’re trying to paste, and so accidentally paste the “wrong” one, thus making any copy and paste operation take twice as long. Like salmonella in chicken dishes, this adds exotic glamour to your boring workday.

X Windows.

It’s not just that X11 is terrible — everyone knows that. It’s that the rest of the world has gotten so much better, and X…well, X has gotten better too, but not better enough.

I get this epiphany all the time. Last night, I was working on something late at night on my Powerbook, and it suddenly hits me, like a bolt from the blue: I’m using Unix. With a fabulous GUI. That looks and functions great instead of like crap, and then I sit down at a Linux desktop the next day and it’s like being forced to eat rancid cabbage after a night dining at Hiro Sushi. It’s awful. Complain about Windows XP all you like, but the core mechanics of using the GUI are about 640 times better than X11 (and somewhere out there, someone is having the same epiphany I am, only they’re saying: “I’m using VMS. With a fabulous GUI“.)

Gnome and KDE have come a long way from the primitive world of twm. And I don’t want to just randomly tear down the work that went into them. But at some point, it feels like the right thing to do to point out when someone has decided that they should build their house on a foundation made entirely of loose sand. I’m configuring gnome the other day, and within 5 minutes something goes subtly wrong, and I have to start reading man pages on my .xinitrc file, and looking at the startx script. I mean, Christ on a crutch, it’s 2005 and you’re going to force me to exit and restart the windowing system completely to see if I can support a new resolution? Maybe I should go back to lovingly assembling opcodes by hand while I’m at it.

X11′s continuing use as the open-source window system of choice is just another example of “worse is better” in action. X was a research project. It was never supposed to be a product that was meant to bring any benefit to an actual user. The whole idea of “let’s build a windowing system that is all mechanism, and no policy” is utterly and didactically braindead from the word “go.” It’s like building a “car” where the driver must provide their own suspension and transmission. It’s like building an alarm clock that requires the user to wire up buttons to set the time.

If you want to build something as usable as Windows or Mac OS, there’s only one way to do it: tear down the house built on the loose sand foundation, and start designing a product, from the ground up, that is meant to be used and not just played with. Yes, that’ll be a lot of effort. Tons of effort. Building software is hard. Building usable software is harder.

But using software that was poorly designed and implemented, like X11, is the hardest of all.

 

27 Responses to “It's 2005. X11 Still Sucks”

  1. Derrick says:

    To be fair, if you use GTK2 the new font rendering and other goodies make it look very nice; But
    1) most of X isn’t so nice looking
    2) it’s very heavy to get that (though probably no heftier than Windows)

    I still use X every day: Apple’s X server, with a pile of xterms, because Terminal.app doesn’t have the second copy/paste semantic you described ;) And porting Xastir to Cocoa? Far too much work.

  2. Nat Lanza says:

    I set up a nice shiny new flat-panel display with DVI at work today. Now all my GTK2 fonts and such are really pretty like Derrick says. If I squint, it’s almost as pretty as XP or OS X.

    On the other hand, I pasted the wrong buffer like three times today when switching between applications with different ideas of how copy and paste works. It’s not even like I’m using really weird programs — my work life is basically contained by XEmacs, Firefox, Thunderbird, and a pile of xterms.

    Also I did have to edit a text file as root to get X to cope with the new monitor.

    So yeah, still kinda sad about the whole X experience.

  3. Chris Hanson says:

    But Mac OS X isn’t just about pretty. There are lots of pretty systems out there. The Linux ones are nowhere near as usable – for novies, casual users, professional users, and even software developers – as Mac OS X is.

    Then again, one might expect me to say that.

  4. Nat Lanza says:

    Really the only spot where Linux is competitive is in sheer slavish fanboy geek devotion, and even then OS X might beat it out.

  5. fu says:

    I have one request for you. Would you please stop using Apple’s X11 implementation, and use a modern X implementation ilke the latest version of xorg-x11, and stop using applications which should have died years ago and start using a modern desktop? fd.o clearly set standards on how copy and paste should work. All GTK/Gnome and QT/KDE applications and everything in between have no problems with copy and paste. Stop using XEmacs and other similar crap. My only comment to you is the reason X and the rest of the Linux desktop isn’t getting any better is because you are refusing to update it. Why isn’t Windows 3.1 getting any better?

    X11 supports a powerful rendering engine now, Composite, Damage, RENDER, and so on… Windows has nothing to come close to that, X11 is fast, powerful, and very flexible. Some implementations suck, but xorg-x11 is rock solid, getting more slim, and more powerful.

  6. peterb says:

    Who said _anything_ about Apple’s X implementation? If you’d actually read what I wrote you might have noticed that I said:

    “…I sit down at a Linux desktop…”

    that desktop gave me the option of using either Gnome or KDE. I’ve used both. They both still suck.

    I’m very interested to understand the reasoning behind your statement “Windows has nothing to come close to that, X11 is fast, powerful, and very flexible.” Most of my article focused on usability, which I consider to be a singularly important attribute of a user interface. If you seriously think that “Windows doesn’t come close to X11″ in terms of usability, then I have a bridge in Brooklyn I’d like to sell you.

    Also: I know you were trying to help, but you’ve tripped a pet peeve of mine. “Oh, the particular Linux thing you were using sucks, but if you only used this _other_ Linux thing instead, you’d live in a land of happy bunnies and fairies where you won’t spend all your time cursing at the machine” is such a canonical weenie answer, it drives me insane. I see it all the time, usually deployed as an excuse for why it’s acceptable for core Linux functionality (which, admittedly, X11 is not) to be completely and utterly broken. “Force unmount in Linux doesn’t work at all” “You shouldn’t want to force unmount a filesystem! You should, uh, reboot the machine instead.”

  7. Nat Lanza says:

    “Stop using XEmacs and other similar crap”

    Great, so what’s the replacement high-powered text editor that does everything right in X11?

    I’m using xorg-x11 and Gnome 2.8. I still mostly hate it — as Pete points out, technical rendering power really isn’t quite the same as usability.

  8. Goatse says:

    Gnome and KDE both suck. ALL desktop environments suck. Use evilwm. Stop crying. Be men. GNU forever. Linux is nothing but a temporary kernel. Death to commercial software. Burn all blogs.

  9. Kyle says:

    I entirely agree with everything you said. I’m a windows user, and a windows gamer. But as an all around Geek I get this itch to try out the newest Linux builds, see how Gnome has progressed, and of course watch X11 suck even more. All this development power, why not rewrite everything from scratch. Microsoft did it with XP which is a brilliant operating system and anyone who says otherwise is eitherly incompitent or a braindead fanboy. Even Apple realized their foundation was getting outdated and rewrote EVERYTHING. Hell, they use a Unix kernel now!

    So honestly, why stick with X11 and watch Xorg slowly change it for the better while still relying on xorg.conf files to make it WORK and seperate extentions to change your resolution? Why not pick up what you learned and start over.. I mean would you keep repairing a house build it 14th century if it were falling down.. “Put another new peice of wood over there, maybe it’ll hold that wall up!”

    Le Sigh.

  10. Keith says:

    Peterb,

    That post is like a bible. It’s so unbelievably true.

    I cringe on a daily basis (being a COSC major, X is part of my ‘routine’ :’() having to use Linux systems.

    It’s so old, so lacking, and so .. fundamentally implosive (:) I just don’t see how people can justify their attempts to *fix* it!

  11. Tony Montana says:

    The desktop experience on Linux and X11 in particular feels like a 60 year old Vegas whore sporting cheap lipstick. She sure knows all the tricks but she aint pretty. X11 is the worse thing that could happen to a userfriendly experience with Linux (and any other unix that uses it like the BSD’s). XFree86 is obsolete, rotting technology.
    Someone would think that all the “brilliant” opensores “ubercoders” would get that right and at least try to fix one of the most important aspects
    of using a computer. They failed miserably. Xorg is nothing new, its the same old shit delivered
    with fancy gift wrapping in order to appeal to the
    casual slashdot-reading-pimple-popping retard.
    The funny thing is that all this fancy gift
    wrapping (Damage, Composite == transparency and
    drop shadows for the unenlightened masses)
    works (sometimes, when the moon is full and the
    12 gods of Olympus are happy) only on NVidia graphics cards (with the proprietary drivers, oh the irony !!) and nothing else (when i say works
    i mean fully hardware accellerated, there is a
    software mode that is so slow you can take a dump
    before the windows finish refreshing). So if the fancy gift-wrapping that was supposed to push X11
    lightyears ahead of the competition (millions of
    Linux/X11 fanboys were having wet dreams at the
    prospect) is such a mess what about the rest of
    the system ? Same old shit ladies and gentlemen.

    The truth is that no matter what the slashdot boys
    and opensores zealots think, everyone who values
    his time and needs to get something done (in a pleasant way) will not touch the gangrene infested
    mess that is X11/Xorg/XFree86 even if you pay him
    to do so. Thank god for UNIX and thank god for
    NextSTep and MacOSX.

  12. Matthew Carlin says:

    As a long time Windows/Mac user and amateur programmer, and as someone who has repeatedly tried to become a Linux newbie, I can say X Windows pretty much broke the experience every time. The frustration was too great and I have always ended up returning to Windows or OS X (joy! rapture!).

    Today, after a long frustrating session in a school Linux lab, I was investigating a foray into BSD. About 10 minutes ago I found out BSD GUIs are all X Windows, and guess what… project over. Right now. X Windows is miles behind the XP and OS X GUIs in every single user friendly quality.

    *Nix folks, make something better, something decent, something on *par*! Until then, I simply can’t see myself joining your community.

  13. willy says:

    Is it possible that the windows and mac os implementations were specifically targeted for you as the customer base and that is why those products appeal to you?

    Is it possible that X11 targets a different market/customer and you aren’t it?

  14. Nat says:

    Yes, that’d be the customer who’d rather waste all day dicking around with a computer desperately trying to make it work than actually do anything.

    I understand that for them, X11 is quite fun.

  15. psu says:

    You forgot the customer who doesn’t really need text copy/paste to work right.

  16. willy says:

    If copy/paste or any other feature for that matter were required by the market/customer base then it would be supported by the product. That isn’t to say X11 doesn’t support copy/paste — if you want to give a specific example of how X11 doesn’t support copy/paste please enlighten me.

  17. peterb says:

    Since you didn’t actually bother to read this article, I doubt you’ll read my answer. So instead, just consider the entire contents of this URL to be incorporated by reference:

    http://pepper.idge.net/disaster.html

  18. willy says:

    You’re right…I didn’t read the article at http://pepper.idge.net/disaster.html until you just pointed me to it…however I think you’ve missed the point of the article or you’ve taken some creative interpretation of the context to meet your own need for validation.

    1. The only reference to copy/paste is this : “…only one of these programs implements anything in the way of cut-and-paste…”

    This reads to me as “X11 has no limitation and the program is free to implement cut-paste as required by the application”. That is very different from saying you cannot implement cut/paste with X11.

    2. One of the references in the article point to an email from 1992. X11 did not exist in 1992, but an earlier version of X, so I don’t see the relevance in the context of X11 here…just as I won’t compare DOS to WIN3.0 to WIN98 to WIN2K to WINXP.

    3. A couple of the examples point out what anybody would consider a short coming, then go on to say “this has since been fixed” since I originally saw this. Then who cares…move on?

    About the only interesting thing about that article was from a historical point of view you can see some early short comings and why it was not an attractive solution to a broader market even at that time…but I would say it’s still not attractive to the broader market you think it is targeted to — however I don’t see that as a problem for X11 for the same reason you can’t put a square peg in a round hole — you can’t make X11 fit meet the needs of all consumer and business markets, neither does windows or any other os.

    I assume you never paid a penny for X11, so I’m not sure what basis you have to complain — and if you did pay for X11, why? You have clearly stated it doesn’t offer you anything, so you clearly have purchased the wrong product for your needs..interesting…I can’t be wrong no matter what your answer…

    One last point: When you start talking about core dumps and in the same breathe say unix is not easy to use — for who is it not easy to use? A software engineer trying to debug a core dump has been using the same tools for 30 years and I don’t think they’re complaining about X11 causing them any harder of a time because of it — and when was the last time a consumer was going to debug a core dump? I don’t think this author is pointing anything useful out to the reader in that instance.

    The 2 hyperlinks at the top of the article don’t work either — probably because they’re from 1992, but that would be speculative on my part.

    Still I haven’t seen a SPECIFIC example of how X11 does not support copy/paste — which was how your commentary came to being in the first place…or have I missed something?

  19. peterb says:

    Willy,

    Given that you can’t seem to get even the simplest of facts right — X11 was released in 1987 — I’m not inclined to respond to any of your other points.

    If you don’t understand how X11 fails to support even the simplest cross-application copy/paste scenarios in a semiconsistent way, as in the example given IN THE VERY FIRST PARAGRAPH of THE WEB PAGE YOU ARE READING, then I can only assume that you (a) didn’t read the web page you are commenting on, (b) have never actually used X11, and (c) have never actually used copy/paste in any application, on any operating system, ever, in your entire life.

    Regards,
    peterb

  20. Tony Montana says:

    Willy,

    go back to popping your pimples in front of the mirror and please dont utter the unspeakable
    incantation (X11) again, ever.

  21. Anonymous says:

    Here we go again:
    It is really simple, if you don’t know/care how to use the software properly then don’t. There are a lot of alternatives for people such as yourself. Your disability in regards to said software speaks volumes about you not the software. The source is availble so I suggest you either change it to suit your needs and make it available to others or stick with whatever software you are able to use. Otherwise your just another “luser” who wants everything done for him/her and I as a software engineer am tired of holding your hands and wiping your collective asses. Grow up.

  22. peterb says:

    Well, as long as we’re pulling rank, let me observe that your career in software engineering is going to be exceedingly short if your response to seeing a design that is completely fucking broken is to blame the user.

    I say that, of course, as a software engineer.

  23. psu says:

    The best thing about the interweb is getting smacked down by zit-faced teenage morons who can’t spell or write complete sentences.

  24. Tony Montana says:

    It is a sad day when someone can not face the
    facts with objectivity and at least make a honest
    attempt to counter with passable arguments.

    The linux-fanboy mentality is so funny to an
    objective observer that it actually ceases to be
    funny and becomes sad. I like to view the linux
    fanboys as mynah birds covered with a huge black
    veil. They try to mimick each other and through
    their collective debate-travesties (slashdot is
    a prime example) a massive form of brain washing
    emerges. After a while, they are completely
    incapable of debating said issues (linux, x11)
    with a sane person without resorting to bigotry,
    laughable arguments and juvenile insults.

    The interesting part is that many Linux icons
    (project leaders like Miguel de Icaza, founder
    of GNOME) do not fare better than the slashdot
    crowd. These are people who should be able to see
    that X11 was, is and will be the bane of Linux.
    Instead of innovating, they manipulate and bait
    the fanboys with useless tricks in order to
    further their aims and agenda (money).

    The massive problem with Linux as a desktop OS
    is the absence of a central authority that is
    gifted with vision and will to innovate. Steve
    Jobs was a man with such vision and the will
    to make it real, the result was an OS thats a
    pleasure to use.

    Linux as an embedded/server OS is mostly passable.
    Linux on the desktop is a bad joke.

  25. Anonymous says:

    My apologies. Please the rest of my comment with an open mind.
    From my point of view Linux is not inteneded to be desktop replacement, though it can be used that way. It is first a server environment, meaning the function it of its design is to be a platform to provide services http, DB, FTP, file/print, etc… .
    That people have tweaked/moddded the software so that it may be used as a desktop is great, but ( here it comes) IMHO that should not be looked upon from afar as utter failure. To the contrary it is a process of design growth and maturity.
    On the other hand Windows was from the begining an end user interface for the desktop. Does this mean
    that Linux does not need criticism to assist its growth in the desktop arena? No, objective criticism is neccessary to help nudge those developers who are to close to the technology and have developed a myopic view point.
    In my previous post I was too direct and I see that now you feel that it was an ad homenin attack of sorts. That was really not my intent, but rather I am frustrated and tired of complaints against software that are misguided and in the end serve only to add fuel to fire. X was not intended to used in the current desktop role that it finds itself, I am speaking strictly in the sense relating to consumer use. X11 is way out of its role and it shows no doubt, but I think that saying it is a broken worthless piece of software is not going to add anything of value to the dialouge.
    If you are a software engineer then I believe you already are aware of this and I sincerely hope that you and others would consider contributing in some way. Maybe that means you could offer suggestions leading to an entire new framework
    that is designed and intended for the consumer type of end user, (the proverbial 95 year old grandmother ;) ).
    I certaintly am no “fanboy” of Linux though I am happy to have seen its use grow so far and wide. Even if that means it will be used in areas that may not be its forte so to speak.

    Cheers.

  26. Ale says:

    My graphic card blew out the other day. Luckily I have another box with MacOS X beside it. Yes, it sucks, since I found this page looking for tips on how to do copy and paste :-(

    However, if MacOS had no X11 I would have to FTP twice for editing any file, or use vi in a telnet window… Which design is poorer?

  27. John says:

    X11 still has a number of problems, however I can see why people would opt for evolution over revolution. X11 is quite an extensable model, you can develop new extensions while supporting all the old stuff. Any round up re-write/re-design would take a significan time to get to the point X is at all ready. A number of projects have already tried to replace X with not much impact in the Linux world.

    The main issue with evolution of X is getting apps to support the new way of doing things. Take Xemacs for example, so far Xemacs has not made much of an attempt to improve how it uses X. Thus it intergates badly with many new X apps. It’s effectivly like trying to run an App aimed at win3.1 on XP. Sure it don’t behave like an XP app but it does work.