Does the Linux Desktop Innovate Too Much?
jammag writes "The Linux desktop has seen major innovation of late, with KDE 4 launching new features, GNOME announcing a new desktop, and Ubuntu embarking on a redesign campaign. But Linux pundit Bruce Byfield asks, do average users really want any of these things? He points to instances of user backlash, and concludes 'Free software is still driven by developers working on what interests or concerns them. The problem is, the days when users of free software were also its developers are long gone, but the habits of those days remain. The result is that developers function far too much in isolation from their user base.' Byfield suggests that the answer could be more user testing."
Does the Linux Desktop Innovate Too Much?
I think your title is a bit misleading. When you say "Linux" I think Linux kernel. Like the Linux operating system itself. What the blogger goes on to talk about are just GPL software projects that are intimately tied to Linux. That said, I could install slackware, damn small linux or any number of flavors of Linux that have none of the projects being discussed.
...
... ad infinitum. Even kernel development is done this way I believe. So you know people like Shuttleworth are trying hard to make this work. I think the last bit of criticism that's going to help them move forward is "You're innovating too much."
You can chat all you want about Gnome vs KDE and which one is bloating--trust me, that is not something I'm ever going to take a position on. I value my life too much.
I might have missed it but I didn't see anything about people wanting their changes to be seen. That's probably a big problem and you could spend days optimizing the kernel for a better experience but the average user doesn't see anything. Or you could add this awesome UI functionality to some windowing framework (compiz fusion?) and suddenly everyone's seeing it. Pretty obvious what some people might aim for
Lastly, I've noticed that some of the more mature products like to move in a even/odd fashion where one release is to stabilize things the next is to add new features the next to stabilize then new features
My work here is dung.
All they want is something that will be stable and get the job done, in a consistent manner. Often times the bells and whistles for the sake of having htem just get in the way, and damages consistency making things confusing when they don't need to be.
---- Booth was a patriot ----
all the average user wants is to chat via live messenger, check their hotmail account, look at facebook, and check how badly their ebay listings are doing... they generally couldnt give any less of a toss about everything else that is going on
portfolio
Bad features die, good ones remain. The alternative is to shove crap into end users throats.
And when they don't like it continue shoving the way Microsoft did with MS Bob aka Clippy
from MS Office. The big difference here is innovation does not occur without failiure. Open
source can afford to make mistakes. Closed source companies have to add useless and failed
features to their products, otherwise the time spend has been wasted and investors may sue the company.
Most people -- except tech geeks -- do not want to learn a new way of doing things once they learn a particular way that suits their needs.
Moreover, learning takes time and money. If your company has 100,000 employees, then training them to use a new desktop can cost millions of dollars.
If GNOME developers want Linux to take a significant share of the consumer market, then they must ensure continuity with the past. Before they embark on the next super-duper upgrade of the desktop, they should spend some time in asking their grandmothers what they want in the next super-duper GNOME desktop. Grandma's advice could help a lot.
Oh yes, another self-righteous rant attacking the directions of free software projects just because they have the audacity to venture far beyond where windows stagnated a decade ago. The article's author doesn't say much besides criticizing projects such as KDE, GNOME and even Ubuntu for their ideas regarding the desktop. And he does a bad job at it, to boot. For example, the author criticizes KDE for the audacity of thinking about implementing social networking features into the desktop. Is that supposed to be a bad thing? I mean, what's the difference of having an application such as windows live messenger constantly running and implementing some sort of widget that performs the exact same task? At least with KDE their implementation follows standards which are open and it doesn't force plenty of ads down our throats. What's wrong with that sort of innovation? Absolutely nothing. And his criticism of GNOME is pathetic. I mean, he criticizes GNOME not for innovating but for rewriting it. He hasn't absolutely any detail to grasp on and in fact the only thing he can muster about GNOME is "its final form at this stage is anybody's guess". Is that what the author perceives as innovation? And more to the point, who exactly is the author to make authoritative judgments about what the users want or don't want? His he a psychic? In fact, where was the author on these past dozen years of the desktop windows? I mean, after all these years windows is incapable of offering extremely basic stuff such as the ability to set any window the user wishes for to be always on top. And what about the ability to scroll a window without changing the focus to it? And what about getting rid of that really annoying bug that, when a user launches an application, keeps the focus on the former application while the newly launched app is placed on top of every window on the desktop? Fixing those bugs would also count as too much innovation? The article isn't worth the read. Nothing to see here, move along.
Slashdot, fix your code or at least hire someone who is competent at it to do it for you.
The best of the Apple experience is polished, user-oriented, and "insanely great" because it takes a Steve Jobs to set the vision and make every component answer to that design. That's hard to do in the FOSS world.
So I, for one, am glad Mark Shuttleworth is attempting to put some top-down focus on a user-oriented set of goals into the Ubuntu desktop. Linux has not lacked for technical innovations, it has lacked for a unified vision that elevates the end-user and a chief to get developers to sign on to that vision. Go Mark, go!
UI and workflow design and project management aren't glamorous or interesting so they don't get done.
I don't really think it works like that. It's 2009 and by now I'm sure everyone understands the value of good UI and workflow design, but it's quite difficult to do well and I'd be surprised if either GNOME or KDE don't often find themselves without the time or expertise needed to get usability up to the desired standard. Of course I would argue that there are several apps on the Linux desktop with great usability - I personally like Firefox, Dolphin and Okular, just to give a few examples. But I would agree that usability isn't as consistent across the platform as it were when compared to say Windows.
Cowboy coding only gets you so far.
Oh, okay, so the basic gist of your comment is just that the free desktop coders are a gang of useless cowboys hacking together a bunch of buggy, improperly documented crap for the riches and renown which will obviously be forthcoming from such an endeavour. How about you go and read e.g. some blog posts by KDE or GNOME developers, because you will discover that a lot of the people working on such software are passionate and proud about what they do and put an awful lot of thought and effort into trying to do quality work. Granted there are some bad apples in the bunch as usual, but I think that the majority of problems these projects face are down to lack of resources, above anything else. But hey, why not throw around inflammatory, pejorative terms like that.
Last I checked, Linux desktops were loaded with exciting new innovative features but failing on extremely basic tasks.
Perhaps the community should be asking whether it's more important that we add a fun new Swirl effect to switch to another desktop or if people would rather have a sane and complete GL API. Do we need the entire desktop to be rethought or should we simply settle for having a sane and unified sound solution?
I would have to agree in saying that the desktop linux community is getting way too ahead of itself if they think they're innovating themselves away from the mainstream. Read the NYTimes article on Ubuntu Linux and tell me whether or not they even mention innovation- They viewed it as a free but lower quality alternative to commercial systems that was very attractive but failed during basic maintenance tasks.
Why create an Earth-shattering new desktop-web interaction paradigm when users would probably rather have sane and cohesive documentation?
Here are some no-brainers, if you want to see linux improve:
* Now that OSS 4.1 is open source, drop ALSA. It is a proven failure. PulseAudio obfuscated the problem to the point of ruining audio in linux, specifically when low latency is required.
* Support forward-thinking projects like Wayland instead of putting another car on the fail-train that is X. X is architecturally inferior to WindowServer and Windows' display layer for desktop-oriented tasks. A simplified windowing system that puts graphics first and drops the cruft would go a long way in making linux seem modern and easy to maintain.
* Write documentation sometimes. Format it well an ship it with your projects!
Or, if you're really clever:
* Realize that open source != linux. Look at desktop-oriented free software sytstems like Haiku and imagine a world where Linux can be built into an excellent server (or mediocre workstation) and desktop users can have a system purpose built for their priorites! There is no rule that says that linux needs to be the only free system. With the magic of things like POSIX, we can write software that runs on either!
The strength of open source should be versatility, not futility.
Dream big.
I'll dive right in because this story popped right after I've reinstalled my main console, and I had to reinstall exactly because of my desktop getting "innovated" so much it was crippled. Maybe all these complaints of mine have already been covered elsewhere. But Linux GUI desktop developers had better get their stuff together and start thinking about how to make the GUI desktop quickly navigable for the full range of everyday work. (Not just for simple tasks, and not the new interface idea the GUI developers invent each month after a round of 'shrooms.) Between the Gnome Project's obsession with castrating its core programs' options, and KDE's obsession with making a new KDE app for every single type of application yet not being able to get its desktop and window decorations to be intuitive, I'm looking back at svgalib days with fondness. Or maybe Windows 3.1 days. Maybe I'm getting older. Maybe I used to have more time for this kind of involuntary "adventure" than I do now. Right-clicks and resizing task bars should not have to be treated as uncharted waters for a user at this point.
On my main console machine, I've had Kubuntu 8.10 for a few months, "upgraded" from 7.04. It was clear that 8.10 had damaged the configs unsalvagably - it still refused to mount USB drives so that the normal user could read them. I always had to remount manually on the command line. Yesterday I just wiped the whole OS off my machine (except for moving my old home directory out of the way) and installed Kubuntu 9.04 clean. We'll see how it goes. If this doesn't behave like something other than a damaged system within the next couple weeks, I'm switching to Xubuntu or something - at least it resizes and moves almost anything when you click on the edge, instead of having windows do one thing, tool bars do another, the "desktop" box another. I switched away from Ubuntu to Kubuntu because I couldn't stand Gnome apps censoring any option that didn't fit an 8-year-old kid's reading level. (Fortunately Gimp and Pidgin ignored the the rules. They were hard to learn for their own reasons anyway, so what did they care? At least they could be learned though - Pidgin only played moving-target once when it switched from Gaim.) Now I'm thinking of dumping Kubuntu because there are hundreds of options somewhere, but I can't find them. Xubuntu (what little I've used it) seems to behave very politely on my dual-boot laptop.
Kubuntu 8.10 should never have happened. KDE 4.0 should never have happened. KDE 4.1 shouldn't have even happened. Plasma (KDE's new desktop interface) is too clever by half. It is extremely non-intuitive. I've dealt with Apple II Plus system monitor prompts through ProDOS with AppleWorks, through years of custom BBS menus in ANSI, then Windows 3.1 through 95, 2000, XP, and Vista, with a liberal helping full-screen DOS apps, OS/2, and old X display managers whose menus only appear when you hold down Ctrl or Alt. Yet I still can't figure out how to get the KDE 4 taskbar to form 2 rows of tasks instead of just growing enormous icons for no reason when I change the size.
Anything non-KDE inside KDE is, of course, not quite equal. Firefox has "nice" rounded GUI element emulation in Kubuntu 8.10 but hides things like window tabs under other things (like the web page) when I launch it directly from the menus - but has simpler buttons and works fine when I run it from a shell prompt inside Konsole! How come Firefox has a different skin from Konsole than directly from the KDE menus?!
P.S. while I'm ranting: Why does the KDE "Utilities" menu have an icon that looks like a console prompt, then Konsole isn't in that menu?! Konsole is hiding in System, among the control panels. And how come KDE 4 sometimes does the same thing with right click as left click? If I right-click, it's because I didn't like what the left click did and I'm looking for some other option! Argh!
That is a very valid viewpoint to hold. You can most certianly say "I don't owe the user shit." It is your software and you are nice enough to let others use it. Thus they can use it on your terms.
HOWEVER, when you do that you lose any and all right to claim that your software is "better" for the user or "what they should use." If they have objections to the way it works, you need to be graceful and say "Ya, my software doesn't do that well, I don't care to fix it so if something else works for you, go to it."
The problem is that there seem to be a number of OSS types that want to have their cake and eat it too. They evangelize an "OSS for everyone," position. You should use all OSS all the time, it is the One True Way(tm) and gives you better software because everyone collaborates. However, when a user then says "Hey this doesn't work as well as my commercial app," they get angry and say "You didn't pay me, I'll do what I want, fix it yourself if you don't like it."
Sorry, can't have it both ways. If it is a situation where you think your way is the best way and you want everyone to use it, then you've got to work to accommodate users. You need to make it do what they need as good or better than their old apps. On the flip side if you want to offer it with no support, you then need to offer it as is. Don't push it as being things it isn't and won't be.
This is a problem I've run in to with people trying to covert me to Linux. I tell them the things I want to do, but can't seem to. They then give me things that aren't real alternatives. When I say "This doesn't do what I need," I get told that I either "shouldn't do that" or that I "should write it myself." Sorry, those aren't legit options. If you want me to use your stuff, it needs to work for me. If you don't want to make it work for me, then don't push it as a solution for me.
Honestly, I think that is part of the problem.
Bear with me for a moment: where do elephants pack their cloths when they go on vacation? In their trunks, of course. Now, this is a joke that you or I get right away. There is a pun involved, i.e. the two meanings of the word "trunk," and the ambiguity of the context provided by the elephants. Now, tell this joke to the average 7 or 8 year old, and watch them as they repeat it to other children. It is quite likely that they will tell it incorrectly, leading to a joke that doesn't make sense (i.e. they might replace "trunk" with "suitcase," or forget that elephants are involved). They understand that the joke is supposed to be funny (people laughed when it was told, so it must be funny), but they don't really understand why it is funny, because they don't really get the pun.
I think that they same might be true of many developers. They see UI elements in software like Mac OS X, Vista, MS Office, or other programs, and understand that these elements must be important. However, they don't really get why they are important, so when they clone them into their own projects, they come out misshapen and not quite right. They clearly understand that the element is useful, and that people want it, but without understanding why it is useful, or why people want it, they end up with something that doesn't make sense.
Rhapsody in Numbers
X is architecturally inferior to WindowServer and Windows' display layer for desktop-oriented tasks. A simplified windowing system that puts graphics first and drops the cruft would go a long way in making linux seem modern and easy to maintain.
The graphics subsystem in Windows is a frame buffer graphics library poorly retrofitted for asynchronous calls. X was designed from the start for asynchronous client/server communications and operation in a separate "window server". X got it right 20 years ago. After two decades and several rewrites, both Microsoft and Apple have finally arrived at an X-like architecture.
There are some parts of X that aren't being used much and where desktops like Gnome have their own systems (e.g., Gnome configuration data and DBUS communication). The solutions adopted by the desktops are generally still inferior to the original X mechanisms.
If anything should change, it's that people should take a good hard look at Gnome and KDE and get rid of some of their windows-inspired cruft and replace it with better X-based solutions. This may involve an overhaul of some X mechanisms (X properties and events probably aren't up to the demands of a modern desktop, but that's fixable), but the principles and approaches embodied by X are superior to the "single user desktop PC" view of Windows and its clones.