Not logged in
Log in now
Create an account
Subscribe to LWN
LWN.net Weekly Edition for May 16, 2013
A look at the PyPy 2.0 release
PostgreSQL 9.3 beta: Federated databases and more
LWN.net Weekly Edition for May 9, 2013
(Nearly) full tickless operation in 3.10
An Early Look at GNOME 3.0 (Linux.com)
Posted Mar 1, 2011 21:07 UTC (Tue) by coulamac (guest, #21690)
Posted Mar 1, 2011 21:43 UTC (Tue) by Trelane (subscriber, #56877)
Posted Mar 2, 2011 10:25 UTC (Wed) by lkundrak (subscriber, #43452)
Posted Mar 2, 2011 15:59 UTC (Wed) by Trelane (subscriber, #56877)
Posted Mar 1, 2011 22:20 UTC (Tue) by GhePeU (subscriber, #56133)
That said, nice review. I'm happy to see that I'm not the only one who finds the new application-switching methods clunky, slow and distracting. I'm also happy that someone is finally pointing out to the insular nature of GNOME 3 development. If you check the gnome-shell mailing list archives you'll find that this issues have been repeatedly and independently pointed out by numerous users since the shell was originally announced and available for testing, and repeatedly ignored by the developers because of this mythic and unchangeable "design document."
The review misses also the latest news, including the disappearance of the advertised "classic mode" who has been somehow replaced by the "fallback mode": the panels will be locked down because they must mimic the shell look-n-feel (https://bugzilla.gnome.org/show_bug.cgi?id=631553). So if you like GNOME 2, don't upgrade until you're forced.
Posted Mar 1, 2011 23:37 UTC (Tue) by elanthis (guest, #6227)
I've started minimally on this, but it's a huuuge amount of work. More than I can do given my schedule (full time school and full time work == no personal time).
I hope to at least get it to the "builds installs and runs" stage so that it's worth asking for more community involvement. Named EXDE mostly because all the other names I could think up don't have an available domain name. (pronounced Ex-Dee, or EXalted DEsktop.).
Gnome 2 needs more work. The panel is too configurable in a bad way (too easy for a user to render it unusable, and the applet placement has always been annoying) and there's plenty of bugs and usability nits to address. It's just unfortunate that the gnome guys decided that instead of fixing those they'd just add a shitload of new ones instead.
Posted Mar 1, 2011 23:51 UTC (Tue) by Frej (subscriber, #4165)
Posted Mar 2, 2011 0:32 UTC (Wed) by wonder (guest, #64293)
Posted Mar 2, 2011 6:53 UTC (Wed) by paulj (subscriber, #341)
Posted Mar 2, 2011 1:03 UTC (Wed) by drag (subscriber, #31333)
There is a interesting website that I found a while ago:
It shows off a bunch of fun things you can do with Ubuntu Gnome desktop.
( Especially entertaining was the conkycolors and lua scriptings for conky. I never imagined that conky could look that cool. It's certainly improved my conky (of course only after liberal editing of the configuration conkycolors produced. :) )
One of the things that I found that may be of interest is 'Elementary' project (of sorts). The idea is take Ubuntu and Gnome and turn it into something else.
http://www.omgubuntu.co.uk/tag/elementary/ (another fun website)
This is fairly interesting:
A Emailer application written in Vala that integrates into Ubuntu properly. Pretty fantastic stuff. And guess what? It isn't Evolution!! :D I have my doubts about it, but if it can handle IMAP correctly then it may be the miracle I've been looking for.
The whole project is pretty interesting and they are not hammering anybody over the head that it's open source. They are not forcing compiles or anything like that. They provide nice binaries via PPAs and that is pretty cool. It's a refreshing attitude.
Here is the ultimate ambition:
I am not to hip to the whole dock thing, but it can be moved to the side then I can live with it. :)
I figure if anybody wants to fork anything they should at least join something like that that is future looking. As long as it maintains binary compatibility with Ubuntu with everything then I think it's very cool.
BTW.. I love PPAs. Just love them to death. The whole "Launchpad" thing is pretty dubious, but PPAs are a work of genius.
Posted Mar 2, 2011 6:00 UTC (Wed) by elanthis (guest, #6227)
Actual stuff is being stripped away. Bugs are being not-fixed because they're in "compatibility components" that the gnome devs don't care about. Whole reams of features have been stripped out or just left broken. The new control center is a usability abomination, half-browser and half-doesn't-ever-work. Metacity's compositor has been broken for over a year and the bugs I file get closed as wontfix "we don't give a shit use mutter or go away."
It's a lot more than just uninstalling the gnome-shell package and setting a few gsettings keys. Especially as the code gets stripped out for the features and layout the gnome guys don't want anymore. Like locking gnome-panel into looking and acting solely like the gnome-shell panel (which is the crux of most users' complaints with gnome-shell -- its "panel" is utterly useless).
The gnome guys want gnome-panel to disappear entirely. They want Nautilus to lose its ability to manage the desktop window. They want Metacity to fade away. They aren't doing this right away _solely_ because gnome-shell/mutter require OpenGL and the Linux graphics stack still sucks so much. If it wasn't for their incredibly poor technical ability (just make mutter/gnome-shell work over cairo, they don't need OpenGL for anything they're doing, and cairo can be hardware accelerated for image scaling if the graphics stack supports it) and the inability for Linux to get decent graphics drivers then gnome 3 would have already completely eliminated the actually usable gnome 2 UX.
In terms of future-looking, that's what I want. Gnome-shell is not the future, at least not the future of desktop PCs with large monitors and mice rather than tiny touch-based screens. The community can't do those things if the core components are bit-rotted and thrown away.
We don't need or want gnome-panel. We need an updated, evolved, cleaned up gnome-panel. A gnome-panel that gnome won't accept or have anything to do with, even if I submitted all the code directly to them. Metacity needs a new, stable compositor, that can use xrender or opengl depending on hardware/driver capabilities. Nautilus needs its desktop window support to actually be expanded and bugfixed so that it's not obnoxious as hell to use on multi-monitor screens and renders and arranges dekstop icons intelligently and has a desktop menu that actually does something useful.
That all requires forks, because gnome won't have anything to do with improvements to any of those components because they're just there for fallback mode until they can finally force the unwanted gnome-shell down everyone's throats and then stop maintaining all the old desktop components.
Posted Mar 2, 2011 7:06 UTC (Wed) by drag (subscriber, #31333)
You have a lot of points that are valid if they matter to you. It's your time and I would be happy seeing you doing something that would make you happy to do. Seriously.
But this is a red herring. "2D acceleration" no longer exists for modern hardware, or at least any hardware going forward. You'll probably see it on embedded systems or Via's crap, but all that is going to go away also. One way or the other. This means that it only requires marginally more work to get basic OpenGL support then fast XRender support. And OpenGL is more important then XRender as on modern CPUs the 2D performance is just fine on pure software.
This means your choice isn't going to be between 2D or 3D acceleration... it's just a choice between having acceleration or not at all. Compositing is going to suck no matter what if you don't have decent acceleration. I think a Xrender-based compositor has VERY limited utility.
But you can do what you want. I just don't want you to put a lot of effort into something and you end up with the last time somebody put a lot of work behind a serious effort into (semi-)forking Gnome.
On a semi-side note.
I recently built a new machine using All-AMD chipsets just because I appreciate their efforts. AMD CPU, AMD mainboard chipset, and ATI 5770-based video card. I was afraid I was making a huge mistake, but with a rather insane setup using xorg-edgers PPA (beta Mesa + New X + beta ATI drivers) on Ubuntu 10.10 I am very surprised by the quality of the experience. I'm even running 2.6.38 kernel.
I am using the Gallium drivers and despite throwing random games at it running compiz, flash video, (simultaneously) and trying different things that normally caused issues for me in the past in Linux with OSS drivers.... it's been dead stable. It's amazing and I doubt other people will have similar experiences, but for me it's working fantastically.
Devils are in the details
Posted Mar 2, 2011 9:56 UTC (Wed) by renox (subscriber, #23785)
So don't claim that 2D acceleration is identical to 3D acceleration even if they use the same hardware and drivers: this is only true if the drivers are flawless..
Posted Mar 2, 2011 12:11 UTC (Wed) by drag (subscriber, #31333)
It's really bad form for applications developers to be forced to hack around Linux being shitty. It's better just to fix Linux and application developers can concentrate on using the APIs that are most appropriate for what they want to do.
Otherwise what your really doing is forcing the application developers to force users to make the choice between something that runs like crap versus something that crashes their computer. Choice is not a good thing when all the choices suck.
Posted Mar 2, 2011 13:16 UTC (Wed) by michaeljt (subscriber, #39183)
Currently that means using proprietary graphics drivers for many people, which is something a lot of Linux users don't feel comfortable with. As far as I can see, the Nouveau people and their colleagues are putting in a heroic effort to "fix" their bits of Linux, but it is hard for them to promise anything on a predictable time scale.
Posted Mar 2, 2011 13:19 UTC (Wed) by rahulsundaram (subscriber, #21946)
Posted Mar 2, 2011 14:14 UTC (Wed) by michaeljt (subscriber, #39183)
The Nouveau people are still very cautious regarding their 3D support, and warn people not to use it on production systems. Of course delivering more than they promise is much better than promising things and not delivering...
Posted Mar 2, 2011 16:34 UTC (Wed) by drag (subscriber, #31333)
It's actually faster then the older more traditional DRI drivers already.
I am cautiously optimistic that we have reached a similar situation with graphics that we saw with wifi... were the introduction of mac80211 protocol stack actually provided the basis for making it easier to write great working drivers for the majority of the hardware.
Posted Mar 3, 2011 9:46 UTC (Thu) by rahulsundaram (subscriber, #21946)
Posted Mar 2, 2011 14:01 UTC (Wed) by renox (subscriber, #23785)
Well it's called being pragmatic and wanting to have your application being available now, not several years in the future..
KDE developers do maintain a 'blacklist' list of features, but apparently there still wasn't enough testing (perhaps a lack of communication?) as I remember reading some complaints about HW-acceleration bugs..
>It's better just to fix Linux
Except that it's just wishful thinking:
1) some HW don't have open specifications!
2) Application developers may not own the problematic HW
3) plus fixing HW drivers (especially complex one such as 3D drivers) is a very different skill than developing applications.
>[cut] Choice is not a good thing when all the choices suck.
Welcome to the real world.
Posted Mar 2, 2011 14:40 UTC (Wed) by mjg59 (subscriber, #23239)
No. It may require different knowledge, but the skills are exactly the same.
Posted Mar 2, 2011 16:21 UTC (Wed) by drag (subscriber, #31333)
So is having a good experience with a desktop that is designed to both use XRender and OpenGL to do the same thing. :P
> 1) some HW don't have open specifications!
Yes. This sucks. But there is plenty that do, or at least are 'open enough' that they work out well. Nowadays we have enough hardware on the market made by Linux-friendly-enough companies that I think it's pretty reasonable to expect that if people want to run Linux with the "Full Desktop" experience that they can obtain the necessary hardware.
And like I mentioned before: On modern hardware there is no longer 2D. It's not simple like that anymore. Drivers capable of driving XRender are going to be capable of doing other stuff. It's a API that is designed for hardware that doesn't exist anymore, I suspect. I am sure that other people understand the details better.
What we really need is a DE environment that is willing to depend on fully functioning subset of a particular popular API. OpenGL is probably just fine in this regard. It should concentrate on just working with that set of assumptions. Not trying to support multiple APIs and forcing users to choose when they have neither the knowledge of the hardware or understanding of the environment necessary to make a proper choice.
Then we need a 'lite' fall back were there is no acceleration available at all. That all your expected to be using is just pure software rendering or bit blotted display or something like that. Even if it ends up slow because application developers learn to depend on a properly configured computer it is not terribly important. It just needs to work.
> 2) Application developers may not own the problematic HW
This is what quality assurance and test suites are there to deal with.
Live CDs, usb drive images, automated benchmarks. It's easy nowadays to setup previews and things that people can just download and run. No compiling necessary or deep understanding. Trace logs and scripts to help providing debug information to developers should be built into the evaluation environments and nice documentation on what developers want needs to be provided. Information on the experience of the tester can be uploaded automatically or be sent with a press of a button.
It's often very useful to have the folks that QA be completely different from the folks that develop. Programmers are often 'too close' to the software to be able to see how users will approach it and what issues they will find. This helps issues get identified quicker in many cases.
Posted Mar 2, 2011 11:16 UTC (Wed) by ovitters (subscriber, #27950)
Note: I'm one of the GNOME sysadmins.
Posted Mar 4, 2011 22:30 UTC (Fri) by elanthis (guest, #6227)
Also, having gone over a lot of recent GNOME changes in git, it seems that a lot of the core modules really are just moving away from what we want. I can see a few maintainers fighting the good fight (like the gnome-panel maintainer thankfully telling McCann to sit down and shut up when he asks for sweeping removal of any GNOME 2 compatibility... if only everyone would do that) but it seems a losing battle. The mystic hobbyist design guru-wannabe is getting away with too much and getting too much of the code I'd need to build off of to be flat out ripped out of the modules. If they were just configuration changes, I could just repackage GNOME with some patches to the stock configuration as gnome-exde or something; instead, though, I need to flat out fork.
I've actually started reinvestigating XFCE. They have no public docs on design goals or anything, but it does seem like they're trying to clean up a lot of the crufty horrible UI and move more towards what GNOME 2 used to represent. Their primary problem is not a lack of desire towards a good desktop but a lack of manpower.
It may be better to try to get more support for XFCE from the community rather than fracturing it, or trying to fight against disinterested GNOME developers.
I'm going to dig into the XFCE code a bit more tonight or this weekend and see where that goes. There's a few hugely annoying UI warts that I may patch and see how well the XFCE community responds to changes that may remove some old-school UNIX uber-nerd-never-got-laid configuration options (like a text entry for strftime formatting for the clock applet on the panel? and no default entry for what is clearly the most popular and desirable format for most US users? WTF people!?) and gear things towards a better out of the box experience for people who don't know about, care about, or want to care about CDE or UNIX heritage.
Posted Mar 2, 2011 14:41 UTC (Wed) by walters (subscriber, #7396)
I doubt anyone would object to doing what you're talking about in the context of the GNOME git repository and discuss it on desktop-devel-list. Though of course for some of what you're talking about, you may break old applets, so I'm not sure you'll be satisfying the hardcore GNOME 2 user.
Posted Mar 4, 2011 23:07 UTC (Fri) by elanthis (guest, #6227)
I can measurably show how many of the gnome-shell UI design idioms are actively harmful and in complete opposition of much of the work of the old HIG and general, well-known good design. I've had a few discussions with a few of the Microsoft UX folks (living in Redmond has its advantages, even if I am living in the Belly of the Best. ;) and they're backing up a lot of the hunches I had about this stuff. (On a side note, many Microsoft employees are pretty cool; many of them even have Linux machines for personal use, although they rarely contribute to FOSS because of the legal reasons. I'm good friends with one of the guys who previously worked on the core .NET networking layers, who quit because he got sick of the Microsoft corporate idiocy, despite loving .NET; he was pretty bummed that he's permanently barred from working on Mono because of his previous involvement with the upstream .NET source. I've heard from more than a few Microsoft games folks that they wish to God software patents would die, that copyright expired within five years, and that releasing source to projects after they enter the public domain be mandatory... too bad the lawyers and executives don't see things the way their engineers do.)
Back on topic of gnome-shell's UI anti-features, take the example of the application "menu." There's a reason all the major OSes use a drop-down/pop-up menu for that: pointer locality. A drop-down menu means that the following click will be close to the original click. With gnome-shell, I have to put my cursor in the upper left corner, and then possibly move it to the far right (on a 30" screen) to select the application I want. On small netbook screens, it may not be all that bad. On touch UIs, that issue is completely gone. On conventional desktop computers, it's a big problem that makes the gnome-shell UI harder to use, more stressful for the arm, etc. On the other hand, those kinds of good-for-mice menus are bad for touch. This goes to another point of design: you have to actually have a target device in mind. There's a reason that iOS and OS X have some very different UI behavior, despite being very similar looking from the 10,000 foot overview perspective. OS X is meant for Big Computers, and iOS is meant for Little Devices. You simply CANNOT make a UI that works well for both. gnome-shell has chosen in many places to take a UI that works well for little devices while in other places still being very clearly designed for big computers. It's a horrific mix of UI design patterns that ends up fitting neither class of device particularly well. The design isn't "incomplete," it's flat out incorrect. Unless gnome-shell plans on including two UIs (which would not be hard given its CSS/JS implementation) optimized for different screen-size and input-device classes, it's a dead-end UI project, based purely on measurable, quantifiable aspects of how the UI is interacted with based on three decades of collective UX knowledge and wisdom from the professionals.
As another example, take the separate widget set for the shell, which breaks consistency, harms discoverability, duplicates engineering effort, etc. There's no good reason why gnome-shell's run dialog should look like it does, for instance; it's needless variation from what every other app looks like. Gnome-shell's widget set is just as bad as XMMS or mplayer-ui or xine-ui or any of those other weird custom UI applications that GNOME used to stand firmly against with the investment in and adherence to a well-researched HIG. It's still not clear for intance that the "Windows | Applications" text in the overview are really just weird-looking tabs rather than being labels.
A final issue is the screen-edge magic for the applications/windows menu. Windows 7 has something similar for the show desktop (bottom right corner) that can easily be turned off, and for good reason: it's very difficult for me to use a mouse on Windows 7 when the laptop is sitting in my lap, and the mouse tends to move around on teh armrest a bit, often ends up in that corner (that's the reason corner hotspots are supposedly so great: they're very easy to get to with a mouse device), and all my windows go away. With gnome-shell, I'd end up with the same obnoxious effect, except there's no way to turn it off like in Win7. A touch device does not have this problem; but then, a touch device has absolutely no use for edge/corner hotspots, either. Desktop PCs don't usually have this problem, either, but laptop users can. So gnome-shell has a design that's optimal for touch devices, except where it's optimal for non-touch devices, except where it's optimal for small screens without pointers, except where it's not optimal for being used with notebooks at all... it's schizophrenic UI incarnate.
Back to your original comment, I'd like to note that "being GNOME 2" is not important to me, nor should it really be important to anyone. Being anything _specific_ is not important; being a good, usable, consistent, desktop-PC-friendly environment is what's critical.
The only problem I have with change in general is when it happens too often. Users don't like constant change. Once they learn something, they want it to keep working that way, unless the "way" is just horrifically difficult, slow, or error-prone. Moving icons and menus around for discoverability's sake means that a handful of new users save a few seconds each and hundreds of thousands of existing users lose several minutes each (it's easier to learn a new thing than to relearn an old habit). So I was irritated with how GNOME 2 and its core apps tended to move things around with every release while trying to home in on an optimal "best n00b friendly UI" at the expense of its existing userbase. Even in the Windows world, which is often criticized for not changing enough, I've seen multiple people go into a borderline rage over changes from XP to Vista/7. Things like the Add/Remove Applications menu for instance moved from Control Center to My Computer. I personally had never used WinXP much, so when I got my first Win7 machine, I ended up looking at My Computer for that menu first and was pleased to find it there. Other people threw a fit because they couldn't find it because they had 10 years of repetition training them to go to Start->Control Center->Add/Remove Applications, and now it was gone. Users hate change, unless the change actually fixes something that was annoying them in the first place.
Change is still necessary, sure, especially when you got it really wrong at first. But if you only got it a little wrong, or you just _think_ you got it wrong and are just wildly guessing at what might be better, change is bad bad bad, and it should not be done. In other words, "don't fix what ain't broke."
Posted Mar 1, 2011 23:54 UTC (Tue) by Frej (subscriber, #4165)
Posted Mar 2, 2011 0:53 UTC (Wed) by fmuellner (guest, #70150)
Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds