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 380580
To view parent comment, click here.
To read all comments associated with this story, please click here.
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

sorpigal Member since:
2005-11-02

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.

If Chrome does better than Linux in general it will be because of its integration and polish and, as you say, contacts with OEMs. Google could get that using existing toolkits and X. If they don't it's their loss, spending a lot of time and effort that they probably don't need to (but isn't it neat?)

Look also at SkyOS and Syllable for systems not even using GNU userland but using the Linux kernel. They don't use X either, but they could. Their pleasant environment is due to having a single vision for how things are put together.

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?

Nothing is wrong with a new system, except that it's unnecessary. I'd much rather a company direct its employees to work on something missing, like improving existing toolkits, adding points of integration between components of the desktop, and so forth, rather than have them reinvent the wheel. They have to add in all the nice polish that makes the user experience great anyway, so why not do that with existing things under open licenses so that we all benefit? Isn't that sort of the point?

Additionally, a proprietary graphics layer helps no one. If Google contributes to X and existing toolkits then we all benefit even if their product flops. If they release their own closed-source toolkit and graphics layer and it succeeds, that's bad because less free software is in use. If it fails that's bad because a lot of effort was wasted and the community can't pick up the good bits.

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.

Of all the things that have gotten slower over time X is not one of them (quite the opposite). You can still get that blazing fast speed today if you shut down a lot of the handy but not essential background services and limit yourself to the kind of bare bones window manager you had in 1996.

Reply Parent Score: 2