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?
Thread beginning with comment 380569
To view parent comment, click here.
To read all comments associated with this story, please click here.
mlankton
Member since:
2009-06-11

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.

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.

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. 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?

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 X.org (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.

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 X.org. 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. Why would a linux-based solution (Chrome OS) with a new, proprietary windowing system be such a bad thing?

Edited 2009-08-25 19:53 UTC

Reply Parent Score: 1

strcpy Member since:
2009-05-20

The fundamental answer goes like this:

feel free to write one!

Reply Parent Score: 1

vivainio Member since:
2008-12-26

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. 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?


We have a good starting point already (Wayland), and quite a few are enthusiastic about it. Interested parties just need to put their money where their mouth is and start hacking on it, to at least port *some* toolkit to work on it.

I don't think anybody has stated we need to stick with X forever. X just doesn't seem to be broken enough to warrant pouring actual development money on the alternatives.

Edited 2009-08-25 20:28 UTC

Reply Parent Score: 2

sorpigal Member since:
2005-11-02


I don't think anybody has stated we need to stick with X forever. X just doesn't seem to be broken enough to warrant pouring actual development money on the alternatives.

^ this, precisely.

Of all of X's inherent flaws, (and unfortunate tradeoffs) which no one ever mentions in these little discussions, none of them is so bad that it's worth it to go back square one.

I doubt Linux will be the OS we're all using in 20 years and I doubt X will be the graphics layer we're using in 20 years. Neither is the be-all or end-all of its field. When they are replaced it will be because there's something better that's working, not because we hate them.

Reply Parent Score: 2

sorpigal Member since:
2005-11-02

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 X.org (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 X.org. 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?

Yes.

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?

http://www.joelonsoftware.com/articles/fog0000000069.html

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

mlankton Member since:
2009-06-11

Fair enough. I could tell that I shouldn't argue with you halfway into this, because you are obviously more knowledgable than I am in this area, and I'll just make myself look more and more stupid if I persist.

When I talked about a clean slate design, I was thinking along the lines of leaving GTK and QT, and every other toolkit, behind forever. Not for linux, just for Chrome OS. If Chrome OS is just another distro, big deal. If it's going to be a whole new system that uses the linux kernel and the GNU userland, that could be very interesting. If they manage to get a deal with a hardware vendor, I think it places them in a position to gain users in a way that linux never has and never will. Again, I'm not suggesting that the linux world follow suit, but what is so wrong about a new system that may actually provide a better end user experience? (and no, I am not blaming X for providing a "bad" end user experience)

You mentioned Be. Exactly. Also MorphOS and AmigaOS 4.x come to mind. All three of those systems boot to a usable desktop in like 10 seconds, look good, and have small memory footprints. I find systems that behave like that very compelling. I'm sure that I am not the only person who would find such an operating system attractive. Can we do that with X? I don't know. It just seems like my linux and FreeBSD systems in 1996 were a hell of a lot spunkier than any Ubuntu distro I've tried in the last couple of years, and that was on much slower hardware.

Edited 2009-08-25 21:41 UTC

Reply Parent Score: 1