> The second dimension to the problem is that no two Linux distributions agreed on which core components the system should use.
Linux on the desktop suffered from a lack of coherent, strategic vision, consistency and philosophy. Every engineer I know likes to do things a particular way. They also have a distorted view on the level of customization that people want and need.
I like OSX. Out of the box it's fine. That's what I want. I don't want to dick around with Windows managers or the like. Some do and that's fine but almost no one really does.
Whereas Windows and OSX can (and do) dictate a topdown vision for the desktop experience, Linux can't do this. Or maybe there's been no one with the drive, conviction and gravitas to pull it off? Who knows? Whatever the case, this really matters for a desktop experience.
I have two monitors on my Linux desktop. A month ago full screen on video stopped working. Or I guess I should say it moved to the center of the two screens so is unusable. I have no idea why. It could be an update gone awry. It could be corp-specific modifications. It could be anything. But the point is: I don't care what the problem is, I just want it to work. In this regard, both Windows and OSX just work. In many others too.
I can't describe to you how much torture it always seems to be to get anything desktop-related to work on Linux. I loathe it with a passion. I've long since given up any idea that Linux will ever get anywhere on the desktop. It won't. That takes a topdown approach, the kind that anarchies can't solve.
Just because it's never happened to you on OS X or Windows doesn't mean it doesn't happen. OS X 10.6.7 broke the output on my 13" Macbook for either of the two external displays I own. Both worked fine previously, when booted from the install CDs, or from Linux on the same machine.
Plugging in my Firewire audio interface on the same machine spun the CPU up to 100% and kept it pegged there. A lot of good having a nice mic pre-amp does when you get a high pitched fan whir added gratis to all of your recordings.
It's silly to pretend that Mac is somehow perfect in these matters. In my experience it's only been marginally better than Linux, if at all. And with Linux you have some hope of finding a solution, whereas for OS X you're pretty much hosed.
Straw man. Nobody said OS X was perfect.
> In my experience it's only been marginally better than Linux, if at all.
I used Linux on my desktop for several years and have now used Macs as well for several years. I won't say this is bullshit because I don't think you are lying about your experience, but I think you are extrapolating way too far.
> And with Linux you have some hope of finding a solution, whereas for OS X you're pretty much hosed.
Forums and mailing lists are "hope for a solution" while the genius bar is "pretty much hosed"? How on earth did you arrive at this conclusion? That just doesn't seem reasonable.
Having said that, barring a few "recent" desktop distros, as they call it, like Ubuntu, Linux has always been a bottom up approach. You need to install the base, then the userland and so on. For someone who is looking for ultimate customization, Linux makes sense.
But when I am running a notebook, I seriously want everything to work, albeit at a lower performance/customizability.
I always run either FreeBSD or Gentoo on my servers. But my notebook/desktop continues to be OSX.
My own experiences aren't great with Windows, though they're smoother on OSX than Linux. The problem I have with Windows is that stuff does break, but it's inscrutable how and what to do about it, whereas at least on Linux there is usually some way to do something about it if you're tech-savvy. If anything gets borked in Windows, it's wipe-and-reinstall time; back when I used it full-time I probably did that once a year on average.
I find OSX to be poor for package management, though. I've gotten so tired of headaches with installing and managing updates of stuff, and badly interacting upgrades of the OS and separately installed packages and system versions of python/ruby/etc., that I do most of my dev work in Debian in VirtualBox now. In that aspect, it's Debian that's centrally managed with real release-engineering and integration tests, whereas OSX is an anarchic mess of 3rd-party software that nobody's responsible for integrating and testing.
I can't say I've really touched Python at all, but as a relative newcomer to the Ruby world I found getting RVM set up and functioning properly on my Mac to be a complete non-issue.
Now I don't really expect linux volunteers to do this, but equally I don't really expect any linux distro to provide a coherent business desktop because they are not talking to their "customers" in the same way that their competition is. And the business desktop is a large market, if a bit unsexy.
Well, sure, but (unless I am mistaken) that is no longer on the topic of the Linux desktop.
I know that many of these are trivial complaints and that all of these things can be fixed. I no longer want to have to do this however. In my teens I loved tinkering with the linux desktop, designing 'awesome' Enlightenment themes and enjoyed tracking down and fixing these little problems. Now in my 30s I really just want the OS to get out of the way and let me code. OSX does this well, linux really does not. I say this with a fair bit of sadness as there are many things that I like about linux a great deal - the cli, the excellent package management, the ethos behind the OS and the open source community.
And I've been really, really impressed with the latest Thunderbird/Lightning releases (14-15). Haven't had any problems at all, like I had with the older releases from several years ago. I used to be a Mail guy, but Thunderbird blows it out of the water these days.
I say Mark Shuttleworth is doing this, and no one is paying attention. Unity was a unified vision, it was just different and no one wanted different. And that is fine for a new target audience he wanted for the OS, which was everyone else in the world. Look at what they are doing now, Ubuntu on tablets, Ubuntu TV, they are pushing a unified vision, and nobody is getting behind it en masse in the Linux community because it isn't everything they wanted. They want Cinnamon, they don't like Gnome 3, where is my Gnome 2, etc. The inherent strife is the proble, not a lack of visionaries.
Unfortunately, I think they kind of snatched defeat from the jaws of victory by attempting to go to a "modern user interface". The big problem is that neither designers nor programmers really enjoy incremental progress (designers want a big canvas and programmers want clean code). Gnome2 really was/is good enough for most people use easily AND it was/is simple and powerful not to stand in the way of the existing users (programmers, Linux Geeks, Linus himself,etc). Whether Unity and Gnome 3 work for average people or not, they certainly alienated the existing Linux desktop users and that is an important segment.
I used linux as my only OS sans VMs from roughly 2008 till 2011. I finally gave up because it handled monitor switching, multiple monitors so poorly (using Nvidia GPU). I begrudgingly switched to windows because I owned the hardware already, and it was the only option. Windows sucks, the lack of a usable shell kills it, full stop, nothing else windows does matters. And no, cygwin doesn't cut it.
Fast forward to now, the only computer I manually interact with is a macbook air. The old desktop hardware became my file server(running FreeNAS) despite being many times faster than the air.
Through this experience I realized what I actually cared about...I run four 'apps' 99% of the time: chrome, sublime text(everything non java), iTerm and IntelliJ(java). That is really all I care about, anything that prevents interacting with these applications as quickly as possible fails. The support stuff, git, a database, a message queue, etc. Runs anywhere. I _rarely_ interact with the 'OS' in ui terms. I rarely use finder, I only use the dock to empty the trash (launch everything through Quicksilver). At the end of the day I love OS X not because it has 'awesome' UI paradigms, but because of all the options I see it the least, it may as well not be there.
OS X is the only OS i've ever used that I just don't think or care about. It sleeps, it wakes up, it deals with new screens, it does all the OS shit so I can just use the apps i want to. Thats why I am hooked using it as a dev machine.
It does have some rough edges that may cause you to dismiss it as unusable, but it offers tab completion, colored text output, and a real scripting environment (not DOS batch scripting). Every serious Windows developer I've talked to nowadays uses it exclusively.
Can't speak to the seamless suspend/resume support, etc on your choice of hardware, and I acknowledge that if that kind of stuff doesn't work, it'd be a dealbreaker.
Just saying, Gnome3/Shell is at least worth checking out if you like the OSX workflow and use just a few apps day to day for development.
Thanks for the writeup of your experience!
Yup, still no xrandr support which makes any on-the-fly monitor config changes very difficult or impossible.
Sometimes, if you use twinview and nvidia-settings from the start and if the moon is aligned just right, you can dynamically configure monitors / video ports. Sometimes.
So obvious... Linus promised Linux on the desktop 2000 or so. The reality was different: influential groups just ignored the desktop. Now it's too late, web is becoming the predominant platform, Operating Systems are just commodity. For me it's no big difference whether I use Linux or OS X (with coreutils etc. installed). In fact I wouldn't even mind working on Windows, unfortunately I don't have the patience to setup a reasonable Unix-like dev environment.
The irony is: it has never been less painful to switch to Linux.
This is so true. Linux has a bad rap. I gave up on it a couple of years ago due to the infamous "hidden cost of linux". I switched back a couple months ago and have been pleasantly surprised how smooth things are now. A lot has improved in the last couple years in Linux land.
Is this in Chrome on sites like YouTube? If so, I believe it started with Chrome 20 when Chrome switched to its native Flash driver (see http://productforums.google.com/forum/#!topic/chrome/Mi-YgjN...). This happened to me too, and I still haven't resolved it.
Never underestimate the fear of the consumer that they will break stuff on a computer they are unfamiliar with. The fact that Windows is actually getting better may actually be a good thing regarding other possibilities of desktop software.
cletus you are one of the few people with enough karma to always grab and hold a top post spot who _actually says things worth saying_.
Right on.
As for "someone with the gravitas", never say never. But they might not use the Linux kernel and GNU as their "clay" or "base material".
I've thought about such a person and one thing I believe is that they would be foolish to try to "sell" such a simple to use system to Linux users (and many of those users would, alas, include engineers like the ones you describe: set in their ways) nor to those engineers who worship Apple, with their belief in some mythical "user experience" [translation: _their_ experience]).
In my opinion, a person with the gravitas would also need to the vision to see that the target user base who is open to change lies elsewhere. The users need to come with an open mind.
I don't know what will happen to Linux. But the binary blob problem keeps getting worse. Too many Linux users are happy to accept the blobs. They don't want to read source code. They just want working devices. That's understandable. But in my opinion it's not a small problem in the long run.
Apple, on the other hand, is flat out abusing its power. Not only over end users but over developers (who are of course just a particular class of end users). They are standing in the way of people's general education about computers. Keeping everyone dumb may give some developers a warm, fuzzy feeling as they watch their bank accounts grow to new levels, or dream of it, but I do think Apple's conduct, seen for what it is, will trickle down past just us fanatics on HN and elsewhere on the web. People are going to figure it out.
If I was a monopoly-lover, if I loved to see "winner-take-all" in IT, as if that improved the lot for any of us (I am not and it doesn't), then my money would go on Amazon. They seem to be making the fewest mistakes. Great things will come from AWS. It is the democratisation of hosting - a sharing of power, risks be damned (unfortunately, it may also mean the monopolisation of hosting as we've never before seen). In "Dropbox", we are only seeing the very beginning of what's possible.
In my view, Apple is a "disabler" (everything they introduce is restricted) while Amazon is an "enabler" (generally: they open many more doors than they close).
We must be doing different things, because I've been on Linux desktops with zero-to-minimal effort since 1999.
And clearly OS X is an extremely polished Unix and is going to appeal to the more UI-focused of the hacker set. And Miquel is definitely among the most UI-focused of the hacker set. He's also an inconsolate "platform fan". Much of his early work was chasing Microsoft products and technologies, of course; now he's an iPhone nut apparently, and that doesn't really surprise me.
But at the same time the Linux desktop was never really in the game. I use it (Gnome 3 currently) and prefer it. Lots of others do. For many, it really does just work better. But in a world where super-polished products are the norm, a hacker-focused suite of software isn't ever going to amount to more than a curiosity. (And again, I say this as someone who will likely never work in a Windows or OS X desktop.)
So in that light, I think the idea that the Linux desktop got "killed" is sort of missing the point. It's no more moribund now than it was before. It's more fractured in a sense, as the "Gnome" side of the previous desktop war has split into 3+ camps (Unity, Gnome 3 and Gnome2/Xfce, though there are other spliter camps like Mint/Cinnamon too). But it's here and it works, and it's not going anywhere. Try it!
I strongly disagree. It is losing exactly the sort of person that the author is: developers who, all else equal, would rather use Linux. But who eventually get tired of the BS and just want something that works and you can actually get software for. I have a lot of sympathy for that.
I write this from a Linux laptop, but that's more out of mulish stubbornness and 15 years of accumulated irritation with Steve Jobs and his dickish business practices.
The last time I got a new laptop I knew I didn't have time to screw around for days with X configuration files. And so I paid a vendor several hundred dollars over list to give me a laptop that JFW. And despite that the sound is still way too quiet. After a few time-boxed 2-hour excursions into whatever sound system they're using this week, I still can't fix it. I've given up.
The only legitimate reason I have for staying on desktop Linux is that I code for Linux servers, and I think it's impossible to really understand system performance if you're not running the same OS. But even that seems shaky to me; hardware keeps getting cheaper and developers keep getting more expensive, so it just doesn't matter as much.
One day some bright Linux spark is going to "innovate" again in a way that I'm expected to put up with their rough edges for 6 months (hello, Unity!) and I'm going to say fuck it and buy a Mac because I just don't have time to screw around right then. Or maybe I'll just want to watch a Netflix movie without hassle, or play the video game my pals are all talking about. And maybe by then it will be a fancy dock for my 8-core Android phone.
Overall, I agree with his point, except that I don't think Linux on the desktop is so much dying as cutting its own throat.
But for the past two and a half years I've used Ubuntu with Xfce, and those problems have become a distant memory. Nothing breaks, nothing gets changed on me (Xfce has moved a few things around, but nothing too terrible). No one forced me to switch to Unity, so I didn't. For me, Linux is more usable and stable than it's ever been. I also seem to see more people running it on the desktop than ever before, and in fact stats from Net Applications show a 50% rise in market share in 2011: http://www.zdnet.com/blog/open-source/is-the-linux-desktop-a...
Inside the Apple-centric echo chamber of HN, it's easy to believe that all the developers have moved to OS X and desktop Linux is dead, but I disagree. Despite its problems, desktop Linux is secure in its (small) niche.
All I do is have this line in my .xinitrc:
[[ -x /usr/bin/start-pulseaudio-x11 ]] && start-pulseaudio-x11 &
And it works perfectly! If I want to change my volume or manage which device it outputs on, I just run pavucontrolWhen I first tried to use Linux about 7 years ago, wireless drivers were a huge problem. Manufacturers didn't provide assistance--not much Linux distros could do about it at the time.
These problems are simply inherent to Linux being a minority platform.
Oh, but it is. Because it has lost a lot of momentum that it had, momentum that was coming from the "we're gonna overtake MS and win over the Desktop" feeling prevalent at the time.
Heck, the guy behind GTK complained recently that he is just one man taking care of the project. The full GUI foundation for Gnome, and one that is far from feature complete at that, and it only has one guy working on it.
It has also lost a lot of people and companies associated with it at the time betting on this possibility [of it winning the desktop]. Most companies nowadays support Linux development only for the server stuff, but it wasn't always so. Miguel moved on, Ximian moved on, Hazel moved on, Rasterman moved on, etc etc. Even Adobe quit developing Flash for it.
And it also lost a lot of "alpha geeks" to OS X, which wasn't even commercially available at the time (1997-2001). This "desktop UNIX" come out of nowhere and it was it that did what Linux was supposed (and expected) to do, ie eat into MS market share. Well, even OS X didn't eat that much, but 15% is still a lot.
>He's also an inconsolate "platform fan". Much of his early work was chasing Microsoft products and technologies, of course; now he's an iPhone nut apparently, and that doesn't really surprise me.
You're saying it like it's a bad thing. Gnome (or Linux for that matter) are also platforms.
And to be frank, his early work was not "chasing Microsoft products and technologies". His early world was Midnight Commander, Gnome, Gnumeric, and Evolution.
He indeed like the component model (not the Window platform itself) when it was presented to him at a Microsoft visit, though (the story of this visit should be up there somewhere). But what's not to like about it? A good, clean, component model of sorts was also needed for FOSS, maybe still is.
The phase you describe, IIRC, was several years _later_, when he saw the .NET platform and got hooked.
> His early world was Midnight Commander, Gnome, Gnumeric, and Evolution.
Clones of Norton Commander, Windows, Excel, and Outlook. To be fair, Gnome 1 wasn't really a "clone" (though it did mimick more than innovate) and mc was chasing a Symantec product, not a Microsoft one.
But to claim that these were innovative new projects is silly. Miguel's career has been one of seeing something he loves in an existing product and duplicating it in his preferred free software environment. There's no shame there. But it's absolutely the same thinking that drove the Mono project.
(And, there are of course Linux-based systems that were built by someone controlling the whole experience, and those work really well. Android and ChromeOS come to mind, though those aren't really desktops per se.)
The other day, someone here was complaining about udev. It has ruined Linux forever, or something. I have a different experience: udev has made my life very easy. I have a rule for each device I care about, and that device is automatically made available at a fixed location when it is plugged in. For example, I have a rule that detects a microcontroller that is waiting to be programmed with avrdude in avr109 mode that symlinks the raw device (/dev/ttyUSB<whatever>) to /dev/avr109. I then have a script that waits for inotify to detect the symlink, and then call avrdude to program the microcontroller. A few lines of shell scripting (actually, it's in my Makefile), and I can just plug in a microcontroller, press the programming button on it, and everything just works. No screwing around with figuring out which device address it's assigned to. How do you do that in Windows?
Want to log in from a terminal and start X? Well, too bad there's some new infrastructure this month that makes sure you'll only get access to the sound device when you log in from a properly configured gdm. Want to modify the keyboard layout? Whoops, the xmodmap format that had been stable for a couple of decades now changed for the third time in a year. Want to add a tmpfs on /tmp to fstab? Well, too bad. Some implicit and undebuggable circular dependencies in systemd will make the system unbootable.
And the sad parts are that the problems this new infrastructure is supposed to solve never actually existed. "Great, now audio doesn't work at all. But if it worked, it would have full support for network transparency". It's easy to understand why the problem exists - creating something new tends to be more rewarding than working on the old stuff. It's much harder to see how to fix this madness.
You can't expect everything to work when you tear out components then fail to configure things properly...
Requiring everyone to be an expert will prevent Linux from being a dominant OS, because most people do not care enough to gain a deep understanding of any OS, so they'll pick one that's easier to learn the easy bits.
Agreed. That is two desktops and four laptops worth in a decade.
"I think the issue is that getting everything working requires a deep understanding of each component and the system as a whole. "
Not so sure. I'm an end user and tend to just shove the CD-ROM in and cross my fingers. Most 'stuff' works. My stuff is simpler than yours however (audio interface, cameras, keyboard (musical) controller)
[0] Last time I used ChromeOS it was still mostly in line with ordinary Linux (thought it might have been partially Gentoo based?); but a rather impractical one as it's less than simple to run [things that aren't Chrome]. Heard about Xorg getting replaced at some point, I'm unclear on if that actually happened.
But that's exactly one of the major problems he's complaining about!
http://www.jwz.org/doc/cadt.html
Also, part of what killed the Linux desktop was Miguel and his total lack of understanding of the unix philosophy which drove him to create abominations like BONOBO. D-Bus is not much better either.
That he fell in love with an iPhone goes to show he didn't fully appreciate the value of open source either.
We were just yesterday commenting with some friends in #cat-v how Evolution is one of the worst pieces of software ever created, and Evolution is supposedly considered by Miguel and co to be the epitome of the Linux desktop.
Yes, there is still Android but, given how modified the usual handset is, you can't buy a free and open Android on the market as well.
So, where is the problem in using a closed device when "open" just doesn't deliver?
I'm not a fanboy but I did envy my wife's iPhone for years. I like my Android better today but what choices did you really have when the iPhone came out? It was the only game in town. I was chained to a Blackberry is the only reason I didn't have one.
When i'm not on Linux I run OSX everywhere else (and IOS) because its unix-like (is) and because it works so well. I am sure Windows 7 and 8 are great, but I doubt they have gotten rid of c: or \ as path delimiter or any of the other nonsense that DOS introduced (copied from PIP) back in the dark ages. why should they, MSFT still runs DOS apps so they aren't going to change and choosing between OSX and Linux on a non-work desktop is a no-brainer, Netflix, Photoshop etc etc etc...
Let me give an example: a few months ago, a new version of Skype was announced for Linux. I was excited, since I used Skype 2 for Linux but then it stopped working for me and I couldn't be bothered to fix it. But if you go to the Skype for Linux download page, you will find a few downloads for specific distros, then some tar files which are, statistically speaking, guaranteed not to work.
Long story short(er), I still don't have Skype working on my desktop, because my distro isn't in the list, I can't get one of the other distro packages to work on my system, and of course none of the statically-linked binaries work.
(I could almost certainly get it to work if I was willing to install 32-bit binary support. But it's 2012. If your app requires me to install 32-bit binary support, I don't need your app that badly.)
Steam for Linux, recently announced by Valve, will run into the same problem. I suspect it will actually be Steam for Ubuntu and Debian, possibly with a version for Fedora, assuming you have the proper libraries installed and are using the right sound daemon and graphical environment.
But if big-name software comes out for Linux, hopefully distros will get in line. Do you want to be that distro which can't run Steam? Doesn't really matter if you think that OSSv4 is superior to ALSA and PulseAudio...if Steam requires the latter, you will toe the freaking line, or disappear into obsolescence.
One of the big thrusts of the Linux desktop wasn't simply dominance itself, but for it to simply not matter what you were using on the desktop. The Linux desktop fought to produce the first cracks in Windows hegemony a decade ago, but the final push came from the rebirth of Apple and the rise of the smartphone.
Today people happily do their normal productive or recreational tasks from a variety of computing environments: Windows, GNOME, Unity, KDE, OS X, iOS, Android, et al. Probably the majority of (Western) web users use at least one non-Windows internet device.
During the golden age of the Linux desktop everything seemed predicated on reaching exactly this point -- that you wouldn't need Windows, and then, by virtue of competing on a leveler playing field, the Linux desktop would ascend.
But the Linux desktops didn't "scate where the puck is going" -- or their attempts at such missed the mark. By the time we reached the era post-Windows dominance, the Linux desktops weren't positioned to take advantage of the new playing field dynamics. The rest of the industry isn't even all that concerned with the desktop wars anymore. It stopped mattering very much -- and ironically, that came around to bite the projects in the ass that first got the ball rolling.
The author seems to forget that some people actually enjoys configuring and hacking their systems in detail. Also there is the people who hates using the mouse, and wants to do everything with the console and keyboard.
Having a bigger market share means that hardware/software vendors are more likely to consider supporting Linux to at least some degree.
For example I like to listen to music while programming, so it's nice that Spotify is available on my dev machine.
This is completely missing the point - a statically compiled end-user binary should be compatible across all distributions of Linux, using the same version of the kernel or any newer version.
The only caveats to that are (a) hardware and (b) poorly-packaged software.
(A) is the fault of hardware manufacturers and is increasingly not an issue these days anyway; driver issues are becoming increasingly rare.
(B) is easy to solve for any open-source software, as it is the responsibility of the community for that distribution to provide the appropriate packaging. They prefer to do it themselves. And they're good at it - it gets done!
If you want to ship a closed-source binary on Linux, just make sure you don't dynamically link it against any libraries that you don't also ship with the binary. Problem solved.
Honestly, I can't remember one single instance ever where I have run into end-user software that will run on one distribution of Linux and not another, as long as that principle was followed.
Consider D-Bus, if you statically link, but the system changes the format or location of D-BUs configuration files, all of a sudden your app no longer works.
So in theory, yes, this could solve some of the problems. But it requires a massive effort to make the Linux desktop libraries static-linking friendly, which they are not.
Why not just ship a chroot jail to run it in in case some of those statically linked system libraries read config files which might be under a different path or in a different format?
A lot of applications break on newer versions of Mac OS X. That's why there are websites like http://roaringapps.com/apps:table
Also, there are a lot of "transitions" that Apple loves doing: PowerPC -> Intel. Java -> Objective-C. Carbon -> Cocoa. 32-bit > 64-bit. Access everything -> Sandbox.
See also Cocoa docs: "method X introduced in 10.5. Deprecated in 10.6".
I have a few devices that don't work in 10.8.
Basically, what I'm saying is that OS X is a bad example for backward compatibility. Windows is much better at this. Open source software is much better at this.
Now take the mobile world for example, Linux on mobile had been around for a decade but it never really took off until a huge company like Google decided to throw its billions of dollars and its great ingenuity at the task. Getting an OS to be popular is just incredibly difficult and it needs way more than just good driver support and/or good software. It needs marketing, talking to manufacturers, dedicated and well payed devs, designers, UI and UX professionals, sales, R&D and so on and so forth.
Focusing on the technicality of drivers and API is typical of us devs, but it has nothing to do with why Linux didn't take off on the desktop, sure Linux did fail because it couldn't do any or some of that well, but why couldn't it do any or some of that? Because it didn't have a huge and focused company pushing for it. How many popular desktop OS are there? Only 2, I think that's enough to show that it's incredibly hard to get into that market and that only a huge company can make it. Also, let's not forget that Windows was good enough and there was not much Linux could do to attract users, in fact this is still true and probably why even OS X is still at 5%: Windows is good enough and it's the de facto standard used by +90%. Having the best UI and UX in the world like OS X doesn't help that much either.
No, RedHat bet the house on server Linux, never on desktop. Canonical did bet the house on desktop linux bit it's a tiny company that has yet to turn a profit (or a significant one).
EnableLinuxHWVideoDecode=1
OverrideGPUValidation=true
Some people will probably tell you all kind of reasons why this is bad, but it works.
When I go home, I'll be using my personal laptop running linux. My wife and kids run a netbook with a linux desktop.
The linux desktop may be dead to Miguel, but it works just fine for me, a lot of other people in my life, and a lot of people in the world.
<shrug>
I never consider OS/X despite some fanciness; it is limited in choice of hardware, it is totally dead on server side, its unix-ness was/is crappy, despite being developed by the (the most valuable) cathedral in the world. its support for open source dev tools is miserable, despite some recent improvements, its game support is miserable (compared to windows) and it goes worse in openness day by day. Just a crowd of ordinary users, waiting to be sold trivial app store apps maybe an appeal to some developers, but OS/X appears like a toy casio personal organizer OS from 80s to the DIY/Linux developer desktop users.
What killed the linux desktop? Drivers. Mostly graphics drivers but some others as well. Who cares if the UI isn't ideal if the damn thing can't sleep and wake up properly, or if it spazs out every time I plug in an external monitor.
Stupid jokes aside, I always had a feeling that the Linux desktop was actually gaining users in the last couple of years, especially since Ubuntu came along and truth be told it's still the best operating system I've been using but that question is largely open to taste anyway.
For the last couple o' weeks I had to use Windows 7 at work and oh my god, what a pain in the bottom it is! I've had a couple of looks at OSX and never liked it either. Then again my linux desktop isn't exactly standard either - but that's what I like about it: customizability. I'm the kind of guy who likes to tinker with the system until it's just about right for me. The last time I set up my laptop it took me 3 or 4 days to finish but it absolutely paid off. The result is something I find aesthetically pleasing and extremely usable.
Linux has a couple of show-off features and facts 'n' figures like running most of the Top 500 and second-to-none package management but it's real power is that it can very well be all things to all people. It's been said a million times but Linux gives the user a choice, and I honestly value that a million times more than any nice OSXesque UX or Windows-esque games support.
The catch is that I'm definitely not the average user who wants things to "just work" (although they rarely do).
That seems a weird way to phrase it. This is not a new thing, and generally drivers have gotten better over the years. Saying that drivers inhibited the growth of Linux makes sense, saying that they killed it -- not so much.
I don't actually see any problems with Linux. It's just not meant to be.
I'm sure you'll blame this on AMD's drivers or shoot out some other random technical reason. While i understand the technical issues, I just don't care, I have far better things to do than care about this shit. It flat out doesn't work and I don't care why.
However, no way in hell anyone will get me to switch to Mac OS. I am simply too enamored with having an environment that I can hack on if it strikes my fancy, as well as an environment that I can customize how I want it. Despite all its flaws, it still does focus follows mouse pretty well, and not having that would drive me batty.
Also, Apple is an 800 pound gorilla that has always been about Being In Control. The Samsung lawsuit wasn't anything new:
http://en.wikipedia.org/wiki/Apple_Computer,_Inc._v._Microso...
I just don't want to be part of that kind of walled garden.
I don't really see how the Linux desktop is dead. I've been running the same OS on this same laptop since 2007. The only upgrade I've added is an SSD and an extra gig of memory. It's still pretty speedy and I've never had any problems.
I use a Macbook Pro with OS X at work because that's just what I was issued by default. I hate it. I hate the over-reliance on the mouse, on gestures, the abundant and tedious animations; I hate the crappy ecosystem of package repositories and how most of the packages are broken or completely mess with the system; I hate never being able to find where any of the configuration files are or where something is installed; I hate the plethora of ways you can start and stop services; the confusing GUI; the masochistic meta-key layout; the awful full-screen support; and the complete lack of customization options.
I've had much better experiences with the Linux desktop for 95% of the things I do.
Now before some OS X fan-person decides to point out how woefully misguided and ignorant I am, my point is that there are different folks out there who want different things from their desktop experience. Apple gets to decide top-down what that experience is all the way down to the hardware. I prefer a little more flexibility. I like being able to swap out my own battery or adding a new memory module when I need one. I like being able to switch from a GUI desktop to a tiled window manager. Some folks don't -- there are Linux distros that hide as much of that as possible. Either way there are plenty of options and I think that's a good thing. Competition breeds innovation and even though I don't particularly like Unity I am glad to see people trying new things.
The Linux desktop isn't dead. It may just smell funny. You may switch to OS X and wonder why anyone could possibly want anything else. I just gave you a bunch of answers.
As well as Linux's presence in the data centre, witness the success of 'embedded' Linux: many TVs, routers, set top boxes and other bits of sealed-box electronics all run on it. It's broad in its scope because of the large team of divergent interests working on it, and it's able to support those systems because it's been well made as a direct result of that team's philosophy. Is it really so bad that the average Facebooker does't want to use it?
It really is very, very hard indeed to be all things to all men and no single system around today can make that claim. Linux has its place in the world of computing, just like Android, Windows, OSX and everything else.
Did you know that X11 is why we have shared libs (the UNIX version of "dll hell")? If not for having to run X11, shared libs really would not have been needed.
There are many window managers. Maybe too many. Too much choice for a noob. That selection or the pre-selections Linux distribution people make does not equate to "the" Linux Desktop. It equates someone else's configurations and choice of applications. It equates to having to fiddle with X11, whether you are just configuring it or developing programs to run in it. And that has always been extremely frustrating for too many people- constant tweaking; it never ends. This is like a brick wall to people who might want to try Linux, coming from Windows. You are inheriting a system that's been configured to someone else's preferences. (Same is true with Apple, but they have a knack for making things easy.)
I skipped Linux altogther and went from using Windows to using BSD. I've also been a Mac user. And BSD is way better than OSX, or any of the previous MacOS's for doing most everyday things: email, internet and secure web (ramdisk). Moreover it's flexible - you can shape into what you want - without this being an overwhelming task of undoing someone else's settings.
If you want a citation for the shared libs thing I will track it down, but honestly anyone can do it on their own. The historical research will do you good. Educate yourself.
All of the article's criticism of mainstream workstation distributions is accurate, of course. But it's important to note that those represent nowhere near the sum total of the linux user experience these days.
Android is only "Linux" when it's convenient for Linux advocates, but it's never "the Linux desktop".
This developer culture DEFINES Linux. A fruit is either an apple or an orange. I couldn't have an OS with wonderful package management, developer tools, endless configurability AND a desktop Miguel de Icaza dreams of.
I'm on Linux now (GNU/Linux, maybe lump BSD in there too, I'm using "Linux"). I know plenty of users on Linux. I know plenty of users of Windows and OS X who run virtual Linux Desktop distributions for testing/development/security. I'm sure some of HN are running Linux.
Does Linux have the potential to enter the market as a third core option for desktop usage - not really. But why does it matter?
The problem with Linux is that there are too many choices. People who like technical choices and options trend toward Linux (needs citation).
John Q. ComputerUser isn't going to use Linux unless his geeky son or nephew installs it for him AND provides support. He can't get support anywhere else - because there are too many possibilities for it to be fiscally effective.
If/When something gets confusing or broken on Windows/OS X, you call JoeBob's SuperDuperPuter, and say it's broken. JoeBob asks, "What Windows version?" While he might need to poke and pry a bit to get the user to tell him he's running Millenium edition, once he gets that data, it's a pretty straightforward troubleshooting effort and fix.
If you call some mythical Computer Service group that actually supports Linux, and say your machine is broken, they would need to know a LOT more about your system just to figure what they need to do to start.
Distribution? Parent Distribution? Shell? Window Manager? Hardware? ...
I find generic computer service companies to be extremely expensive. To be able to provide even basic service for Linux in general, your techs need to be very familiar with more operating systems (emerge, apt, yum, zypper, pacman), and more core applications. Each service effort inherently takes longer. These factors pile up and everything becomes necessarily more expensive. It's downright impractical to support Linux generically. The support costs for one or two issues on Linux would far outweigh the cost of an upfront OS license and cheaper support for the end user.
Linux has (and will likely continue to have) a comfortable hold on the technically-capable DIY market. It may not be on track to step beyond that market in the desktop arena - but that certainly doesn't indicate it's time for a toe tag.
Most of the time all that happens is virus scan -> backup -> reinstall.
Having been a small-scale Mac developer for many years, that really made me chuckle. Not since OS X 10.2 did Apple release a major upgrade that didn't break my apps and make me struggle to push an update out as quickly as possible to fix all the things that Apple broke. Apple has heard of deprecation, but they don't seem to really grok the concept.
If I had been developing for Linux, I could have simply tested on pre-release versions of the distros I wanted to support and would have been ready when the new versions were released. On OS X I would have had to have paid a prohibitive fee for that privilege.
In any case, this article made me happy. You see, for so many years, I used a Mac, and everybody said "Apple is on its last legs; the Mac will be dead in a few years". Apple had to scramble to compete, and that drove them to provide such a good product. But I knew that situation might not last forever, and I was right. After seeing the turn that Apple had taken over the last few years, I switched to an Ubuntu laptop six months ago.
It's refreshing, once again, to be using an OS that people are calling "dead".
ADDED: jrockaway's comment, added while I was writing this, hits it just right: "I think the issue is that getting everything working requires a deep understanding of each component and the system as a whole." Which is what makes it so frustrating, even to very intelligent people who have other interests than computers in and of themselves.
I've been using Linux for the last decade and every year it gets better, more polished, more integrated, featuring a better design; I hear more & more people talking about it and using it. Linux is more alive than ever on the desktop!
Depending on your needs, Linux can make an exceptional desktop. Yes, true, it is not for _everyone_, but then again neither are Windows or MacosX.
Personally, I've been primarily a Mac user since the Mississippian superperiod, but I used an X-11 Windows(™) environment (on top of FreeBSD) for years at work. I don't miss it, even one iota, but I know plenty of smart people who prefer that sort of thing. De gustibus non disputandum est and all that.
Additionally, OSX is no linux replacement. Bash is completely different except for cd, rm, and ls.
Linux desktop is an OS for people who are willing to invest time to get an utterly fantastic, fascinating experience. It doesn't suit modern instant-gratification culture, no, and yes, it takes experience and expertise to get the most out of it, but once you get there, it's bloody amazing.
I'd recommend having it as a small hobby as well as tool, so you can spend time learning and figuring things out and broadening your knowledge.
Disclaimer: Using Arch Linux with the i3 window manager. No, it's not for everyone, but I absolutely love it.
I also have a Mountain Lion MBP, but AFAICT, I will be leaving the Apple cart after it dies and I'll be 100% Linux.
I need it for work, and I wouldn't have it any other way.
Linux has been for those that like to get dirty and it is doing that job quite well. Canonical came a bit late to the party and wasn't large enough to matter. RHEL just went after the servers. To make a fair comparison, Linux should have had a big player backing it strongly on the Desktops / laptops 10-15 years ago (like Google is doing now with Android). HP and IBM did their half assed attempts, but they were never really behind it completely.
I have a Mac, and use it for some things, at times. It's nice, for sure, but I love the openness of Linux, even though, of course, there can be many very painful hardware issues (video, sound, etc), all of which I have experienced at one time or another.
I am wondering - I hear Google is working on a "Android desktop". Would that perhaps maybe change things regarding the "Linux desktop" a bit?
An Android desktop will be a proprietary desktop built on top of an open source kernel.
It might be terrific, but it won't fulfil the dream of a free software OS and desktop.
Now if I need to fire up Linux for a project, (usually for a microcontoller or such hardware that needs C), a virtual machine or appliance that I can launch from Windows 7 does the job. This is also how I keep Windows 8 contained, safely in a virtualized box that I don't have to deal with it, unless I need too... ;)
By the way, in my oppinion only a small fraction is buying Macs because of OS X, it's the Hardware. Design and Usability of Ubuntu is a lot better than OS X at the moment.
As I wrote on my blog recently:
"In the [past three years], Linux has grown — albeit slowly — in desktop usage. After nearly 2 years of no growth (2008-2010, lingering around 1% of market), in 2011 Linux saw a significant uptick in desktop adoption (+64% from May 2011 to January 2012). However, Linux’s desktop share still about 1/5 of the share of Apple OS X and 1/50 the share of Microsoft Windows. This despite the fact that Linux continues to dominate Microsoft in the server market."
It may be in third place in a desktop market with primarily three OSes, but usage has never been higher.
As I discussed in this article, most of the original reasons that stopped Windows / Mac users from using Linux years ago are no longer valid. However, the irony is that it's easier than ever to get by with a Free Software desktop, but harder than ever to avoid proprietary software and lock-in, thanks to the rise of SaaS and the personal data cloud.
I agree with de Icaza that the "Open Web" is more important these days than a Free Desktop. But the linked Wired article's conception of Open Web refers to things like HTML5, JavaScript and CSS. These aren't the problem. They are an open delivery mechanism, yes, but usually for proprietary software.
Modern SaaS applications accessible through the web browsers using open web standards are the modern equivalent of an open source Perl script wrapping calls to a closed-source, statically-compiled binary.
You can read more about my thoughts on this in "Cloud GNU: where are you?" http://www.pixelmonkey.org/2012/08/18/cloud-gnu
the whole talk by itself is very recommendable: http://youtu.be/MShbP3OpASA?t=23m45s
I think the Linux desktop simply has more options for experienced users. I simply see no way how I could be more productive with a GUI designed to cater to lusers.
It's getting really irritating when someone who's jumped ship to OSX declares it "dead" because they have a shiny iDevice and an expensive laptop.
This is compounded by most distributions having a lack of centralized vision on how everything fits together. They are merely a collections of individual parts rather than a collection of parts that are designed to work well together and they lack the polish as a result. While the lack of centralized vision was fine for SunOS circa 1992, it simply doesn't cut the mustard in 2012.
Ubuntu seems to be trying to push such a centralized vision with Unity, but I fear they lack the clinical editorial willpower to make the hard decisions required to see it through to its ultimate conclusion.
But the GNU/Linux project had a very different objective. Fighting for freedom. If it is still freedom the driving force, then we should encourage the enthusiasts and get back to work on improve Linux, as it has been done for the past years. By doing so Linux already reached the excellence in some fields.
If you're just competing on features, you'll be missing some great benefits and enjoyment. And to be honest, in terms of features OSX isn't that good either as Windows is still used by the majority for one reason or another.
But anyway, a more interesting question could be: What does it take to bring an ex-linux user and now happy OSX user back to linux?
I used Windows for 3 years, then linux for 2 years. During that time I did a lot of installations (mostly ubuntu and debian) on a lot of different devices. During this time, while fighting with drivers, minor display problems, and spoiled windows users I lost my faith in linux as a desktop os and switched to OSX.
I can just speak for myself, but this few points would bring me back to linux in no time.
Presenting Distribution "Utopia"
1. No X11 based display stack, it is replaced with something conceptually simpler (like cocoa).
2. (Multiple) monitor recognition 100% accurate. (Probably connected to Pt. 1)
3. The audio setup is not much worse then the one of OSX.
4. Throwing Gnome and everything that is based on Glib out. It's 2012 there alternatives to faking oo with C. Qt isn't allowed either.
5. Throwing APT out. No more dependency management for a desktop OS please. Then kill Perl as requirement for running an os.
Ahhhhh, I feel better now :-). This is the opposite of what Miguel demanded, he cares for backward compatibility.
When I think about it. "Utopia" would be similar to Android. No fear to throw old stuff out.
Android as a foundation for a new desktop linux?
Unsanity ShapeShifter hasn't worked since OS 10.4
and I know about
http://magnifique.en.softonic.com/mac - 10.5 only
http://www.marsthemes.com/crystalclear/ 10.7 support claimed, but it's not very radical. I'd love xfce's window look controls or a Stardock windowblinds.
I know Apple don't want anybody to do this. I know they will deliberately introduce changes that break hacks. But as I said, how can it be more effort than Linux?
-----
2. To try to prevent OSx86 hacks, DSMOS.kext uses crypto to prevent the system running essential UI elements like Finder, SystemUIServer, etc. Can't we build our own versions of those parts? http://en.wikipedia.org/wiki/Apple%E2%80%93Intel_architectur...
-----
3. Is this true?:
Linux desktop - dying, dead
Windows 8 - trying so hard to copy OSX/iPad/Springboard/Launchpad that everybody is gonna hate its TWO UI's! (dying?)
Mac - winning, won (by default?)
I had run a Linux desktop (a Debian build mostly w/ KDE) for a while and kept getting hammered with random stuff breaking for random, and often poorly considered, reasons. I gave up and went back to running a Windows deskop with a X-server to pull up windows on my Linux box.
Then I went to work for Google and they did a really good job of running Ubuntu as an engineering desktop (calling their distro Gubuntu of course) and I thought "Wow, this has come quite a ways, perhaps Linux has matured to the point where there is at least one way to run it reliably. And so I installed Ubuntu on my desktop and tried that for a while.
For "using" it, it was for the most part ok if once every few days I did an apt-get update/upgrade cycle. For developing it was a real challenge. Pull in the latest gstreamer? Blam blam blam things fall over dead, update their packages (sometimes pulling git repos and rebuilding from source) to get back working, and now apt-get update/upgrade falls over the next time because you've got a package conflict. It is enough to drive you insane.
I have Windows 7 on the other partition mainly to play games.
There was a minor issue with Ubuntu trying to melt the CPU in my laptop the other day, but its not so bad since I upgraded, and I found this powertop thing that also helps.
i like osx, I think it does have a good ecosystem for GUI APPS. but at pretty much everything it fails. It's a performance nightmare and the filesystem makes me want to punch a kid in the face(yes sorry, I also don't think you should be doing opengl in javascript, but hey) everytime it kills the cpu.
Now, with all the mentioned above I do wish there was a better ecosystem for app development. I mean something like xcode 3 not 4. Yes we have QT, yes we have glade, but build an app with the interface designer and bindings, mvc concepts and it just helps a lot.
You can do most of it with Vala, granted, it's just shittier documented and not as "round", there are no standard concepts to follow, etc. And yes, I do like my linux customizability, but we have stuff like CERT best practices for secure C coding. Why can we not get something like that for linux gui programming.
ps. gnome3 can go right where it came from
I switched to OSX for exactly the reasons the author mentioned. The fact that I have an awesome UI + ability to use the shell all day is a huge win for me.
However, people cannot switch to OSX. The machine that ran Windows XP and Linux WILL NOT run OSX. So, no, you didn't switch to OSX, you purchased new hardware that is strictly controlled (motherboard, video card, etc).
Then, in an incredible blunder, de Icaza said, "Many hackers moved to OSX... working audio, working video drivers, codecs for watching movies..."
Uhhhh, yeah, if Linux gave up on supporting scores of hardware platforms and hundreds or thousands of hardware components, OF COURSE it would have working audio, video drivers, and codecs.
Needless to say, the sound didn't work. And the wireless didn't work. When I clicked "suspend", it said it was out of swap space. When I closed the lid, it crashed.
And since most things are web-based now, a vanilla KDE setup + Icon-Only Task Manager is awesome enough for me.
That aside, what we have here is a thread apparently devoted to shitting on the work of people who built something for fun and gave it away for free.
Good job folks!
What? How? I've got an iPhone and have never felt like having a Mac was a must. Am I missing some major parts of the system that don't work if you don't have a Mac?
This pretty much describes the root cause of nearly all the impediments to the adoption of FOSS in general and GNU/Linux in particular by the general public. It touches everything from backwards compatibility to documentation.
I like OS X too and had a Powerbook for years but all other things being equal I'd prefer to develop and deploy on same OS and Linux is just fine for development so far.
Not to mention the problems we had with our streaming servers and ffmpeg. It turns out that there was a big flame war on libav vs ffmpeg, and someone from the libav camp managed to get the ffmpeg package marked as deprecated (it's not) and redirected to the libav package on Ubuntu's apt repo. So we're stuck either compiling from source or running our own repo. Seriously? (fwiw, the rationale is that libav pushes new versions more frequently)
Could the UIs and third party application situation be better? Of course. But considering all the garden variety crash bugs, power management bugs, lockup bugs, video driver misbehavior, hit and miss peripheral support, and in general just analysis paralysis about what hardware I should buy, and even then there is a less-certain future with regard to regressions.
Even given Windows's monopoly power in the commodity desktop and laptop markets, its reputation for dealing with sleep and drivers is only so-so compared to Apple Hardware and Software. If Window's monopoly power -- which buys you full attention from hardware manufacturers and their driver divisions -- only gives you mediocre results, what are the odds that a bunch of kernel hackers who receive almost no continual consideration from hardware vendors have a chance? To me, it looks like absolutely not a chance of becoming stable over time. I have completely given up on Linux laptops for this reason: by using desktops with Linux only I have cut out a lot of the problems, but not all of them. It's a kind of medicore that I can bear.
I want someone to sell me Linux distribution on a laptop that simply will not break over in its kernel-oriented features in five years of upgrades. I want that distribution to stop-ship if it a new version introduces a power management bug to an old laptop, and do whatever it takes to work around some lousy hardware bug or whatever. I want them to do whatever to work with Skype (such as statically linking whatever libraries, etc) and test Google Hangouts to make sure the webcam and microphone works. And it they don't work, they absolutely cannot ship. Until that day, I use Linux -- and I do mean the kernel in most of these cases -- as my personal operating system most of the time in spite of these problems because of my professional and philosophical needs, and not out of preference in any other dimension.
I don't even know what that would look like. Does anyone else?
Maybe a registered farm of devices that test distribution release candidates.
"I mean, look at OS X itself. Sure it's doing fine, but powered by iPhone and iPad, not by people wanting a new desktop. And it still has minority marketshare despite being from one of the most profitable companies on earth and despite Microsoft's repeated weird Windows-rethinks."
Basically, path-dependant lock-in means we're lucky not to be using x86-based wPhones that don't even have web browsers. The linux and open web communities have achieved amazing things, enabling Apple's comeback along the way.
And also the horrible aping of other environments and stupid UI eyecandy. Given that the majority of linux users and developers are technical, that's surprising.
The first attempts were Mandrake and Conectiva. Canonical has been doing a good job lately, the problem is that the platform is now beyond hope on the desktop, it simply doesn't gather traction from 3rd party developers - the most important thing for a desktop OS. You're pretty much limited to the FOSS utilities that exist on the repositories.
Anyway, my bet on what "killed" the Linux desktop would be the Windows OEM licensing terms. Nothing really killed it because it was always a very specialized product.
Do we always have to see a problem when someone doesn't make the same choices we do?
I was kind of hoping those two things would each help drive the other forward.
Because the developers have moved on to greener pastures.
Of course, it all boils down to green at the end of the day.
Design. Design is what killed the linux desktop. It never had it. OS X has it. Even windows, crappy as it may be, has it.
Before I go on, let me say that Design is NOT "making it look pretty". In fact, thinking that this is what design is, is what leads many linux advocates to reject the needs of design.
Apple's work looks pretty-- because it is designed to function well.
Design is about usability and understanding the user and making an interface for the user that works well according to the users understanding, perspective and needs.
Design is an engineering discipline.
Seriously.
The Linux community hasn't had that, and I've seen many of them reject it. In fact, you can see it in the rejection of apple's patents. This is why they think that apple patents are not original is because they reject that any engineering went into them. But that's just one example. You see it all the time in lots of contexts. Look at the UIs of Linux... they didn't design one, they just copied windows.
Literal copying is about as far from design as you can get.
Sure, over the years, designers have taken cracks at bringing design to linux, including the work of Ubuntu, but it is rejected by the community.
Rejection of design is a cultural trait of the linux community. They reject it as a discipline, doesn't even see that it exists. (broadly speaking, of course.)
But as users, they have been influenced by it and many of them have switched to OS X because it is the best designed operating system.
And then they write long blog posts about how its wrong that OS X does things a certain way ... based on their lack of design perspective that would let them see why things should work that way.
Its ironic.
But its fine- if you want to run a linux desktop and don't value or care about design, more power to you. Won't ever fault someone for making that decision. We should all use the systems that we prefer.
But the culture that doesn't value design, and can't even see it as an engineering discipline, is going to have a great deal of trouble making something usable by the mainstream.
> I got maybe three hours of the supposed 7 hour battery
You should have taken it back. Seriously.
> Perhaps I'm set in my ways
You hit the nail on the head here. There's nothing wrong with that but most of your complaints amount to "this is not what I am used to".
> the absolute insanse window switching behavior
On Windows and Linux I cannot switch to an app bringing all windows to the front, I have to do it one at a time. Anyone used to one behaviour could claim the other is insane just because it is different.
> the piss poor excuse for a terminal
What on earth are you talking about? The Terminal app? Get iTerm2 or something else then. If you don't like gnome-terminal you don't whine about it, you just install urxvt or whatever.
> the fact that apps continue to run in the background after you close the last window
The fact that you have to have visible windows for an app to run on Windows and Linux could be perceived the same way. What if I wanted to switch back and use that app again?
hit cmd-q to close an app.
no idea what you mean by insane window switching behavior.
you gave no examples of how Ubuntu/Fedora is better to rebut on UX. care to share some?
Here's the point you're missing. The overwhelming majority Linux users don't give a flying hoot about the average user or mass adoption. They just want a system that gets out of their way and let's them do their technical tasks. Linux succeeds and excels at this because it is precisely designed for that niche and curated by its end-users.
There are however people who do care about mass adoption, i.e. Canonical, "Linux Advocates". Generally they're either emotionally invested in Linux for some reason or they get a paycheck for their work. These people are the minority of Linux users.
Saying the culture doesn't care about design is absurd, it's the non-technical user we don't care about. Let's not conflate the two. Looking at a piece of software like XMonad or TMux it's hard to not appreciate the elegance in it's design. It's just different form of design that say iTunes or Photoshop.
That's precisely what Linux fails at. Most minor UI/desktop-related tasks that are hassle-free with Win7 or OSX take far too much time. Time that most people don't have and don't want to invest.
Example: doubleclicking on a .ttf file in the Xfce file manager (plain Debian Xfce) does nothing. Right-clicking offers various unrelated applications. Copying the file to an appropriate font directory does not "install" the font so it is visible to applications. No, I have to shut down all terminal windows and restart them to be able to use the font. Do you see an advantage in this? I don't want to spend time doing (or even researching) this when I could be developing instead (with the best console font known to mankind please!). Desktop Linux just lacks basic functionality and wastes people's time.
Sure, I was fine developing with fvwm2 or twm 15 years ago and did not mind using xfontsel and "xset fp rehash" back then, but today it feels like an unproductive waste of time when Win7 and OSX (esp. OSX) do not "get in my way" in any conceivable meaning of the phrase when I just want to develop stuff in an environment that I can adjust to my liking.
If you think Linux on the desktop hasn't failed for and abandoned by most technical users, you're delusional.
Actually, I'd say the same of Windows, if not more so. I far prefer the Windows 7 interface to OSX, it's just stuff like the terminal/command prompt that really lets Windows down.
And I think that is the main point here: Linux might lack design graphically, but the Linux command line is about the most beautiful thing out there. There is an abundance of elegance there is probably only rivaled by some Lisp machine.
Who knows, maybe, I will switch from OSX to Linux because of that at some point. It is certainly tempting.
I'm not sure. Windows has some overall design, but also has tons of design neglect.
One example: due to static compiling and linking, you often get programs (and lots of them) that still use Windows 98 like Open/Save File dialogs, instead of every program automatically getting the latest OS standard widget with late binding.
Or things like the Metro/Windows dichotomy in the latest version.
Windows always feels design by committee to me, and one where some manager can have idiotic ideas and no developer/designer can shoot it down.
Design is an engineering discipline.
Design isn't engineering discipline. It is certainly a discipline and deserves respect but the reason software engineers fail at design so often is that it is different discipline with a different mindset.
Apple's work looks pretty-- because it is designed to function well.
Here I simply disagree. Apple's look pretty because they are designed well. I don't find that they function well in terms of usability - that I have to use the mouse for nearly everything is a usability nightmare. The way they've hidden file system is also a usability nightmare. But enough prettiness and responsiveness, Apple can still feel enjoyable to use without being more useful or even as useful as Linux or Windows.
In fact, you can see it in the rejection of apple's patents. This is why they think that apple patents are not original is because they reject that any engineering went into them. But that's just one example.
Wow! Holy leaps of logic, here we've got the disingenuous conflation part of the rant. For the sake of argument, the particular way iOS or OSX is designed might indeed be a work of genius but the patents Apple is hurling Samsung are not for that unique approach but rather are a disgusting grab of the right for anything vaguely like iOS or OSX, which would include really badly designed things.
Jeesh...
I thought it was designed well. So what does that make me then?
"if you want to run a linux desktop and don't value or care about design"
But I do care about design, it just sounds like you and I like different kinds of design.
Linux copied the Windows interaction paradigm (and everything else too - fvwm95/afterstep/olvwm/cde/etc) because the goal wasn't to create a new method of interaction and suffer from two adoption battles, but to appease people complaining about how Linux wasn't intuitive (after they'd already gone through one UI learning curve). Ubuntu will never ship with a default tiling window manager (certainly not the "best" design, but it's a novel design).
> based on their lack of design perspective that would let them see why things should work that way.
If a user desires for their operating environment to function in some way, they should be able to develop that customization, full stop. I use 24 virtual desktops with windows generally maximized, switching between them with [Alt+]F1-F12. Is this good design, especially for the average user? Hell no. But it fits my desires and is quick enough that I can't understand why people desire multiple monitors. The idea of someone saying my setup is 'wrong' from a design perspective is laughable, and only serves to illustrate the bounds of the field.
> This is why they think that apple patents are not original is because they reject that any engineering went into them.
Sigh, back to this again? Nope, what's being rejected is the idea that engineering an implementation of a concept should get you the rights to the entire concept through a "concept plus computer" patent. Where's the novel signal processing algorithms to clean up capacitive touchscreen input? Instead, we get descriptions of straightforward processes in terms of vague programming idioms.
No, I'm talking about knowing that users are faster and more efficient when the menu bar is at the top of the screen rather than attached to windows. Design makes people more efficient. Undesigned things, or poorly designed things don't care about these factors, or do them half assed.
> The idea of someone saying my setup is 'wrong' from a design perspective is laughable,
This is because you reject design. You claim it is marketing. You reject it as an engineering discipline. That's my point.
>Where's the novel signal processing algorithms to clean up capacitive touchscreen input?
Patented, and you guys claim that the patent is disproven by the existence of "touch screens" in the past that worked by pushing one layer in enough that two wires touched closing a circuit.
> should get you the rights to the entire concept
The only people claiming that the rights to an entire concept are involved are those who are trying to claim that these are bogus patents... which is either profoundly ignorant or completely dishonest.
The process of getting linux to boot, and then run usably -- with wireless networking and sound -- was too hard. If you got as far as being able to actually get work done, you claimed victory and used your machine as a continuing monument to your success.
In 2001, when I switched from Linux to OS X, the mere fact that I could go buy a machine, turn it on, open a terminal, and type 'ls' was enough to make me switch. It still took hours to get a portable machine working reliably with linux -- and it took 2 machines if you wanted wifi to work at the time. One to get wifi working, and another to look up the documentation and download whatever you needed.
Even as I'm back on Linux, I don't think of buying anything other than a ThinkPad, for the fear of returning to that worthlessly hellish place.
I believe that the lack of "strong-D" Design you refer to is because Linux's desktop is pretty much the ultimate committee-driven project. It's very democratic: great for preventing abuse, but rather bad when it comes to vision.
Most of us here know how difficult it is for one person in a company to drive an idea through without it being diluted; countless product companies have gone bust over the years because of committee-induced paralysis. It's much worse when you have a distributed group of volunteers who rarely, if ever, get to meet.
Maybe collaborative development is incapable of producing something as complex and difficult as a clean, well-designed desktop environment and API? Forking, competing spinoffs, factionalism are all useful things in some ways, but they're death to this kind of project.
The Rails community seems to manage.
If you want to make a system popular, start with the people who are actually using it. Linux is used by technical people, so why are they putting us off with silly animations and glossy layers that will break in the next upgrade? OSX is not easier to use either, it has many nonintuitive quirks but they stick to their design and improve it instead of overhauling it.
Look at the responses to my comments-- almost all of them defending linux make comments that show they don't understand what design is. They think it is how it looks.
>OSX is not easier to use either, it has many nonintuitive quirks but they stick to their design and improve it instead of overhauling it.
I suspect you simply haven't used OS X much. It was designed correctly and is intuitive. The reason you think its "unintuitive" is likely you've been trained to use a broken system that was not designed correctly and thus what feels "natural" to you-- which is actually learned behavior-- feels wrong on OS X.
Meanwhile, Apple has continued to improve their design, and in the rare case where they got something wrong, they fix it -- for instance, they reversed the direction of scrolling to make it more intuitive... move the finger up on the trackpad and the page moves up on the screen.
They don't need to overhaul it because they have been improving it for 3 decades....
They've done such a good job at it, that you think they havent' done anything!
Twitter clients used to be a playground for new UI concepts, none of which came from Apple. The Sparrow mail client was a good example of something probably more influenced by Tweetie than anything else.
Even Apple doesn't have a ton of consistency. iTunes continues to baffle me with random changes things like what resize does. The App Store app shifted the window management buttons.
So I don't buy that the OS X ecosystem is a "cathedral" at all, just a bazaar with better taste.
What's interesting is that I noticed the standards of design for Mac apps were significantly better than Windows apps when I "made the switch" several years ago; and these are for apps that were not coming out of Apple. I could never entirely figure out why; the ecosystem was just more attuned to details.
I posit that Apple was helped by having the right people excited long enough to get a great ecosystem going.
Linux didn't die because it's a bazaar; every modern app ecosystem (OS X, iOS, Android, the web) functions like a bazaar. Linux just made it absolutely painful to set up shop.
Windows is nothing but mature. Billions of hours running, automated bug reporting, millions of developers, nth generation tools.
The problem that linux seems to have, is that everyone wants everything and so everything gets thrown in with configuration options to change absolutely everything.
I don't think, however, that lack of good design - or even seeing the need for it, is isolated to linux - in a very real sense, I think most of the population is usually oblivious to it - they just know whether something is easy to use or not.
This "design," argument is a floppy, magical, hand-waving fish. I know what design is. I design software all the damn time. I am sensitive to interface and expectation. I want as little friction between my tool and the thing I am creating.
In that regard, as a software developer, OS X is a piss-poor experience. Using emacs on the thing is ripping years out of the cartilage in my fingers due to the masochistic meta-key layout that I've had to accustom myself to. It's terrible.
The eco-system of package management systems on OS X is infuriatingly shoddy. Between macports, homebrew, and fink -- none of them can seem to get it quite right. They have to compete with the user-land eco-system that Apple ships. Half the packages are broken. And I can never bloody well find any configuration files anywhere once it has installed something. It's ludicrous how much time I've wasted trying to figure out how in the seven hells you're supposed to get MySQL or Postgres to run on the damn thing (there are half a dozen ways at least by my reckoning and google's).
Their /design/ isn't the best design there is. They are designing for someone, but it surely isn't me. If you happen to fall into their mold then I'm sure you're as happy as a clam but don't think the entire world of people are just like you.
To you. Not to everyone.
> Look at the UIs of Linux... they didn't design one, they just copied windows.
Yes, because ratpoison looks just like Windows 95. Just like.
I'm not sure he is missing it, even if he doesn't name it explicitly on the post.
For one, he was always pro good design (and trying to get the good design parts of other systems), but also, when he laments the anarchy and lack of long term planning on the Linux side, he is essentially lamenting the lack of a central design authority.
This whole thing about backward compatibility and the discussion that surrounds it is just vague. Here's a practical "true story" for you: I'm using GNU/Linux for more than 10 years now, and it is still alive.
Never had any vague binary compatibility problems either, because I'm not strangely expecting to use an ancient binary version of Gimp on my current system. That's because FOSS is source oriented, not binary. I'm not suddenly trying to use a 15 years old graphics card whose driver is longer in the kernel either, because I don't use a 15 years old graphics card.
What to do about it? Couple golang's preference for large statically-linked binaries with a one-folder, one-executable install convention and Linux may become more inviting for non-nix apps.
For example, imagine "/outside/myapp/myapp" is a large, unix-unfriendly, statically-compiled binary placed in it's folder by a OS-provided install utility. "Myapp" was probably developed for Mac or Windows and by design does not give a damn about /etc, /lib, /var, etc. These app should just be allowed to crap their configuration files into the home directory into which it has been placed ("/outside/myapp"). If one no longer needs the app, the folder is deleted along with everything else the app created while it was being used. Tidy. Behind the scenes such an app would be compiled to call the standard Linux APIs, yet it would probably avoid any dynamic dependencies. Disk space is cheap. Just bundle it all together and throw it somewhere where it can run in peace.
Amiga's icon files are another approach. Rather than a large, monolithic registry tracking everything in the system, executables exist in tandem with an "icon" (.info) file. This file is generated by the OS and tracks the executable's location and other settings in the workbench (desktop). A modern reincarnation could potentially track anything. Instead of accumulating registry filth with every uninstall one can simply remove an executable and its associated .info file. Instead of adhering to the heir convention, the app plays nicely in its own folder with it's own registry. By using an ".info" file, portable non-nix installs could reside anywhere, and not in a prefabbed "/outside" folder.
The smartphone penchant for portable installation should come to nix, particularly with non-unix software. It should be encouraged, and that's coming from an OpenBSD user. Unix needs a playground for non-unix apps.