The Linux desktop experience is killing Linux on the desktop, Part II
batsov.com
batsov.com
Main issues behind Linux on desktop:
1) Motivation. Volunteers are doing an incredible job. Truly amazing. Outstanding. No word describes it. However, how much can you expect from them? Most linux-based companies care very little about linux on desktop.
On server linux, almost whole industry is based on FOSS stacks (linux, bsd, etc). Why on earth you expect UI developers do a job as good as server-side people? Most of them are pure volunteers. Until more companies are interested on Desktop linux, the situation is more or less the same.
2)Complexity. The whole stack is very complicated and is not handled by a single entity. Kernel, X, Qt/GTK, KDE/Gnome. Now, add to that distributions with different release policies. Different mix of the whole stack, each one producing a unique end-product. Thats much different from windows where they even 'build' the whole stack.
3)Excitement on desktop has been decreased. Desktop in not sexy anymore. Tablets are. Linux on desktop is in middle of some confusion at the moment. Their job is to produce high quality user interfaces. Not just for desktop. And they have lots of potential there. They are moving towards other form factors as well. Which is a big change.
4)Community's attitude. You see, the FOSS community is very big now. However, most people's attitude is teasing linux on desktop or criticizing it. As far as I can remember, open source attitude was 'scratch your own itch', 'get involved', etc. KDE and Gnome communities are both very very welcoming toward new developers. For example, KDE has ~1 new contributor each day. Which is a proof that it is actually pretty welcoming.
In my personal opinion, Linux on desktop is actually doing incredibly well. Despite the above points, we have very high quality applications. We have very high quality API's. Awesome technologies. Most of the work has been done. We have great looking, stable, efficient workspace and applications. What remains is a bit of polish. (Although I have to say, I personally cant stand windows for more than 5 minutes)
So, dear FOSS community. If you think linux on desktop sucks, help making it better. Thats how linux and open source works.
I would also like to ask KDE users to actually help KDE. You can of course contribute to it or Join The Game[1] and give us a little bit of financial help.
[1] http://jointhegame.kde.org
Edit: fixed formatting.
Linux is already a fine server OS and ecosystem. I think the "Linux desktop" has become less relevant with the rise of smartphones and tablets. Maybe it's time to start talking about which year will be the year of the Linux workstation. :)
So wait, is it your love of these specific terminal emulators or of the shell?
OSX has terminal.app
In fairness it took until Leopard (as I recall) to support tabs and still doesn't support 256 colors. (It will in Lion apparently.[1]).
[1] http://www.apple.com/macosx/whats-new/features.html#unix
Hopefully Lion rolls a lot of those fixes into Terminal.app.
Use what you like. Just don't use your personal preference for specific software (which is all that blog post is about) as evidence for failure of the "Linux Desktop" or whatever.
Whether or not this matters to you depends on how far you want Linux to go as a desktop operating system.
I have used linux on the desktop in some form or another since 1998. It works, trust me.
I find it strange that the author says they should have gone back to FreeBSD. In terms of "desktop" experience, both of these operating systems are somewhat similar.
I understand his complaints about the driver situation, but, really, this just means that you need to do some additional due diligence on your hardware. If you think that is troublesome, try installing OS X on non-Apple hardware. Now that can be a real adventure.
GNOME is just not a good desktop environment, yet it has often been pushed as "the" Linux desktop by various distros and vendors. New Linux users end up using GNOME, finding that it's a pretty bad experience, and then they blame Linux and OSS as a whole. Had they used XFCE, for instance, they'd probably think otherwise.
If recent experience is any indicator, it isn't getting any better. People are not happy with Ubuntu's use of Unity, for instance. Anything GTK+-based or GNOME-based ends up being a miserable experience for most people.
Ubuntu Unity is the number 1 feature OEMs weer asking form Ubuntu..
OEMs often don't truly understand the needs and wants of their customers, as well. The recent backlash, even among laptop users, shows this quite well.
Distributions intended to bring new users to Linux might do well to focus more on testing than new features. I've been using Linux on various laptops for almost 10 years now and I don't want to deal with instability and broken things on my production machine. New users looking for an alternative to Windows will likely find the grass is not greener on the other side. I'm not talking about ugly UI or inconsistency. I'm talking about the fact that my Thinkpad won't suspend, that my sound sometimes stops working, that my notification icons for Skype and a couple other apps were 1px for over a month while the bug was well-known.
tl;dr - less development, more testing.
For those of you who feel a little adventuresome, may I recommend trying a minimalistic, tiling window manager?
I use i3: http://i3wm.org
It's very stable, very simple to use and configure, and doesn't have the bloat of KDE/GNOME.
Some other popular minimalistic window managers:
awesome - http://awesome.naquadah.org
xmonad - http://xmonad.org
wmii - http://www.suckless.org/wmii
I personally think the whole "Linux Desktop" issue is a bit of a red herring. GNU/Linux (and, I assume, other libre Unixes) is the only widely-available OS I know of where it is even possible to use a graphical environment without the "desktop" metaphor, which I see as a huge step forward.
To me, the "desktop" is all about entrenching the various kinds of boring, repetitive work that computers are supposed to relieve. This insidious metaphor is implicit in everything about how desktop environments are used and developed: the way users are encouraged to scatter icons across their screen for fast access to files, instead of encouraging organization and fast access via searching; the presumed importance of "office" software that most users could replace with a typewriter and a calculator; the focus on making the environment "intuitive" from the first moment one uses it, at the expense of training the user to eventually learn to use their computer more effectively and efficiently.
I would much prefer to see the free software community put its efforts into building graphical environments that eschew the desktop metaphor, and instead focus on making it easy for the user to off-load work to the machine. Part of that task is making it easy for the user to discover what the components of the environment are, how they work, and how to recombine them in novel ways.
A good test for this, I think, is how well a graphical environment supports a task like data entry, because it's the kind of thing that just about every computer is going to have to do at some point, and it is often a mind-numbing task. It's often mind-numbing not because the task is boring, but because most "desktop" environments provide no way to offload the cognitive advances you can make while doing it. After a few records, you know you have to check that field C looks a certain way relative to fields A and B, or that it's faster to enter field E before fields D and B, etc.; but the software you're using provides no way to encode this information, so you have to remember this boring algorithm and execute it repeatedly yourself, instead of letting the computer handle the algorithm while you focus on edge cases.
The challenge is to build an environment that a user can offload the algorithmic aspects of their work onto, without requiring the user to be a full-on programmer, at least not at first.
Free software has already taken some significant steps in this direction. Tiling window managers, the OLPC's Sugar interface, and even to some extent programs like Emacs are examples. We're ahead of the game when it comes to building a new metaphor for working with a computer. We just need to recognize it.
What he meant was that he'd come to Linux from FreeBSD. He was charged with going "back" to Windows, but you don't go "back" to something if that's not where you came from in the first place.
So have I, since 1998-1999. It never really "worked" as a desktop compared to windows. Never. Gnome 2 (the latest few versions) was the best they managed to get together. It was always borderline unusable, but it worked somehow. But the latest versions are literarily killing off all Desktop Linux achieved in the last 15 years.
Personally, I've had enough. The moment when no distro offers Gnome 2 any more, and when I'm forced to use Gnome3, Unity or Kde4, I'm going back to windows.
Still, I think it's a bit drastic to say you'll go back to Windows. I've been trying Unity on my (1080p) laptop just to give it a fair chance, and I agree it's not that great, but I can disable it and switch to Gnome 2 or a customized KDE4 and still be more productive than in Windows.
> I have used linux on the desktop in some form or another since 1998. It works, trust me.
Same here. My solution: just stop reading the articles. Linux has and continues to work for me. Let them bitch about Linux, it's their loss.
Think I will try to avoid the temptation as well.
I've recently started using a Linux desktop again, in a very well supported corporate environment. Even with very professional people supporting my exact configuration (so hardware support is not much of an issue), it's still barely usable for me. Many major applications have significant usability problems, sound support is extremely spotty, window management on the desktop has absurd bugs (focus stealing apps not showing up in alt-tab order), and so on.
It's not that it strictly doesn't work, it's just death by a thousand papercuts, and my general unwillingness to put up with that. I'm currently back to using a Mac laptop to run my desktop environment, ssh-ing into the Linux desktop to run essential programs (exported through X, which brings a nice flavor of ugly to my desktop...).
I've recently started using a Linux desktop again ... I'm currently back to using a Mac laptop
So which is it? It sounds like you switched under some compulsion (corporate policy etc). I have seen this attitude. It is not so much that "things don't work" as "things have to be configured". It took me a solid week to get used to Unity (on Ubuntu 11.04) and the jury is still out on how I feel about it.One thing to consider when you are going over to the Linux desktop is that the end user has to be a lot more participatory in the overall setup. It takes a little time to get everything as you want it.
A Mac laptop out of the box is a lot more ready. After a few weeks my hp laptop with Ubuntu is irreplaceable. (and I would imagine the same with Arch or Fedora, etc)
Some things have to be configured, but the things I find most enraging are all the usability issues in Gnome (on Ubuntu).
Which kind of makes sense - there is no single authority ensuring quality and consistency, and most applications just got the 20% effort to fulfill their job, but not the 80% polish to be really good at it.
Using HP business grade laptops I have never had an insurmountable problem.
The author's complaints seems confirmed when looking at the trends [1] in market share for contemporary os's.
>Desktop Linux has to be made somehow profitable for companies to start investing more heavily in it...
I also believe that this is the major issue when trying to make linux successful on the desktop. So, what to do about it?
[1] http://www.netmarketshare.com/os-market-share.aspx?qprid=9
Canonical partnered with Dell for a while to get Ubuntu on a few systems (Dell had been looking for an alternative to windows and had gone to Apple to try to license OS X; Apple refused). Turned out customers didn't really want Ubuntu, and mostly installed (pirate?) Windows and wiped out Ubuntu. You can't just wipe out iOS and install Android on your iPhone (well you can on an original iPhone, but it's not as easy as installing a desktop OS).
System76 is an Ubuntu-only computer vendor, but for most linux geeks they just buy any PC that works with the Linux flavor they want and put linux on it. Most non-geek linux users had linux put there by a geek linux user and don't know any better.
Think about the last time you bought something. Did you go to a shop and kick the tires a bit? When I wanted an Android phone that was unconnected to any particular carrier, I was lucky enough that Best Buy was partnered up with Google. I could hold a Nexus S and see if I liked it before I bought one. This hands-on experience matters. Your local LUG is trying to get the word out, but they're volunteers. We need more businesses who have a vested interest in selling Linux to regular users. When they are, then the product will be a better fit for those users. This is the difference between 'The Spirit of St. Louis' and American Airlines.
Full disclosure, I bought a System76 machine and I'm very happy with it. It's good hardware and it all worked (and not just "works for me", but really worked). Getting a product like this is a good fit for a certain type of computer user. I have owned and bought computers before. It's refreshing to get a new computer that doesn't have layer upon layer of crapware pre-installed and I wasn't in need of some fetishistic unboxing experience; it came in a box that, when opened, it worked out of.
I have one of the ultra-thin models "Lemu1" and the body is plastic while the inner chassis is metal. It reminds me of the build on an iBook G4. It does feel a bit flimsy, but this model is about the size of a MacBook Air and so I figure some of the flimsiness is partly just physics.
This is what a cellphone looks like when it's developed entirely by the open source community: http://www.openmoko.com/
If you're a regular desktop user, your basics are covered. But if you have a nicer camera an want to manage your photos, you're shit out of luck. Video editing software is abysmal. On the other hand you have 25 audio players of which maybe 3 work nicely.
Do I really want to worry about what sound driver I'm using, when I have clients waiting? Not so much.
I'm aware that some things are usable via cygwin, but in my experience it's a huge pain and doesn't work with a ton of stuff I need anyway. I really don't like spending time futzing around with things if I don't have to, I just want to be able to "brew install redis" and be on my way.
Arguably, tools and dependency management is better on a linux platform.
I've found (recently) that working in a VM is the right thing (tm) to do even on a *nix platform. It helps keep your development environment completely segregated and your "desktop" OS clean as well. Since nautilus has built in support for mounting a drive over SSH, and it is very doable on os x using something like MacFusion, the desktop OS just becomes a window into your development environment and becomes mostly secondary.
"Ah! Another stupid windows/osx user!"
I don't care about your fvwm desktop with 99 xterms and emacs everywhere, or your fully customized arch linux that "works for you"; I, like many other people, have different needs. And yet the general response from the community is "fuck off".
First rule of desktop linux: you do not complain about desktop linux.
Greetings from the year 2011.
Much of what I do is commandline. So a not atypical work setup is to have some kind of messenger, a browser, a terminal and thunderbird running.
That is 95% of my day and it works great. I would switch if it didn't. I am not trying to play the Linux version of the longbearded UNIX grump (http://dilbert.com/strips/comic/1995-06-24/) .
Really it works great and I would not willingly go back to Windows. And would grudgingly go back to MacOS.
I don't understand the flipside - why people complain about Linux desktop. You should make it work or go back to your OS of choice.
I get sucked into these articles because I think I might learn something or see something in a different way. THey almost always disapoint.
I'm not sure that's even possible. If the complaint is a lack of drivers and poor support for hardware, how is the average developer supposed to deal with that?
I use a Mac so I understand their criticisms sometimes, sometimes I think they're just whining, as I think of this article.
I think that an article about a switch for Windows would have been much better.
...
Desktop Linux has to be made somehow profitable for companies to start investing more heavily in it. This is the hard, but honest truth. As long as the primarily development is carried out with little (or no funding), mostly by volunteers the hour of the desktop Linux will never come.
The radical change is tablets. Google is investing heavily in Android and will likely see big profits (indirectly).
I'm writing this from a Windows laptop because my main Ubuntu laptop got screwed while upgrading. Everything that worked perfectly well for 3 years is now botched because of an "upgrade".
The hour of the Linux desktop may eventually come but it will be irrelevant by then.
The category of people who use Linux, but complain about the desktop experience, seems to be a vocal minority (of the already tiny minority of computer users that use Linux).
The overwhelming majority of us have moved on. My Linux desktop use is now limited to the once a year that I install a distro to force myself to use a different OS for a couple months, mostly to see what I'm missing. Turns out, I'm not missing anything, so after a couple months I go back to using a system I enjoy.
But here's the thing, the people who use Linux as their main desktop environment aren't crazy, or fooling themselves. They prefer it to the alternatives. They evangelize about it (actually something I wish everyone would stop doing, regardless of their OS allegiance). For them, it's the best way to use their computer for the things that they want to use their computer for.
So I'm not sure that there is a problem. With the exception of the small number of people who fantasize about a world-wide exodus from Windows to Linux on the desktop (who are certifiable, if they think there's a remote chance that will happen), I get the impression that most Linux users are quite happy with it (as well they should be).
I think maybe twelve years ago, if you were a full-time Linux desktop user, you were probably compromising on technical quality for an ideological preference; but I don't think that's been true for a long time.
Weird installation trap. Can't find drivers for my wireless adaptor. Sleep sometimes work, sometimes not. Tons of big or small problems like this.
Yeah, after long hours of research, I got resolved most of the issues. But I doubt anyone who has less patience or less understanding of computer than I do would simply say "damn it!"
Yeah, it could work, but it's crappy.
I am using/used Linux since '95. On my family's laptop Ubuntu 10.10 is still running, but I have the feeling it is the last Ubuntu version that we will use until the laptop dies - but I will not update to newer releases unless Ubuntu brings a desktop that improves usability without requiring 3D to work or Linux will get support for my graphics card, so at least I could try Unity. When we have to buy a new laptop it will be with Windows or maybe ChromeOS. I just do not want to go again through all the pains when choosing new hardware.
For my personal/professional laptops I switched to Windows 5 years ago. Sometimes I need Linux to test some development then I install a VM. No hassle any more. As I missed bash as well, I installed Cygwin.
I feel that additionally there are other world changes that drain the Linux desktop users:
1.) Desktops (no matter if it is Unix/Win/MacOS) do NOT matter as much as they used too. Since the time when I bought a modern phone, I realized that I actually use the laptops only when I need to write longer texts or print out something. Browsing/mailing/chatting/playing/skyping is a better experience on the phone than on the desktop (on the phone however typing is really bad).
2.) Windows became much better (if you skip Vista) since XP.
He can't go *BSD way, because drivers are scarcier, and that's a big no-no for him. And even more scarce on other less popular OSes, like Plan 9.
He can't go MS Windows way, because it's less usable for him (duh).
He can't go MacOS X because, uh, I dunno, personal preferences? Pricetag of the hardware+software?
He whines and rehashes old arguments because he feels trapped in Linux, got nowhere else to go :-)
Indeed, not a piece of News for Hackers.
Windows isn't a great option for me because the development ecosystem around Ruby on Windows is still fairly immature. Linux would be a perfect solution, if I could get more than a hour of battery life out of my laptop, my touchpad worked even remotely as well as it does in Windows, and selecting the wrong update didn't completely trash my system.
Good luck.
Yeah, I said waste. Most people will counter by saying "but I learned linux!" No, you didn't, you learned to futz around with a bunch of conf files. I remember trying to make Pulseaudio work with my USB soundcard. Several hours of dicking about with asoundrc later and I a. still had a nonfunctional sound card b. still don't know how pulseaudio works
Not that it isn't an accomplishment. Just, while it may be a source of personal satisfaction, don't expect people with less time than you do to feel the same way!
It is like solving sudoku. There's a rush when you solve it, but it is not like you have made a genuine progress.
I feel you on pulseaudio though. Been there, done that, pacman -Rcs gnome gnome-extra. That took me minutes, not weeks. Because I had already learned to configure alsa, and knew it worked fine.
The overall point is people without time to learn probably shouldn't use complex systems? OK.
However, they can be flagged, if you feel they are inappropriate for HN.
Then there is another question - does it make the Linux desktop better if people (like the author and me) stop using it?
This was very true:
What have you done? Sure, very few users are software engineers, but that doesn’t mean they can’t help. Bug reports are just as important as patches. Ideas and suggestions for improvements are highly valued as well. Don’t sit in the shadows doing nothing - step into the light and do something to help your favorite project get a little bit better.
Step by step. Fix by fix. Improvement by improvement. This is how good software gets created.
For me I have been on the sidelines my whole career - and he is right. Should try to rectify this.Linux may have POSIX outside, but its cause would be further advanced if they committed to stabler interfaces for driver developers.
But I would really really love if Canonical would just do one bug-patch-only release. Half a year of just fixing and cleaning up things would really help.
Unfortunately, I doubt that it will ever happen.
It needs to aim to attract commercial developers by adding cohesive APIs and stable ABIs.
That's going to be a real struggle. Linux is too fragmented, there's too much opposition to proprietary software, and the kernel developers don't believe in stable ABIs.
Perhaps some sort of VM, à la Android's Dalvik or .NET, is the best solution for working around most of these problems in one fell swoop. Being OS independent also opens up approaches to solving driver problems in the long-term.
I thought Haiku had a decent shot of avoiding these problems, but my optimism has waned. Its ageing rapidly, development is slow, and rather than trying to attract commercial developers they seem happy to repeat Linux's packaging mistakes.
Don't get me wrong - Ubuntu has made great strides in usability, but it's not that linux is harder, it's that people who are already used to Windows will find it much "easier" because the mental shortcuts are already there, compared to Linux where they need to think about something as simple as launching a program. Combine that with the fact that Linux does break on occasion (mostly with regards to distro upgrades) and probably requires the command line to fix it and you get frustration on the user's part compared to Windows.