LinuxQuestions.org
Review your favorite Linux distribution.
Go Back   LinuxQuestions.org > Blogs > Void cries or bashing time
User Name
Password

Notices

This blog is devoted to nonconstructive criticism, bashing, and other things that, being neither answers nor questions, are evidently unwelcome anywhere else in Linux Questions.
Rate this Entry

Why Desktop Linux is nowhere, part 4

Posted 01-19-2009 at 02:38 PM by AGer

In Part 3 I cried over Linux soft skills. In order to finally loose any hope that improving what is mentioned in parts 2 and 3 may help Desktop Linux, let us notice that a good Windows style desktop is incompatible with Linux by design. This is the last part on Desktop Linux being nowhere, so the conclusion is included.

System configuration is done in *nix in the same manner through scripts and configuration files for 20+ years. This alone proofs that 1) script and configuration files are sufficient, and 2) they are required. It is impossible to have a GUI tool that allows for the same degree of freedom as a configuration script, period. It is possible to fully represent a configuration file in a GUI, but this requires really good communication between the team that creates the GUI and the team that creates the program that uses the configuration file. So, in practice, this is also impossible, period.

Thus, the Linux desktop tends to accumulate crap. For example, consider Slackware.

KDE 3.5 is the main desktop under Slackware. It has system configuration tools that are better to be avoided. Last time I tried the network configuration it told me "sorry, I do not understand your distro" (zero devastation, perfect) and there are no keyboard layouts configured according to another tool while the keyboard is fact knows 3 languages.

Sound controls in KDE and XFCE4 are the extreme example of crap provided you have both a sound card and a USB sound device.

A console application that allows to edit configuration files easily (that is, not emacs), allows to highlight syntax, shows visually the [ -x results (exists, cannot execute, missing), opens a referenced file in another tab, has a graph of references, allows to collapse comment blocks for configuration files, is linked to packaging so that it knows what else is related to a configuration file, etc. may be helpful, but I do not know if somebody works on something like that.

Linux Desktop experience is not uniform. This may look like a consequence of the KDE - Gnome brouhaha with a little aid from minor tool kits, but in fact it is an architectural problem Linux does not want to recognize. For good desktop experience, widgets and dialog boxes MUST be on their own layer so that ALL other apps use them. This does not mean that there should be exactly one variant of such a layer, but there is no other way to provide uniform desktop experience. Look at Windows - it is possible to provide exotic dialogs and draw insane controls, but nobody does that.

Desktop programs look like not targeting desktop users. A desktop user wants things just work. A software developer, unless managed otherwise, wants things work well and be interesting. For example, consider Slackware.

The video player that both comes with Slackware and I use often is gxine. It is very configurable, but most configurations, including the default, do not work for me. So, can anything be done about this to improve the desktop experience?

I guess not. Making gxine less configurable means that it will not work at all for somebody else. Asking gxine developers to code some auto configuration is impossible since they do not need that and it is technically challenging (some configurations hang the system). Asking Slackware to provide a working default looks impossible since I guess no single configuration will work for everyone and if it does, the next complaint will be imminent: "why the default configuration is not the best one?"

That is, Linux should either radically change itself and become much less configurable or quit trying to make things work out of the box like Windows.

Software installation sucks. No distribution can include everything, so it is necessary to install closed source apps and install from source. Both tend to ruin the perfect order maintained by a package manager. The very existence of applications that do not honor the prefix for make install renders any good "average user" desktop experience unreachable, even though there are attempts to work around.

If Linux developers cannot discipline themselves to make life easier for everybody, what desktop penetration can be discussed?

I know from experience that when a Windows user has to install a program with many dependencies from source on Linux, the negative attitude towards Linux is guaranteed. The reason is not that it is hard, but that he does not understand why all that mess is necessary. This takes us back to communication, part 3.

Nothing is 100% done. Well, not nothing, just the better part. It is the nature of Linux - release early, release often...

Debian. They want to release something that works and that means the software will be outdated.

Gentoo. They are a rolling release, so your software is always current. They had a release schedule. Theoretically, they should just package distfiles and the release is ready. However, they canceled the last release and started to create weekly stages instead. The only explanation is that if you are relatively current on everything then something does not work at all times.

Slackware. Reasonably current software and reasonably regular releases, but at a price of the relatively small size of the official distribution.

The compiz story is a good example. First crashes, next conflicts, finally works, but not with accelerated video. Explanation - "you know, it competes with the video for resources". If it does and that was known from the very start, why does it exist? Yes, it is possible to have both compiz and video, but the CPU load is noticeably higher so that it makes me worry what will happen with heavier video. So, Linux is free as in freedom or beer, compiz is good as in good bye.

If there is a single reason not to buy, people do not buy. This is what kids are told when studying marketing. This is why Linux has not made it to the desktop yet.

Since Desktop Linux cannot be good to existing Windows Desktop users, I guess it should quit trying. Almost 4% of PC users like Linux. Why not find out what makes that 4% different and cultivate it in the rest 96% of PC users? This may be a topic of another post.
Posted in Uncategorized
Views 960 Comments 1
« Prev     Main     Next »
Total Comments 1

Comments

  1. Old Comment
    I hope that you get around to 'another post', but until you do, I'd like to add my two cents.
    When I first started looking into migrating away from Windows, many moons ago, it was due to frustration with galloping bloat and steadily decreasing performance. By that I mean that each "upgraded" new Windows OS that I installed on my laptop consumed more hard drive, more memory and was more processor intensive than the last. I had good luck with Win2K, had all the hardware on my machine working acceptably well, minimal setup headaches, and all of the software that I needed ran acceptably. That is to say, it ran slower than it would have on a newer, more expensive piece of hardware, but within the limits of my patience and my essentially cheapskate nature.
    In looking around for a linux distro to try out, I was initially attracted to the Slackware philosophy - keep things that are proven to work, and be conservative in terms of including new bells and whistles. My very first attempts to get Slackware running were mostly successful. I was utterly ignorant of *nix conventions and procedures, but by following the instructions in the Slackware book, I was able to get a dual boot Windows/Slackware system set up and operational. I opted to use XFCE as a desktop manager, and I've always been happy with it. The minor quibbles I've had with it are all due to my own ignorance.
    In Susan Matteson's 'Linux Desktop Garage' I found a quote that still makes me feel warm inside. She said, "Slackware is the Linux grandpa, having been around since 1992. Just like Grandpa, Slackware wants none of your newfangled GUIs and tools. This distro had to walk to Linux uphill both ways, and you should too." I love this quote because while it isn't absolutely true, it captures the essence that while Linux doesn't have to be hard, it will expect something of its users.
    Which brings me to my point - Linux makes demands on its users. This is emphatically a good thing. The US economy is crumbling back to pre-stone-age conditions right now as a consequence of generations of Americans who have bought into the idea that EVERYTHING should just automatically work for them 'out of the box' with no requirement that they put in any more effort than reaching back to pull out their wallet to get a credit card.
    You are right in pointing out hat no distro can auto-magically configure everything for every user. This is what is killing Windows right now - trying to provide a totally transparent experience to every possible user entails insane levels of bloat as old hardware must be supported along with the new stuff.
    Linux should not try to compete with Windows in that arena. Let them choke to death on their own cruft. I'll keep learning how to make choices that allow me to keep old, inexpensive equipment out of landfills and productive and profitable.
    I do wish that the Linux community would pull together to work on a suite of tools that would make it easier to configure and maintain hardware. There is a classic chicken and egg problem here, in that you are supposed to know what hardware you have so that can install the kernel, kernel modules, and so-on to support your hardware, but until your hardware is supported, it's not apparent how one is supposed to communicate with it to find out what it is, and therefore what it needs.
    I propose that we take the Slackware philosophy and apply it to this very problem. I'd like to see a simple n-curses based interface that could poke around in hardware to try to see what hardware was present, and then provide some hints as to where to go to get code to compile and install as modules or added to the kernel. Note that none of this would be done for you automagically, but it would provide a standard starting place and would point down a standard path which could be populated with a standard set of tools - ie. vi for text editing, GCC for compiling, X windows for displaying...
    The great strength of this approach is that newbies like myself could know ahead of time which parts they would need to learn how to deal with, one step at a time, rather than flailing around in the midst of so many good tools, all with steep learning curves. Conversely, developers could count on potential users having a basic set of skills to work out how to get a piece of software installed and interacting properly with the hardware.
    Posted 01-24-2009 at 01:49 PM by ctroyer ctroyer is offline
 

  



All times are GMT -5. The time now is 03:06 PM.

Main Menu
Advertisement

My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration