okay, a rant.
first and foremost: i use linux every day. EVERY DAY, even on the weekends. i've been a linux user for over 7 years. i use it at work, every day, where i develop embedded software (often running on embedded linux). i can set up apache, compile a kernel, and write a driver. i am not a sysadmin, but i'm definitely not a newbie. however, my desktop machines (home and work) run windows. mind you, i spend a significant chunk of my time between ssh windows and cygwin terminals. so why windows? because i'm convinced that windows is a more usable gui.
but maybe i'm biased. i've had numerous people testify to me about how fast xfree86 is. last time i really gave xwindows a serious try (with freebsd) was in 2000. maybe they've improved it by now. maybe the speed of computers today is more than enough to make up for its faults. so, i installed linux (gentoo) on my brand new cheapo dell machine. yeah, i don't want to hear it, it was cheap and it was fast, and i didn't have the time or energy to build my own. anyway, everything is nice and fast, compiled from scratch with -march=pentium4 and other optimizations. i went with kde. and, well...
it fucking blows. xfree86 is still crap. why is this?
my previous machine (a dual celeron 333), had a more responsive gui than this machine, that is nearly 7 times faster. and the reason why: pipes. xwindows uses pipes and sockets to communicate between windows, between the x server and client windows, between gui input, the window manager and the windows. pipes. see, the thing about pipes is that they have a certain latency to them. this latency makes them too slow for situations where very rapid communication is needed. like gui response. windows uses light, fast messages. macos uses messages. beos uses messages. all of these systems have responsive guis (okay, the mac one is kinda slow, but that's an unrelated matter). their guis have been fast enough since sub-100mhz pc's were the norm. when you click on an item in the interface, you need IMMEDIATE visual feedback. if you wait 300ms until it gives indication of responding, then the user perceives the lag and the whole thing feels like crap.
that, ladies and germs, is the problem with xfree86 (or the x protocol in general, i suppose). but, there exists a bigger problem. denial. recognition of the problem does not seem to exist. xfree86 users have trained themselves to the ideosyncracies of their gui, and no longer see the faults. the newbies are the ones that complain that xfree86 sucks, since they just transitioned from a more responsive gui system (usually incorrectly identifying the network-transparency features as the reason for the lag), and the experienced users flame them away.
i eagerly await xfree86's replacement. perhaps something pulled from openbeos, or maybe directfb will do it. we can only hope.