Why Linux Has Failed on the Desktop
SlinkySausage writes "Linux is burdened with 'enterprise crap' that makes it run poorly on desktop PCs, says kernel developer Con Kolivas. Kolivas recently walked away from years of work on the kernel in despair. APCmag.com has a lengthy interview with Kolivas, who explains what he sees is wrong with Linux from a performance perspective and how Microsoft has succeeded in crushing innovation in personal computers."
how Microsoft has succeeded in crushing innovation in personal computers.
I found that rather funny. Blaming Microsoft for your own lack of creativity and ingenuity.
Besides, Steve Jobs would very much disagree.
Some of us find it quite up to the task. The choice of desktop OS is up the consumer, and their individual needs. Some people need Windows, some people need Mac. Some of us need Linux because Windows and Mac have failed on OUR desktops.
Now it's all in the marketing and politics, but on the software side it's there.
The answer is simple: Application support. That's why desktop linux has failed. Nevermind the rest of the chatter; I can tell you that had I had the applications needed, I would have switched two organizations over to linux desktops by now, possibly more.
And it's not a problem of performance; It's a question of politics. We have to convince enough software vendors to start coding in a cross-platform language/way.
Mod me down with all of your hatred and your journey towards the dark side will be complete!
And that enterprise crap in Linux saves companies an incredible shitload of money. Enterprise users also have the muscle to keep their systems up to date. The back-office stuff is the more important arena to win, IMHO.
... and that's why Linux has failed on the desktop. However, Ubuntu has made incredible progress on this front.
Desktop users are fickle
// Agent Green (Ian / IU7 / KB1JQO)
// IEEE 802.3: All 10base Are Belong To Us
One of the strengths of Linux is also its biggest weakness. If someone has a computer and for some strange reason needs to install an OS, which Linux distro do they choose? I've run Linux for years and I still can't name all the available distros. I doubt ANYONE can.
Another problem is the MS dominance over the OS market. It's hard to buy a computer without Windows and even harder to purchase one with Linux preinstalled. Your average computer user is not going to purchase a computer that won't run (because of no OS) and even if they did, when they go to the store pick up an OS, all they see is Windows.
Linux users need to stick to a Distro that works, is easy, is well known, and comes as an option to be preinstalled on computers from the majority of manufacturers, even if it is along side Windows or as a bootable DVD thrown into the box.
There is no "I disagree" mod for a reason. Flamebait, Troll, and Overrated are not substitutes.
Everyone has a take on it. Haven't we had this discussion a hundred times on Slashdot?
My personal opinion, after having used Linux quite a bit, is simply that Linux isn't ready for the desktop. While many apps have easy to install packages, a lot of apps don't. Particularly smaller, single-developer shareware kind of apps. Many of these require getting source and compiling, something my mother or grandmother won't be able to do.
Speaking of my mother and grandmother, the other thing they already find confusing enough is the Windows directory layout. Linux is FAR more complicated in that department. They'd find organizing their documents much more difficult.
Finally, frankly, I don't find the UIs all that intuitive to use. I've used Gnome and KDE. I prefer KDE, but I have issues with both. It took me a while to figure out how to drag and drop gzip compressed files from KDE. I can't even remember how it works off the top of my head, I'd have to go do it again. But it definitely wasn't as intuitive as drag and drop from say WinZip to a folder in Windows.
The fact is, Linux just isn't ready for the desktop. Don't get me wrong, huge strides have been made over the past few years in usability and I suspect it'll get there eventually, but it's not there.
Another issue is the community, which in many places is hostile to newbies. I've been insulted on more Linux support forums for asking question than I've ever been on Windows support forums. There are places to get good support for Linux, but there are a lot of really hostile ones too. Windows may have some hostile ones, but I just run into it far less frequently.
This is just my personal opinion, based on my experiences with it. Other people may have had different experiences. I still love Linux for certain things and I run a Linux box as a file server, firewall, database server and for video editing. I'd never trust connecting a Windows box directly to the internet, but I've always trusted Linux for that. But as a desktop environment, it just doesn't work for me.
The article really focuses on how quickly the desktop responds to user operations. I haven't personally found this to be a problem on the 2.6 kernels; however, to say that work is not being done in this area is unfair. Kernel Trap has had several articles on people working on CPU schedulers to address this problem, recently the Completely Fair Scheduler was merged to potentially solve this problem: http://kerneltrap.org/node/11773.
It's been working fine on my desktop since Slackware '96.
Linux on the desktop has been gradually improving, and is now at a point when it is probably pretty much equal to Windows. It may even surpass it in the medium term.
But how good it is isn't really the issue. The fact is, Microsoft has an incredible lock-in, and it is going to take many years to chip away at that. But Firefox has demonstrated that it is possible to win market share from Microsoft. The two essential ingredients are persistence and time. If Microsoft continue to stumble - as they have with Vista - then Linux on the desktop will happen more quickly.
I disagree. If all I wanted to do with my PC is surf the web, check email, chat with friend and use office apps like the "average" computer user does, I'd switch to linux in a heart beat, in fact, I did for a while. But the one thing that keeps me bound to this monopoly that is Windows is gaming, which goes back to application availability. I don't think what the article is saying is true at all. I ran linux for months and didn't notice any of this "slow speed" in fact, it ran faster than windows, if anything. Even for games running through Wine.
I'm typing this on a Linux desktop. It's a pretty hefty system (dual-core, 2.8 GHz, 4 GB RAM), but it earns its living, I assure you. It's Slackware, with a custom kernel. As I've mentioned before, my view is that the distro kernel is solely there for bootstrapping the system until you can build a custom kernel to match your hardware and your needs. It's open source. We can do that, you know.
My biggest frustration with Linux is the notion that Linux systems must emulate Windows to be acceptable (e.g. Mono), and that the Unix interface is a priori incomprehensible, for no other reason than that it doesn't look and feel like Windows. I like the concept of lightweight desktop-oriented distros like Puppy, but do not like they way they so desperately emulate Windows. Right down to the icons.
Is that all there is? We have an open-source OS here, with open source applications. If we don't like how they work, we can roll our own. Mindlessly aping whatever Microsoft are dumping in to Vista this week is dumb.
What next, DRM?
...laura
Wow you really didn't bother to read the link did you.
The author was speaking about how poorly Linux performed ON the desktop. Thinks like audio skipping and the desktop feeling slow. He was talking about how the Kernel was so slanted to big iron and the server market that it has ignored desktop performance. The was also talking about how hard it is to create benchmarks that show interactive responsiveness.
He also talked about how hard it is for "normal" users to communicate problems to Kernel developers.
What he is talking about is how Linux has failed to perform as well as a desktop as it does a server.
What most people have failed to notice or care about is this is a person that actually tried to fix problems by writing code! He was a truly working under the FOSS ideal and has given up.
Too bad so many people are dismissing what he has to say.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
Anyone familiar with how Microsoft locks in customers will tell you the same thing.
We have reached a point where neither the desktop OS or the Server OS doesnt matter as much as the apps they run. Exchange is the one app that is almost a must-have. Anyone can list all the non-proprietary stuff that runs 80% of Exchange functionality, or 50%, but does it better, and so on and so on.
Give it up, and start building something that takes Exchange on directly, feature for feature, with better recovery, and message pushing to handheld devices.
Or, maybe just shutup? This has been obvious for years. Microsoft keeps improving Exchange, Enterprises keep buying it, and everything else that goes with it.
Linux cannot exist on its own with a bunch of 50-to-80% solutions, expecting to fill the gap by the temporary pleasure of giving Microsoft the finger from time to time.
Either compete or change the game. Only Google and Apple seem to get this.
And can we stop asking this question over and over again?
.. but failing on the desktop very unsuccessfully. More and more people are using it and now even major hardware vendors are reporting great sales results of Linux on laptops. Some even say it's the least slowest-growing desktop operating system today. Linux is so crap it can't even fail properly!
My advice? Install it now and help it be even worse at failing.
Stop. Reread what you just posted. First you say it's easy to use. Then you say that you configured your grandmothers machine with four buttons she can use to access the things she uses most.
If it's so easy, why did you have to configure those buttons? Why couldn't your grandmother do it herself?
I'm not saying whatever version of Linux your grandmother is using isn't easy to use. What I am saying is that well-meaning folks like you who support Linux on the desktop always use an example such as the one you gave to show how easy Linux is to use yet, by your own admission, you had to do the setup. You had to do the configuration.
This isn't to say that configuring Windows is necessarily easy or even intuitive. However, either through force of repetition or blind luck, the average person is able to configure a Windows environment more easily than a Linux environment.
I don't personally use Linux though I have fiddled with Slack 10 and Debian so maybe my perceptions are off, but the overall point is that those who support Linux and who say how easy it is to use ALWAYS say they got a family member/SO/whomever to use it AFTER they configured it for them so therefore, it must be easy to use. That's looking at it from the wrong angle.
I wrote in a post a while back about documentation and how the biggest problem with it is that it isn't detailed enough for the average person. People, despite the innate intelligence we are supposedly born with, like to be handheld the first few times when doing something. Particularly if they have never done it before.
You and I may be able to program our vcrs and dvd players (well, not me yet. See my journal for why) without reading the manual but that is only because we have been exposed to the general process for so long that we can draw upon our past experiences to get us through the configuration. Joe Average can't (or won't depending upon how militant they are).
I don't know what the answer is because installing an OS, even as streamlined as Microsoft, Apple and the various Linus distributions have done, is still not easy. There are still questions that need to be answered to configure it that I'm certain your grandmother couldn't answer without your guidance.
Yes, once the OS is installed and configured things will just work but as has been said a billionteen times before, people don't want to have go through a long configuration process. They want to be able to put in a floppy/CD/glass block/whatever and other than double-clicking on an icon, have the software installed and ready to go.
I realize this is somewhat of a rant but those of you who work with Linux on a daily basis think that using your distro is simple and easy. Which it is but ONLY because you've been working with it for X months/years/decades/eons and know it pretty much inside and out. Take someone off the street and have them do an install of the OS or a piece of software on Linux and I can guarantee you they will tell you to do things to yourself which are not possible (except if you're a master contortionist).
Easy is a relative term. What is easy for you or I is not easy to our parents or grandparents. Those who produce Linux distros need to understand this and have it plastered all over their work spaces so every time they do something they should always ask themselves, "Is this something that Joe Average can do?" not, "Well shoot, this is simple. All one has to do is rm -f *%!@, then grep for dlist -t to be sure it was disjoined at which point they can do an apt get something and finally a make something. I can do that in my sleep!" (and yes, I know what I wrote makes no sense. That it is exactly what the outside world hears when you folks talk about doing something)
We will bankrupt ourselves in the vain search for absolute security. -- Dwight D. Eisenhower
For me, Linux offers ease of use. It "just works" on my laptop (A Dell Inspiron 9100). With Windows, I need to download a driver from ATI before I can get a resolution of greater than 800x600. Ubuntu automatically recognizes my card, and correctly sets the resolution to 1680x1050. With Windows, I need to download a driver for my wireless card, Ubuntu recognized my card and configured it automatically. Windows requires several hours to set up and install all of the drivers, software, and security updates. Ubuntu takes about an hour to have the system running exactly how I want it.
As far as software goes, Ubuntu allows me to easily install whatever I want with just a few clicks. Windows requires me to search the web for software, then (If I'm lucky) download a free or shareware version of the software, or purchase the software. I live in a pretty remote area, and there are no software stores around (Except for a WalMart and Staples that are over an hour away), so it takes me at least a few hours to get the software, or up to a week if I need to buy it online. With Ubuntu, I have it within a few minutes. Also, Ubuntu keeps all of the software on my system up to date on its own, something that Windows has no way of doing.
Don't get me wrong, I'm not a rabid Linux fan boy. I make my living as a Windows developer, so I spend the vast majority of my time on a Windows XP box. My personal computers all run Ubuntu though, as it's shown me that it is far easier to use and maintain.
Utter rubbish.
I use Linux as a PVR and it's more than up to the task. It can maintain adequate performance and responsiveness even when doing heavy number crunching. My MythTV boxes are quite often running at 100% cpu and a load average of 5 or 10.
Forget "audio skipping".
Let's try realtime video capture + realtime video decoding + 3 video transcoding jobs all going at the same time.
I can even still use my mythbackend as a desktop with very respectable responsiveness while all of this is going on.
"most people" are at a loss to see what his problem is.
A Pirate and a Puritan look the same on a balance sheet.
Yeah, actually his patches were pretty good. He taught himself C, grokked the kernel coding style, and was a presence on the kernel mailing list. He maintained the -ck set of patches for quite a while, and wrote a couple of new schedulers (staircase, staircase deadline, rotating staircase deadline) based around the concept of fairness.
After quite a bit of discussion, Ingo Molnar produced the CFS (completely fair scheduler) which just recently got merged. The bulk of the new scheduler was written in 62 hours, then finetuned over many weeks on the kernel mailing list. He gave credit to Con for proving the fair scheduler design concept, and for some of the tuning.
A number of people were disappointed by the perceived nepotism, where it appeared that Ingo's got merged because he was in the "in" crowd. I expect this is part of what triggered Con's decision to leave. On the other hand, the two schedulers are very different and it may be that one is really technically better than the other--I haven't compared the two in detail.
and she's not that computer savvy.
/s /b. In Linux it's a different command (find -name), and if you're not logged in as root, you get all these "access denied" warnings (where the heck did i put that web server root directory?).
/?". You type "man command", and then you have to scroll thru pages of explanations that you don't fully understand. (And don't get me started on the config).
Perhaps that was the cause for her lack of problems. My guess is that she didn't need much to do with the computer anyway, apart than writing stuff for homework.
An OS is like a car. The more you know it, the more you tune it, and you optimize and squeeze every little bit of performance from it to fit your needs. You install new seats, a more comfy steering wheel, cup holders, etc etc.
The problem comes with the change. One day you're sitting in your perfectly-tuned american car FR with V8 engine, and then you switch to an european car. And suppose it's a 4WD or FF with a rotary engine. For starters, the steering wheel is on what you knew was the passenger's seat. You have to change speed with the left hand instead of the right hand. You have to look to the right instead of the left.
It's much worse when you realize that the knowledge and tools that helped you to tune your old car don't work with the new car (how the heck do you fix a rotary?). It's a completely different monster, and you have to RELEARN EVERYTHING FROM SCRATCH. Lots of knowledge lost.
For example, to quickly search for a file in Windows, I open a commandline, and type dir *mask*
To get help, you don't type "command
Back to the cars analogy. If you're just LEARNING to drive, "ah, it has a steering wheel and pedals." It's easy. Of course it's easy! Because you don't know ANYTHING.
The real problem with switching to Linux is having to UNLEARN every bit of knowledge you've gained about windows with the years. It's much more painful when you're a Windows power user.
Let me take a wild guess and say you didn't RTFA and neither did the people who modded you up.
- Toby
Maybe the author doesn't grok the idea of setting the kernel to be responsive for the desktop. It's not rocket science, you know.
Of course not, Microsoft does it for the customer so they don't need to learn how to do it themselves. Would it be so hard for a Linux distro to do so as well when it is doing a "workstation" rather than a "server" install. Some distro ask and have this info regarding intended use.
I think you are exemplifying the "by nerds for nerds" attitude that the author of the article would probably argue is holding back Linux adoption.
On my desktop, Windows recognized the monitor and was able to use the full resolution with its generic drivers. Performance was terrible, but once I installed the specific drivers, it worked fine.
With Ubuntu, it simply reported "sync out of range" and there was nothing that could be done. Safe mode generated the same error, and with no UI to interact with, that's the end of it.
Likewise, when I tried Ubuntu on a laptop, it recognized the wireless card and then refused to use it. (It just doesn't work - trying to set the WEP key does nothing, it just says "activating device" and then returns to not working.)
Windows on both machines just work. Granted drivers had to be installed, but once they were installed, it just worked. No additional effort. No "sync out of range".
Now this experience obviously isn't typical either, but it demonstrates the main problem with Ubuntu: when it fails, there's no way to get help. Your options are basically to whine on forums, and then get completely useless advice like editing configuration files on a read-only CD with an OS that doesn't display a UI.
With Windows, there's a support number you can call, or you can take it to a local computer store, or ask for help among the massive number of Windows users - in short, you're not stuck with snobs on forums who think you should be able to hand-edit configuration files without being able to see anything on the screen.
"At that time the IBM personal computer and compatibles were still clunky, expensive, glorified word processing DOS machines"
.. So why on earth is everything so slow?"
... for shame Zonk ... the headline is also misleading.
"Enter the dark era. The hardware driven computer developments failed due to poor marketing, development and a whole host of other problems. This is when the software became king, and instead of competing, all hardware was slowly being designed to yield to the software and operating system design"
"However, the desktop PC is crap. It's rubbish. The experience is so bloated and slowed down in all the things that matter to us. We all own computers today that were considered supercomputers 10 years ago
"I watched the development and to be honest... I was horrified. The names of all the kernel hackers I had come to respect and observe were all frantically working away on this new and improved kernel and pretty much everyone was working on all this enterprise crap that a desktop cares not about"
"Or click on a window and drag it across the screen and it would spit and stutter in starts and bursts. Or write one large file to disk and find that the mouse cursor would move and everything else on the desktop would be dead without refreshing for a minute"
--
Why Linux Has Failed on the Desktop
"Linux is burdened with 'enterprise crap' that makes it run poorly on desktop PCs", Zonk quoting SlinkySausage.
Quoting him out of context and making him say something he didn't say
davecb5620@gmail.com
Since I don't have mod points, I'll just burn karma instead.
In short, you don't know what you're talking about. He's not talking about *throughput* which Linux does very well at. He's talking about latency and interactive performance. A system where the desktop is snappy and responsive, where the CPU wastes cycles if need be just to makes sure the mouse doesn't lag and that windows are redrawn in a prompt, synchronized way. A kernel optimized for desktop performance (have you ever *used* Quartz on OS/X?) will sacrifice overall throughput and raw total performance for low latency servicing of the things a user actually looks at on the screen. It's this perception of performance that matters on the desktop. If users sees a fraction of a second delay or stuttering in his UI, this is perceived as "slow!"
For example, my Fedora Core 6 box running on an older AMD 2800+ XP, is plenty fast at lots of things. I can compile large programs fairly quickly, and do all kinds of things. But dragging a window across the screen not only is slow, but it also can cause my audio to skip.
On the same processor (even under VMware!) Windows XP is smooth and the UI responsive. Of course under the hood Windows doesn't fair so well. I can't compile with as much raw speed, and although the UI is responsive, the code connected to it may not be executing in a speedy manner, causing me to have to wait for the computer. But the important part is that the windows draw smooth and fast. Resizing a window or moving a window is silky smooth.
Even Vista, though it ultimately is slower than XP and Linux, has a UI that appears to be super fast and slick, much faster than any Linux desktop (remember perception *is* reality). Just try to use it sometimes.
Now his patches combined with, say Compiz, go a long ways to making Linux have the responsiveness that desktop users require, the apparent schizophrenia on the part of Linux developers in relation to the desktop has frustrated him and driven him away. This is a tragedy.
And I would avoid correcting people when you don't know what you're talking about.
MythTV is not an embedded application, it's a software application that runs on a general purpose PC. I, like the GP, have a desktop computer that runs MythTV. It can record two channels at once while flagging commercials or transcoding a third TV show while I use it as a desktop or watch a fourth TV show. The audio doesn't skip nor does the desktop feel slow (as the GGP suggested) until I'm functioning at 100% CPU, which is fairly rare.
What ticks me off is that the person in the interview was trying to take FOSS to the next level.
He wasn't saying that Linux was a worse desktop than Windows. In fact the said that Windows had many of the same problems! He wants Linux to be the best that it can be. Not just good as Windows or not just better than Windows but the best that it could be.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
Have you tried Krita? It's a part of the KOffice suite, but I think it handles up to 32 bit and has CMYK and color profile support. Also, have you tried Gimp 2.3? I think it's added some more of these things that have been missing.
http://www.mhall119.com
Ever since I finished installing Yggdrasil from the 5.25" floppies I borrowed from my friend...
Which reminds me, I really ought to return them.
Withdrawal before climax is very ineffective and those who try this are usually called "parents."
Half way through the interview I slammed on the mental brakes. Linux is so famous for getting more from old hardware. My Debian distribution boots much more quickly than Windows. And waiting for me in apt-get an upgrade to a new kernel with a new "fair" scheduler. After slamming the brakes, I didn't get off the bus though. Con is a great guy, looking for 120% activity in his life. His insights are more to do with kernel development than Linux on the desktop. Con: Success with your further endeavors, and for sure you will find something related to computers quite soon. An Amiga user never gets that out of their system.
The average user has no idea how to do that, nor should they have to.
That's part of the reason why Linux will never really hit it big on the desktop.
Everything I need to know I learned by killing smart people and eating their brains.
ISTM there are two kinds of computer users: those who've learned how to use one system and those who've learned how to use computers in general. (no comment intended here as to which type the parent is)
The first can apply to any OS: the user has learned the specific, repetitive motions that get done for them what they need to have done on their specific system (usually this would be windows, but could be any OS). Their "skills" are easily translated to another system of the same type and maybe to a similar but not too distantly related system. An XP user could probably move down to win98 or up to say vista without too much difficulty, though they'd find certain things don't work the way they'd expect. An XFCE user could move fairly easily to gnome, not so much to KDE, but still okay. But if you ask this user to move to a completely different system (from any win to any linux, or from XFCE to say fluxbox or even worse to wmii (I love wmii, BTW)) then there's trouble. They don't actually have "skills", they have a set of rote responses that look like "skills" but aren't.
The second set have not necessarily learned any particular set of actions to get desired results. Instead they have learned about how computers work in general and have developed a set of "skills" for _determining_ which actions get desired results. The difference is subtle but important. Someone in this set can sit down at a computer they've never seen or even heard of before and figure out how to get something done in relatively short order. They will likely never be as productive on any one particular machine as the folks from the other set, but they will be proficient at _any_ machine in short order.
To determine which set you belong to, try something radically different from what you normally use for a good period of time and see what happens. If you give up within hours, then you're probably from the first set. If you find that you've forgotten exactly when you changed, then you're like from the second set and are probably already looking for something even more different to try.
So, after "Preview" (see what a good boy I am!), I have to add that there is probably a third set: those who probably belong in the second set, but have never fully developed that set of skills choosing instead to dive deep into the particular system of their choosing and learning it intimately. These folks can do _anything_ on their machine, but have given up their potential to learn breadth in exchange for depth.
man, I feel like mold.
First, the Slashdot article is terrible. The article isn't about "why Linux is failing on the desktop", it's about why a kernel developer who was trying to improve scheduling performance quit.
The scheduling issue is interesting. I used to work on mainframe schedulers, I've done real-time work, and I'm familiar with the issue in game implementation, so I know how hard this is. We could do better than what we have now, but not by some magic fix to the scheduler. We have to look at interactivity as a real time problem.
It is, too. Alan Kay used to say that there is no more excuse for a delay between pressing a key on a computer and having something happen than there is on a piano. We haven't been faithful to that, and it subtly drives users nuts.
One useful idea from the real time world is explicit "sporadic scheduling". Some real time operating systems have this. A process can explicitly request that it wants, say, 10ms of CPU time every 100ms. The scheduler must reject that request if the system is overbooked. If it does accept the request, the scheduler has committed that much resource to the process. If the process overruns its time slot, it loses priority and an overrun is tallied.
This is what an audio or video player should be using. This is how you get audio and video that don't pause or skip. For this to work, the player must be able to calculate, for each system it runs on, exactly what resources are needed to play the current content. This may take more analysis and benchmarking than many programmers are used to doing. It's worthwhile to make overruns visible to tools outside the application, so that users can detect broken applications. To a real time programmer, overrunning your time slot means "broken". You have to think that way.
On the interactivity front, it's useful for a thread to be able to request a high priority for a short period after an event, with a priority drop to follow quickly if it keeps the CPU too long. That's how you get the mouse cursor to track reliably. Of course, the thread that handles mouse events has to pass off all the real work to other threads, not stall the thread handling fast events.
It's also probably time to end paging to disk. When it works, paging at best doubles the effective RAM. But paging inherently results in long unexpected delays. If you want interactivity, don't page. Real-time systems don't. Neither do game consoles. RAM is so cheap that it's not worth it. (1GB starts at US$56 today at Crucial.) Paging devices maxed out around 10,000 RPM since the 1960s, and haven't improved much since. Give it up. Today, paging is in practice mostly a means for dealing with memory hogging apps. (Hint: open "about.config" in Firefox and turn off "browser.cache.memory.enable". so it doesn't save screen dumps of each page for faster tab switching.) It's probably time for Linux to not page interactive processes by default.
This implies an operating system that says "no" when you put on too much load, instead of cramming it in and doing it badly. Open too many windows of video, and at some point the player won't open another one. There's nothing wrong with that, but most Linux/Unix apps don't handle resource rejections from the operating system well.
I have 4 computer shops with 45 minutes of me that build linux boxes. All of them are quite capable of restoring one that didn't install properly. Also that support number you can call for Windows is usually a waste of time and money. Every time I've called it's been a 20 - 45 minute wait followed by:
I think once they actually gave me a MS Knowledgebase number to resolve my problem.
As for asking for help among the massive number of Windows users - I almost pissed myself when I read that. I am almost certain that the number of people who can & will tell you how to hand configure your /etc/fstab to register a HD that the system didn't recognize on install is greater than the number of people who can tell you how to go into the registry & reset it to do the same.
As for snobs on the forums, the few times I've gone to ask questions, I have seen people asking for additional information - often with very specific requests & exactly how to get that information - only to be rounded on by the original poster claiming nobody is willing to help them. If expecting you to be able to follow directions to provide the detailed information needed to solve your problem is snobbery, then I guess there are a lot of snobs on the boards.
Unfortunately I guess there just aren't as many people gellering on the Linux boards as there are on the Windows boards. Oh wait, on the Windows boards they tell you to check the MS knowledgebase & if the solutions not there - reinstall.
He's saying that someone afraid of their computer can't do it. And until Linux can be used by people afraid of their computer, it won't appeal to the majority of the desktop PC market.
You are awash in a sea of fiercely stated opinions. Obvious exits are: 'File->Quit', 'Reply', and 'Page Down'.
>if that's your issue, then create a daemon that renices the priorities of pre-set programs to
>some given level - better yet tweak the module that starts programs to nice them as they start. Works
>better than blocking the background tasks by bumping everything that's happening under a users uid, while
>still providing the lower latency issue.
Here is what they average computer user will think of your solution:
1) What's a daemon?
2) What does "renices" mean?
3) What are priorities?
4) What is a pre-set program?
5) What is a module?
6) What does it mean to block a task?
7) What is a background task?
8) What is a UID?
9) What is latency?
A work that expires before its copyright never enters the public domain and thus enjoys eternal copyright protection.
Many times a day I find myself wanting to look at one window while typing into another. Either I'm working on some data analysis and want to plot things, or I'm writing and need to look back closely at something in an online paper, or I'm using a cad program and feeding it numbers from an email or scratch paper, I'm thumbing through photographs and wand to jot down notes on a scratch terminal at the same time.
Sure, if both objects happen to be text one can do the same in screen, emacs, or your multiplexor of choice (and I do, when appropriate.) And, if you're going to be doing it a lot with the same objects you can resize your windows and tile things. But, in practice, it's always a one-off minute long task involving random graphics for which resizing windows would be a pain.
When it comes down to it, UI configurability is among the biggest drivers in my OS choice. If you ask me why I like linux, I'll give you a long, meandering, philosophically charged answer that won't convince anyone. If you ask me why I throw a fit whenever I'm forced to use a non unix-like system, the answer is a lot more pedestrian: X can be easily configured to fit my needs, and every task can be accomplished from within a well designed shell.
What do I personally need in a UI?
- multiple virtual desktops
- focus follows mouse
- no raise on focus
- per-user key remapping
- fully functional, fast keyboard control over window placement/size
There are plenty of other little window manager tweeks that I like a lot, but that's the minimum I need in order to not hate integrating with a desktop. In windows, some of it kinda sorta works if you install lots of random third party software. (Although I've yet to find a no-raise-on-focus or a per-user key remapping option. Would love to hear about one if it exists.)
In X, it takes a minute of setup time and works on every machine, everywhere, and it doesn't screw up the UIs of all the other users.
Actually, knucklehead, I was the exec editor of an open source enterprise magazine.
Right, and flamebait is insulting people just because you're an asshole. And I don't mean "you" in the general sort of sense.
No Unix or Unix-like distro has been and they've been around a heck of a lot longer than windows.
I know several people on Ubuntu who struggle with Windows. Plus, saying Unix has been around a long time and it's going nowhere is like saying, in 1994, that the internet has been around a long time, and it's going nowhere. The initiative towards a widespread Linux desktop has been around a few years, max. OSS movements take a while to rev up, and this one's doing quite nicely.
Be quiet, be schooled, thank the nice man as he leaves.
Please stop stalking me, bro.
Unix and Unix-like systems have been around for a very long time (a lot longer than windows) and have yet to hit big on the desktop.
Really? Like OSX?
Granted, it doesn't have as much market on the desktop, but it's still the second. And it only is the second exactly because of the reasons de GP pointed out.
A tweak to the start module in the kernal should be able to set the nice level of any program when it starts - giving latency sensative software more priority & dropping those insensative. Skype cares about latency - terminal doesn't care all that much. The whole point of the comment was that a process already exists to deal with the majority of the latency issues described and either a daemon or a tweak to the start module should be able to use that process & adjust usage based on the program without user intervention.
The administrator creates a file /etc/nicety that ranks programs as needed:
[programs] /usr/local/bin/Skype 15 /usr/local/bin/gterm -4 /usr/local/bin/totem 15 ...
[user]
bob 45
alice 18 ...
With the user section, you could even prevent a slob from killing the system in a multi user environment by limiting his total niceness. Anything over nice(max) results in everything being trimmed back proportionally. If you boot into single user mode, that section is ignored.
ulimit does provide some of these constraints, but it works on the whole userspace for its memory & process quotas & per process for the nice limit.
I would blame linux, not X :)
While the difference isn't nearly what it used to be, FreeBSD has always had far less of that on the same hardware and the same version of X.
Back on a 486 (and even my K6, iirc) linux could freeze for seconds under loads under 4, while at least the mouse kept working at 20 and up.
The last time I compared on the same hardware (a couple of years ago), Linux was merely "annoying" under load, rather than the older "unusable"
hawk
Seems someone didn't RTFA. CK is saying that while he was pushing the kernel to be speedy on the desktop, all the other developers were pushing it to be speedy on the server, sacrificing the desktop performance (and this is because all the others were big-corporation workers).
And yes i know it isn't "either the desktop or the server" but i can see his POV beeing somewhat right.
And how exactly does the average home Windows user set the parameters on the software they install - oh yes, it's all done automagically. Why, I do believe that installation software for linux currently adds things to the SE linux contexts when it installs. But I suppose that would be impossible to do to a simple file when your creating a module to do it.
Here how about rather than toss an idea off my head, I spell it out in a step by step process:
or
A developer [not the desktop user] modifies the module in the kernal that starts processes to set the nice level of the process according to a set record already defined in a file [in
There did that include enough detail that your straw men are dispelled? The core protocols exist to minimize the problem - nice. A patch to set the nice level on starting shouldn't be all that hard to do, a daemon to reset them after starting even easier. Your argument that a home user needs an 'admin' who understands daemons & patches etc to do this is only valid if you also feel the average Windows box needs an 'admin' to install AIM.
As several people pointed out, Con's dissatisfaction with the kernel dev team is that they wouldn't change the way nice works to better impliment it's stated purpose - splitting CPU time based on the interactiveness of a program. However, even in it's current state, a system to automate nicing the processes would resolve most of the issues people are seeing with desktop responsiveness. In combination with any of the new schedulers, it should make just about anyone happy.
The chance of being modded up is miniscule, but anyway I'm Con Kolivas. There is only one thing I'd like to point out about the whole interview. Ashton (the interviewer) chose the title that says why linux failed on the desktop without consulting me. If you actually read the interview I never once say that linux failed on the desktop.
Boy you are really missing the point. bladesjester is correct. Your "simplified" answer gave me a headache and I have been into computers since the early 80's. The "computer geek" that understands that makes up probably less than 5% of computer users. Which is as hi as Linux desktop market penetration will ever get if they continue to keep things so complex/complicated.
If you could reason with religious people, there would be no religious people
I work as a programmer and use a linux server at work. I like a lot the idea of an open system where I can modify whatever, make scripts to control the behavior of the system, etc. So I try it at home and here's what happens:
Mandriva 2006 worked on a friend's laptop so I try to install it at home. Works fine for a few hours until, for some still unknown reason, the headphones suddenly emit ear-jarring static at the maximum possible volume no matter what I'm doing or what settings I use. I try reinstalling. The problem repeats.
A few months later Mandriva 2007 comes out and I give it a try. Installation finishes and on first boot-up the system freezes on the "setting hardware clock" step. Ridiculous. I try reinstalling, same problem. Try again, this time updating from Mandriva 2006. It works, but random stuff is broken. I trash it.
But it's fine since there's this great new distro called Ubuntu that everyone's praising, right? I can't stand gnome so I download kubuntu and proceed to install. I live in Japan so I tell the installer to set the system language as Japanese. First thing I try is surfing the web, but the text is all monospaced and is hard to read. I try messing with firefox and the system settings, no good.
Ok moving on, I need wine for my japanese word processor, so I go to the system admin menu and click on the wine icon. Tells me it will install it for me. Repository linking and such and such stuff. Result? "it appears you don' have wine installed on your system". I try installing it from the package manager gui and the command line. It doesn't even know it exists.
Well, let's look some videos. I open them with MPlayer but an error message window pops-up intermittently non-stop telling me "cannot find PCM audio controller" eventhough the audio is fine. Ok, let's try finding help on the net. Only one forum post describing the same problem and the answer is, he knows how to fix it, but he won't bother because it's in the the man page. One hour later of messing with the program's config files the error message is no longer plastered all over my screen. Fine. Hey, how do I display this file's subtitles? not supported?
Well, let's try Xine. Um, why is it that when I press the scan forward/backward key it moves like 2 minutes? I just want it to skip 5 seconds! shouldn't that be the default behavior? I dig into the config files. One hour later I find the key, but it will only give me 7 seconds. Fine. I'm content watching anime until weird artifices appear. Whole parts are covered in random green pixels.
I try moving files around with the file system gui, konqueror. I can't move it because I'm not root. That would be fine, except there's nowhere I can give a su command to this thing. While doing whatever, I get random application crashes, a window with a kde gear with a bomb inside appears.
I incorrectly shutdown the system and reiserfs won't start until it's rebuilt the tree or something. 2 hours later it's done. It once ruined one of my directory trees. NTFS wouldn't even bother me with any of this.
Linux is slow to boot-up. Maybe Linux is fast but X is damn slow and clunky. When windows xp is done, Linux is just starting X, or finishing mounting the file systems.
System display on kubuntu irritates my vision. I install the nvidia driver, set the refresh level correctly and yet I can't look at the thing for 15 minutes without starting to feel bothered. Mandriva was fine.
Conclusion: Linux works well running things that have had a lot of work and testing in them, like apache and websphere, but in the desktop it's a mismash of poorly coded apps with an even more poorly integrated system beneath. Oh, and it wont't work with my tv card.