Linked by David Adams on Mon 24th Aug 2009 09:21 UTC
Linux A reader asks: Why is Linux still not as user friendly as the two other main OSes with all the people developing for Linux? Is it because it is mainly developed by geeks? My initial feeling when reading this question was that it was kind of a throwaway, kind of a slam in disguise as a genuine question. But the more I thought about it, the more intrigued I felt. There truly are a large amount of resources being dedicated to the development of Linux and its operating system halo (DEs, drivers, apps, etc). Some of these resources are from large companies (IBM, Red Hat, Novell). Why isn't Linux more user-friendly? Is this an inherent limitation with open source software?
Permalink for comment 380580
To read all comments associated with this story, please click here.
Member since:

Ok, besides the fact that everyone is used to X and every distro, every flavor of *nix has an implementation, what is the problem with starting out with a clean slate? X has code that dates back to a time when c compilers probably didn't support passing structs as arguments by value, among other things, which contributes to the brain dead way Xlib handles windows and displays.

Your argument is flawed. Some code in X is old, therefore X is probably bad. Seriously?

I asked *you* for the *advantages* of a clean slate. Go ahead, I'm waiting.

Seriously, would you like to tell me that the documentation for X is good, that X provides a clean interface to the coder for working with windows and displays? I think you are just comfortable with it.

A new system does not automatically have better documentation. If the documentation isn't good, fix the documentation. That will be faster, easier and achieve the same effect.

Few programmers are required to deal directly with X or Xlib. We can argue about the relative merits of how X does things vs. other systems vs. a theoretical replacement. A different way might be nicer for you, or maybe for everyone, but do we actually gain any functionality? Efficiency?

Besides that, since when were we talking about APIs? I thought we were discussing fundamental architectural flaws that can only be fixed with a completely new system.

Again, why would a clean slate be a bad thing? A linux-based os meant primarily as a desktop does not need X's feature set.

Which of X's features does Linux for the desktop not need?

Wait, let me answer that for you: Network transparency. That's what you mean by X being a big mess, even if you don't say it. That's the first thing all of your ilk complain about. This is the primary way I know you don't know what you're talking about.

Wouldn't it be nicer to have something smaller, better documented, more sanely designed, and again, something that has less impact on the end user's system resources?

You imply X has an insane design, but you don't cite specifics and you don't offer evidence. You cite documentation again, but a new system is likely to be *less* well documented, not more.

Is it your contention that X consumes more CPU or RAM than necessary and that this cannot be fixed without entirely changing its architecture? I understand that a lighter weight graphical layer can be created, and that's not a bad thing to want. In fact, so far it's your only legitimate request. I don't know that we'd get something with the power of X into a significantly smaller footprint than we can already get X, but it's a worthy goal. The real question is: Is being a bit lighter (combined with whatever other advantages you imagine we'd reap) worth the trouble?

I'm sure you're quite intelligent, and know what you're talking about when it comes to a discussion of the relative merits of (my apologies for my terse reply yesterday, I had just woken up and was cranky- no excuse for being a jerk though). I'm not saying X has to die. X isn't going to die anytime soon. I just want to know why a new windowing system designed without 20+ years of legacy hanging from it's neck is a bad thing? --Provided it supplied the features that were needed to supply a modern end user experience, and achieved the goals of being developer, end user, and system friendly, which I argue that X really isn't.

A new system isn't a bad idea, but it is a bad thing. You decry X's 20 years of legacy, but in the real world it does very little harm and a whole lot of good. People can (and do) right now, today run Linux with a GUI without X. There are a handful of ways to do it. None of them are as good as X. Maybe one day one will be as good and maybe then we'll all switch. If so it will be on the merit of the new not any theoretical disadvantage of the old.

So maybe I'm guilty of blankly stating a preference for a clean slate design over X without listing all the reasons that this would be a good idea. I'll admit that you are probably in a better position than I am to intelligently discuss the relative merits and shortfalls of I still ask, what is the problem with a new system that achieves the goals I expressed? OS X certainly provides a nicer end user experience than FreeBSD running X.

Again, you are confusing the issue. I believe now that you are doing this unintentionally, so I will go over this again.

OS X doesn't get a nicer user experience from Quartz. It gets its nice user experience from a well formed HIG, a good toolkit, good documentation on said toolkit and a single provider integrating the base system components. Quartz contributes two small things:
* Easily make PDFs from anything
* Smooth and flicker free resizing/video playback/etc

The former is a small advantage in overall user experience, though it is nice. X could be made to do something similar, but doesn't. It's a small deal.

The latter is entirely possible with modern X. The fact that it has not been doable until lately is irrelevant. This is an example of an improvement that X can grow which does not require a 'clean slate'. I is my contention that there is no feature of a raster graphics layer which X cannot grow given developer interest and thus that there is no technical reason to throw it out.

Why would a linux-based solution (Chrome OS) with a new, proprietary windowing system be such a bad thing?


X is one of those few things we can agree on. At the moment I have to worry about at least two desktop environments, at least two toolkits (in practice many more), many different filesystem layouts, many sound systems, etc, etc.. But, at the least, I don't have to worry about the basics. Imagine if when running KDE *no* application not written for KDE would run. This is precisely what you're proposing: A new graphics layer means apps and toolkits need to be ported. Until they do you have a completely incompatible environment. Once everything is transitioned, if it happened, you would have... the same bad user experience as X, minus (maybe) some little things which can be fixed anyway.

How many years did you just waste?

You keep asking for why a clean slate would be bad. Are you familiar with this?

This article is entitled "Things You Should Never Do, Part I" and goes into some of the reasons why you shouldn't throw out and rewrite from scratch. Start with that as a reason to keep X.

All that said, there *are* some advantages to a completely new approach and design, as Be OS proves. What you must remember is that Linux is not Be OS and never will be. You can give people a new graphics layer that's better than sex, but it wont get you a nicer experience if the toolkits and DEs remain fragmented and incompatible. You can try to introduce a new toolkit, too, but be prepared to drag developers kicking and screaming no matter how far superior your toolkit is (and woe betide you if it isn't clearly superior!)

Chrome might do well, but it will be because of its integrated environment, apps, services, etc. and not because of the minor detail of whose code draws to the screen.

Reply Parent Score: 2