2011 isn't going to be the Year of Desktop Linux either (skip this if you hate rants)

Discussion in 'all things UNIX' started by katio, Jan 11, 2011.

Thread Status:
Not open for further replies.
  1. katio

    katio Guest

    Because quite frankly, it still sucks. No one dares to say it (can't hurt the feelings of the community doing it all for free?) but as it stands now the applications and frameworks that make up a modern desktop distro suck as they are a combination of the following:

    lots of bugs
    poor interface
    poor performance
    missing (even basic) functionality

    It's hard to come up with one that doesn't have at least 3 of these traits but honestly I can't name a single one that has none.
    From my personal use I'd rate Chromium at the top of all graphical Linux applications, however it's interface is borked (GNOME's fault, panel on top breaks Fitts's law) and it has some performance issue if we count flash to it (a Xorg problem presumably). We'll come back to this later.

    There are two broad categories:

    The Ubuntu way of doing things: Users are stupid (tm)

    Some examples:
    - the big one: OpenOffice vs. MS Office
    it's not only about features, actually I don't care much about features at all. But OOo is so much more unstable, uses more resources and is very laggy and glitchy that I write my texts in vim and convert them later under MS Office.
    I'll spare you the GIMP vs. Photoshop because I think that's a poor argument: How many of all these Photoshop users actually bought it and how many actually use it to its full potential?
    -Pitivi is written in python, no multithreading in a video encoding software, it's next to useless that way.
    -Take the audio applications, rhythmbox, banshee whatever: you can't even scroll smoothly.
    -Nautilus needing lots of plugins to come close to a powerful file manager. Yet despite its limited feature set it's still slow with large directories and has an awful UI (e.g. check what happens with really long foldernames: no truncation, give it a try!)
    -GNOME desktop: every OS can launch apps via a search (startmenu, spotlight, kde menu), they all have control panels of some sort, searchable as well. Not so GNOME, the basic menu layout hasn't been changed at least (!) since 2.6 in 2004
    -the WM: it still doesn't remember where I put my Firefox/Chromium browser window (I want them centered but not maximised, easier to read that way and no risk of spinal dislocations...). There are workarounds but none is clever enough to cascade if I open a new window, instead they stubbornly put them all exactly on top of each other.
    -Indicator applets, I can either hide none or several at once. Who ever thought that was a good idea?

    or: http://www.reddit.com/r/linux/comments/ezxwf/what_linuxrelated_imperfection_in_your_daytoday/

    None of this is something that couldn't be solved (if it hasn't already in some distro specific patch, development version or an alternative package). But that's the user experience in Ubuntu and Fedora GNOME editions, the two most popular Linux distros for desktops.
    KDE is better when it comes to functionality, but performance and stability is an issue just like in GNOME if not worse.

    The second mindset: Grow up and quit whining!
    Linux is about choice, give the user full choice about EVERYTHING.

    Arch and Gentoo are the best examples. After a text based installation you are faced with a blank command prompt and you have to configure everything yourself.

    There's the choice of lots of lightweight software. However functionality is still a problem, the interface is usually horrendous, they have just as many bugs per thousand LoC and yes, performance is also an issue. Lot's of stuff is single threaded or locks up for stupid reasons (bad coding). Image viewer is a good example. I tested pretty much all of them and surprisingly EoG, default in Fedora and Ubuntu, was the fastest and smoothest (surprisingly because unlike others it pulls in tons deps if you aren't already using GNOME apps).
    When it comes to stability one could think less code means less bugs, problems and updates. However custom setup built from more or less obscure parts means less userbase, less eyeballs, less developers, less bug reports and less fixes...

    Integration of different applications is poor compared to using a DE and who has time for this tinkering anyway?

    Finally, what have we gained running all these optimised lean software it that sits on top of Xorg (at least that huge monolithic kernel can be stripped down)?

    A lot of work with these kind of distros is completely unnecessary.
    For example I emerge/pacman firefox. By default I get illegible fonts and a gtk1 looking theme, why? Nobody wants to see this 80s style anymore. Why can't the package supply the necessary configuration to offer the most basic usability without spending hours on wiki, forum and irc? Note how Ubuntu doesn't have this problem, start with a minimal system (netiso) then, when you install alsa and pulseaudio it will just work, if you only install a browser it will set up the same good font rendering as we are used to from the default Ubuntu desktop, takes a few seconds on fast internet.

    OK, the desktop is a dead platform anyway and it's all about cloud computing and tablets? Well, not so fast. There's still a huge market for proper workstation for doing actual work. But let's look into the future anyway: As you all know Canonical has two ambitious plans*

    One I'm really excited about.X.org needs to die, asap. Wayland will address some of the current performance problems but it will also affect the user interface and even fix some longstanding bugs/glitches in 3rd party software.
    The other one? Unity is the Ubuntu mindset from above, only worse:
    Having a young codebase hastily developed can only mean more bugs than the tried old GNOME. It looks like it will further decrease options and basic functionality and its interface design is flawed (the global menubar is no solution for several reasons I've written elsewhere about). Performance is terrible right now, it looks like optimisation is a loooong way off.

    *actually they are just jumping on that Wayland bandwagon, and that pretty late.

    My predictions: Chrome OS will surpass in two months what all other distros combined achieved in two decades. And that's not only because they know how to advertise.

    Just to cover myself from any vendetta, I like Linux and use it everyday. ssh, rsync, samba, apt-get, bash these are great applications and I have no complaints about them. The linux kernel is an awesome project (if you patch it with grsec;)) and much good has come from GPL. But since the user experience in Linux is the way it is (and hasn't improved for years) I openly admit that I much prefer working in Windows or OS X with a ssh terminal open.
  2. chronomatic

    chronomatic Registered Member

    Apr 9, 2009
    Must just be on your machine. I use Chromium daily and do not have an interface issue, nor do I notice bad Flash performance. Chromium is extremely fast for me.

    These complaints might be true, as I don't have a need for Office software really. However, the times I have used OOo, I have found it more than good enough for my simple needs.

    There are numerous competitors to Pitivi. I like Kdenlive personally.

    Never experienced that issue.

    Define "powerful." I don't use any plugins and it seems to suit my needs well. However, there is an annoying Nautilus/Gnome bug right now that affects me and a lot of other people (the UI theme will revert on its own back to the default).

    There is Gnome Do for app launching (similar to Spotlight and designed after it).

    The Control Panel is for newbs and is a Microsoft invention. However, most distros have them anyway (Ubuntu doesn't, which I find odd). OpenSuSE has Yast, Mandriva has it's control center, and Fedora has its own as well. Mint is Ubuntu with a control panel and codecs. So, the lack of Control Panel really has nothing to do with Gnome per se. It is a function of the distro.

    I like my Windows at full screen, so I haven't noticed, but I am sure there is a way to accomplish this. Compiz probably has some option like that. And if it doesn't, KDE's composite settings probably has it covered. And if you don't use either of those, then what's wrong with hitting the "Maximize" button to make them half size and then moving them where you want them?

    OK, I'll give you this. I haven't really noticed, but I could see how it could be an annoyance.

    I agree KDE might be slightly slower than Gnome, but I think both of them are at least as fast as Windows 7 (if not faster, and they are both definitely more memory efficient).

    What's wrong with choice? o_O

    Arch and Gentoo are meant for advanced users. And if advanced users want to go through that compilation process, so be it. I used to do it myself before I realized that hardware is so fast these days that the small increase in performance that compiling with optimized flags gives is not worth the trouble.

    Lots of accusations with no examples.

    I use the default image viewer in ubuntu and it is fast, easy to use and does what I want it to do (show me images). I have never felt the need to nitpick something as simple as an image viewer.

    Not really. All of the individual "parts" have been examined. It would be like me going to Detroit and entering the GM plant wanting to build my own car. If the car didn't work, I could blame the GM QC process, but in reality it would be my own fault for not understanding the engineering process and how to put the parts together. It would not be because of faulty parts themselves. All of the parts passed inspection.

    Likewise, when you build Gentoo from source, you are using the same kernel as every other distro; you are using the same basic GNU tools everyone else uses and you are using the same compilers, and GUI's, etc. The only difference is that when you compile your own kernel, it takes a solid understanding of your hardware and the kernel drivers to know what you can omit and what you can't. But, again, the quality of the code is the same regardless of if you use Gentoo or Ubuntu.

    There is some merit to this complaint. Firefox in KDE has always been a problem (but nothing that is a show stopper -- it's more aesthetic than anything). And the fact that in order to use KDE apps in Gnome (or vice versa) you have to install a **** ton of libraries is sort of disconcerting too. But I don't really notice any stability problems. I think it's more psychological than anything.

    Believe it or not, compiling a custom kernel gives little performance boost. The only thing you really do is make the kernel image smaller, but that is hardly an issue as the compiled image is, what, 3MB?

    Probably because you don't have the proper fonts installed and/or don't have sub-pixel smoothing turned on. Or it could be because of various other settings in the DE you have not yet tweaked. This is why Arch and Gentoo are not for the faint of heart.

    Then use Ubuntu? That's my distro of choice right now.

    I, for one, will not be giving up my desktop for the forseeable future. I would much rather sit in front of my 24" monitor in a cozy chair rather than reading my e-mail from a 3" screen while driving down the road.

    Yes Xorg has been a problem. I admit it is not optimal, but it's all we have right now for GUI support in any of the *nixes. Wayland will hopefully be more lean and mean, but it still has a way to go. The biggest problem with Xorg has really been crappy support from video card vendors until the last couple of years (it has improved a lot recently with the wider popularity of *nix).

    From what I have seen of Unity, it is not something I will use, at least not any time soon. The good news is that nothing else will change -- Ubuntu will still maintain Gnome and KDE and offer them in the repositories.

    You do know that Chrome OS is Linux, right? It's Linux with Google's marketing prowess and with their financial backing (which is, no doubt, huge). It's also meant to be a netbook and tablet OS -- not a full fledged desktop/workstation OS. It is essentially a stripped down Linux with it's own minimalist GUI.

    To each his own. I personally feel highly constricted when I boot into Windows 7. I hate that there is no real shell (yeah Powershell is around but I am not learning some new language). I hate that it uses more memory than my Ubuntu box. I hate that it takes like 8GB of HD space for a basic install. I hate that most applications still are not coded to run with limited privs. I hate the WGA BS that pops up constantly. I hate having no control over when the OS phones home. I hate all the security issues. I hate being bothered by the "security center" to install AV software. I hate that there is no central repository for all software. I hate that I can't update ALL software on my machine with one command. I hate the fonts -- they are uglier than Ubuntu. And most of all, I hate that there is no concept of virtual desktops in Windows (amazing that in 2008-2009 MS has not implemented this).

    So, if you want to use Windows, so be it. :-*
  3. katio

    katio Guest

    Thank you chronomatic for reading it all and replying in depth.

    I'm talking about the "out of the box" experience. Just because you can fix a lot of these issues doesn't change the fact that the first experience for most people is "not so good".
    First impressions are really important if you want those people to stick around and use Linux.
    So we have these "newb distros", primarily targeted at new users which fail to make a polished impression.

    On the other hand we have the distros for people who are already experienced and use Linux for whatever reason (it probably wasn't because of the great UI/UX; security, cost, server usage and political/ideological considerations might be one).
    They offer lots of choices. Which is a good thing if we talk about customisation and the 80-20 rule (if you are in the 20 group you'll definitely find something catered for your needs too). But it also means you have to do a lot of boring manual work yourself which sucks if we are talking about user experience.

    Some comments on specific points:

    If you maximise it the tabs on top touch the screen edge which is a great feature in terms of interface design (Fitts's Law). However, the default Gnome and Unity layout already have a bar on top of the screen.
    Now I can remove the panel on top and cramp everything into the panel at the bottom. The problem with that is that the menus in GNOME are designed for use at the top. A good example is the "System" menu: the about entries are below the prefs and admin menu. Or take the tool tips, at the top they are only partially covering the other icons and menus, at the bottom they completely hide what ever is next to the thing your mouse is hovering over.
    This is a comparatively minor issue but it's symptomatic for all graphical UIs on Linux. They simply weren't created by interface designers and you can see that all over the place.

    It's the new default app in Ubuntu. Why did they choose it if it's so bad?
    Flashy interface and bullet point features come before stability and performance. Completely fits into the Ubuntu mindset but it's incredibly annoying if you actually want to get things done.

    Scrolling in audio apps:
    I checked again and rhythmbox these days does scroll pretty smoothly (I never use it...)
    However scrolling takes more than 60% CPU on one core.
    So we have either apps that scroll jerky and unresponsive or apps that take ridiculous CPU time, or a combination of both (like stuff written in python, quod libet).

    nautilus: (disregarding any kind of plugins or manual config file hacks)
    no undo, next to no metadata exposed over the columns or properties (pdf, mp3 etc.), you still need sudo chmod and chown in a terminal, the trash can restore but doesn't tell you where to, can't customize toolbar, the built in search is rudimentary and slow compared to state of the art file indexing (spotlight, windows, google, beagle...)
    And that's just the feature side of things, we still have the performance, bugs and stability issues.

    Gnome Do:
    Actually it's designed after Quicksilver, the one and only, that defined the launcher genre ;)
    Synapse is a new one which might be better than Gnome Do (which is a poor substitute if you ever have used Quicksilver). Anyway, keyboard driven launching is fundamentally faster than the Win95 style application menus, so why is the latter still default??

    Control Panel:
    I don't think you've ever used Mac OS X. It's got the most elegant and fast "control panel" out there, simply called System Preferences. KDE 4 is designed after it but doesn't come close in usability. The Windows Control Panel is a complete mess but: you can use the search function of the startmenu and unlike GNOME it's feature-complete and actually looks like a "system" and not a random collection of GUI frontends designed by dozens of different developers for various cli functions (that btw are faster and more reliable in most cases).

    I went through all Compiz plugins and that functionality isn't there, same with KWin. Either you let the WM do what it thinks is best (calling itself "intelligent") so you end up with a completely unpredictable window positioning or you configure it to remember the position but then it will stack windows exactly on top of each other (which is a great deal of pain with file manager and terminal windows)

    "Lots of accusations with no examples."
    Let's take Thunar. my file manager of choice when I was looking for something more lightweight and faster than nautilus for my openbox system.
    It doesn't handle losing connection to a samba share quite well but even worse is handling of optical media. While a CD/DVD is being loaded all thunar windows are completely unresponsive. First impression of it is, wow that's one fast little program, it launches fast and has few deps. But after using it a while you realize it's actually slower than the (slow) nautilus.
    I had another problem with thunar too and I think it's because of the much smaller userbase that this hasn't been fixed yet: If you mount a FAT formatted usb drive it doesn't mount it as utf8 which breaks all sorts of special characters in pathnames. A quick edit in a config file solved this but it's astonishing how iso-whatever is still default considering Windows itself has been using utf-16 in FAT since 1995.

    These days it's not about optimising the system. A source based distro gives you a lot more control. For example take gentoo hardened: If Gentoo wasn't source based it would be a lot more complicated to get a system that is fully compiled by a hardened toolchain and comes with all the flags necessary to be running PAX, SELinux or whatever else you want that needs userland changes.

    memory efficiency is largely a myth: the system should use ALL RAM, every single byte that isn't used is wasted (caching and so on). As long as the system isn't paging out it's running fine.
    Win7 has a more responsive GUI, OS X too. MS and Apple also know that speed is to a large part an illusion. You can make your system appear faster by doing smooth animations and so on. We as human users are deceived but don't dismiss it like that. Ultimately user satisfaction depends on how we perceive things not how they really are.
    Apart from that you first need to prove that KDE and GNOME are actually faster on the same system, I can only go by my own experience and that is:
    It depends on how you use the system. A fresh Windows installation is faster but it's also more affected by "bit rot", i.e. registry cruft lots of (de)installations background services will considerably deteriorate user experience. Ubuntu too becomes a bit slower over time but minimally so. However the way I use Windows is that I only install very few applications and generally don't mess with it so it stays fast like on day one. Most other Windows systems I see are very different and I can totally understand where the argument is coming from.

    Gentoo vs Ubuntu
    "Likewise, when you build Gentoo from source, you are using the same kernel as every other distro; you are using the same basic GNU tools everyone else uses and you are using the same compilers, and GUI's, etc. The only difference is that when you compile your own kernel, it takes a solid understanding of your hardware and the kernel drivers to know what you can omit and what you can't. But, again, the quality of the code is the same regardless of if you use Gentoo or Ubuntu."

    No, I'm not talking about the kernel, drivers, GNU userland or even Xorg, I'm talking about graphical desktop applications. If you don't use GNOME, XFCE or KDE you are on your own making this all work together. And unlike the mentioned packages which are in the main, core or whatever it's called repository you are running packages that haven't received a lot of testing, support and bug reports.
    Besides it's simply not true that your own compiled kernel is as stable as the distro's binary kernel. You might be missing some patches and backports for example (if you use vanilla instead of your distro sources) and if you are using 2.6.37 today the stability of the code is certainly not the same as in 2.6.35. Even if you use stable 2.6.35 and use unmodified gentoo-sources whatever patches and modifications Ubuntu has compared to what Gentoo has done it will be more tested (more eyeballs, bug reporting users) and therefore more stable.

    mixing KDE and GNOME
    "But I don't really notice any stability problems. I think it's more psychological than anything."
    It affects performance (RAM, disk IO and to less extent CPU) and more importantly user experience. Shortcuts are different, icons look different (don't laugh, we are a very visual species), drag and drop isn't consistent and so on.

    Chrome OS
    "You do know that Chrome OS is Linux, right? "
    I'm well aware of that fact, that's why I even brought it up and that's why I wrote other distros ;)

    Windows vs Linux?
    > I hate that there is no real shell
    that's why I said "with a ssh terminal open"

    >I hate that it uses more memory than my Ubuntu box.
    see above under "Win7"

    >I hate that it takes like 8GB of HD space for a basic install.
    Installation takes 15 minutes, Ubuntu takes 11 or so with ~2.6 GB, but my drives have several hundred GBs to some TB. Even on the very smallest 32GB SSD I can fit all of Windows plus all the applications I use plus all the data I'm currently working on.

    >I hate that most applications still are not coded to run with limited privs.
    I don't use such programs, 99% of what I use is open source btw,

    >I hate the WGA BS that pops up constantly.
    Never nagged me on Win7, also 12 updates (plus two or three out of band) a year is a lot less nagging than updates in linux every week. I have to reboot my Linux server more often than my Windows server. (i.e. why can't ksplice be default?)

    >I hate having no control over when the OS phones home.
    MS doesn't send anything home that you haven't consented with in the EULA. Not any personally identifying stuff at any rate. I tend to trust MS on that one because they have so much to lose. BTW do you audit all the obscure packages you install?

    >I hate all the security issues. I hate being bothered by the "security center" to install AV software.
    When I install Windows thirst thing I do is disable the AV notification. Then I set up Applocker and EMET. That way my system is actually more secure than for example Debian ootb. Ubuntu got some hardening and Apparmor but the latter needs to be configured too.
    The Linux kernel is developed by people who rate security issues the same as ordinary bugs, They don't care about proactive security at all. I wouldn't be confident touting Linux as a secure OS unless you have patched it with grsec or SELinux.

    >I hate that there is no central repository for all software. I hate that I can't update ALL software on my machine with one command.
    Me too, Secunia PSI alleviates that to some extent.

    >I hate the fonts -- they are uglier than Ubuntu. And most of all, I hate that there is no
    >concept of virtual desktops in Windows (amazing that in 2008-2009 MS has not
    >implemented this).
    I never use them in Linux, don't know what's the fuss about them. Fonts are a nasty topic and Ubuntu is the single distro that gets them right. However I still prefer the ones in Windows. OS X and Ubuntu are too soft and fuzzy for my taste.
  4. chronomatic

    chronomatic Registered Member

    Apr 9, 2009
    A couple of points (I might respond in more detail later):

    Gentoo kernel vs. Ubuntu:

    I agree that the Ubuntu kernel will be better tested to work with all the userland stuff, but that's the whole point of having a distro in the first place. Of course, Gentoo does have its own Gentoo kernel (they don't expect you to use vanilla sources). And when I was talking about compiling a kernel, I was talking about using the Gentoo sources for the kernel (which have been patched).

    On Gentoo Hardened:

    Yes, I agree that if you want to run a PaX enabled kernel that it's probably easier to use Gentoo (although it is possible to patch binary distro kernels to run it too). However, I see little value of PaX on a desktop machine. Besides, the Linux kernel already has a built-in form of ASLR and it utilizes the NX bit on 64 bit processors by default nowadays. The main difference in this and PaX is the mprotect() feature and a bit stronger randomization of the stack, heap, etc.

    With the default Ubuntu kernel (with ASLR/NX enabled) and AppArmor sandboxed apps, I see little need for PaX/Grsec or SELinux. It's really overkill for a desktop machine which is not a major target.

    On Security bugs:

    Yes, there is some consternation within the community about the kernel dev's tendency to brush off security bugs as if they are regular bugs. Linus himself has made comments about how people put too much emphasis on security bugs and ignore "everyday bugs." Brad Spengler (of Grsecurity) has been critical of this process and has claimed the kernel devs actually have a tendency to sweep security bugs under the rug. I am not involved enough to know what the true story is, but I can see both sides. Spengler is a 100% hardcore security guy, while Torvalds and others want to increase the user experience. That is, they don't want Linux to become OpenBSD, where security is all that matters.

    That said, I don't worry about kernel bugs all that much since I:

    A) Run a desktop machine behind a router

    B) Have the kernel ASLR/NX protections enabled, which should kill the effectiveness of some of these bugs.

    C) Use AppArmor which adds an extra level of hardening to userspace apps (whereas most of the other protections are focused towards kernelspace).

    Does this guarantee security? No. But I think it's better than what you'll get on Windows 7 (and a helluva lot better than Windows XP) even if you lock it down with AppLocker (which I do).
  5. katio

    katio Guest

    A lot of kernel devs tend to flag security bugs as DoS until someone proves that arbitrary code execution is possible. Funny thing is, Theo de Raadt does the same. Staying on topic, I don't regard OpenBSD that high. They do a lot of code auditing which is proactive but when it comes to adding proactive security features like a good MAC system and FDE it falls short.

    What I really wanted to say in regards to security:
    Any system is just as secure as the user is knowledgeable. The security ootb differs, I give you that. Maybe I'm a bit unfair here because I critically rate the ootb "user experience" and shrug off the "security experience" - probably because I enjoy securing my system more than I like tweaking the GUI ;)
  6. ALookingInView

    ALookingInView Registered Member

    Sep 14, 2009
    Right, it "isn't going to be".
    250 Geek Points added, 250 Cool Points subtracted?
  7. Blueshoes

    Blueshoes Registered Member

    Feb 13, 2010
    I use Fedora 14 on a netbook just for banking. Otherwise I use OS X. While I am a geek with SOHO router with IDS/IPS and AV and I also run an Untangle lite UTM server in bridge mode. Have 5 Macs and 3 of those with Windows 7 and another machine I have for Spinrite HD bench machine that has Fedora 14 on it.


    I couldn't tell you how to install software in Linux. I have had a bad experience wanting to load something on a distro I was testing, Mini something with the Japanese symbol on the desktop and it uses RPM packages. I JUST WANT TO LOAD A PROGRAM LIKE OS X OR WINDOWS!! I want brain dead easy that my grandma could do it. So I simple just use what is on the distro as it comes. I have many Macs and Windows machines that I have no need to become a Linux geek just to load a stupid program. I just don't want to spend the time as do many people testing out Linux. I had a guy who had a old Windows machine try Ubuntu but got turned off because of ease of loading programs. ( 3 years ago) While it WAY better then say 8 years ago. It really needs to be brain dead easy like OS X and Windows to even have a chance to become mainstream.
    Last edited: Jan 21, 2011
  8. Judge Dee

    Judge Dee Guest

    Nothing is easier than installing packages (programs) in Linux. I have 30,782 different ones listed in my repositories. Things such as PDF modification programs (how hard is it to find that for free in windows?), molecular simulators, biochemical algorithms library, many image mod programs, office suites, and on and on.
    I click the boxes of all the programs I want, and presto, they are all installed.
    I'm no genius at computers, and I find Linux as easy as you want it to be, or as hard as the smarter ones want it to be.
Thread Status:
Not open for further replies.