10 Days to Hardy and GNOME’s ugliness.
Following on from my earlier post on the upcoming Ubuntu 8.04 ‘LTS’ release, I fear that my prediction, albeit harsh, was pretty accurate: Ubuntu 8.04 LTS should have never been branded as a Long Term Support (LTS) release. Despite the obvious shortcomings of having β-quality software (Firefox 3.0, GVFS) and new frameworks that — statistically — are going to break things for some people (Pulseaudio is one example; gvfs another) there are tons of bugs that I would classify as ‘Medium to High’ priority and that the Ubuntu devs could not possibly fix in time, don’t know about or probably don’t consider that important anyway. Despite all this, 10 days before release, Ubuntu Hardy is a ‘joy’ to use, if you can see beyond the LTS branding, treat it like a bleeding edge linux distribution and cope with the bugs and general instability that more or less define it; compiz, nautilus, the gvfs back ends, firefox — are all great; when they don’t crash.
Sadly, they do crash. More than I’d like. While I respect the decisions of the Ubuntu devs, I believe it is absolutely clear at this stage that a release as ‘bleeding edge’ as Hardy should have never been tagged with LTS. Still, I’m pretty confident that the steady stream of bugfix ‘updates’ will keep on coming (I’m counting more than 150-200MB daily) and hopefully by June Hardy will be a solid, usable release for everyone.
The Flags
On to more pleasant things. One of those small things that I generally dislike about Gnome is its keyboard indicator applet. This is, for those not familiar with it, a small indicator showing the currently active keyboard layout in Gnome. Some years ago it was replaced by the current version (gswitchit). Some years before that, as a result of a huge controversy involving countries regions characterised by political instability/oppression/foreign occupation/etc. GNOME developers dropped what is customarily used to indicate the selected language in graphical environments, that is flags, and replaced them with a text-only indication of the language. So for, say, US English and Hellenic (Greek) you get ‘USA’ and ‘Gre’.
Despite all this, the code for the flag display was retained and accessible through a boolean gconf option, showFlags, found through gconf-editor at /desktop/gnome/peripherals/keyboard/indicator/.
The option is self-explanatory: it replaces the text indication and displays flags instead. You get to choose the flags you wish to use by placing them in ~/.icons/flags (or /usr/share/pixmaps if you want them to be accessible system-wide) in, say, PNG format and naming them after the appropriate ISO 2-digit code. So, for example, for Hellas (Greece) you get gr.png, while for France it’s fr.png and so on.
The problem with that solution? Well, the implementation is ugly. Extremely ugly, at least to my eyes. For some completely unknown reason, the developer of the applet chose to use the whole height of the panel to show the flag. This creates a very weird effect, as most widgets and text on the GNOME panels are smaller and usually padded at the top and bottom — in some cases there is no explicit padding, but due to the various shapes and implicit padding of the icons the illusion of padding is achieved.

Tonight, after enduring the ugliness for so long, I spent about an hour familiarising with the relevant code and seeing what I could do to fix things. Fixing the size thing was very easy (two lines) and a quick recompilation of libgnomekbd and the flags now look much more in tune with the other widgets on the panel at 65% of its height, and much more aesthetically pleasing — again that’s just my opinion, let me know what you think. Since I reckon few are using the flags (most people probably don’t even know about this possibility) and even fewer would actually spend time bothering with this, I thought I’d just mention it here with the hope that someone else might be interested in this ‘hack’. There’s still some room for improvement here, as the allocated ‘real estate’ on the panel is still that of the larger image. I hope that the developers/maintainers of the library and the gswitchit applet will, some day, opt for a ‘padded’ flag like the one above. The crude patch for libgnomekbd that achieves the padded effect is here. Ah, the joys of open source… :)


I’m interested in your hack, the text indicators are bland enough as it is, and I shudder to think of full width flags on the taskbar. I convinced myself to give Hardy’s Gnome another try, after 4 years of abstinance in favor of KDE, and so far I’m content with what I see. I’ve upgraded all my boxes (4) to Hardy, and so far it behaves as per the course for a Debian / Ubuntu beta (ie. with bugs and crashes, but nothing dramatic or unfixable). My take on the whole LTS thing in Ubuntu is that it’s more of a goal than an attained quality during release; that is, I expect and hope that once 8.04 reaches an optimal stability level, it will probably suffice for the majority of production usage and will be supported by Canonical more actively than non-LTS versions.
(Of course, that all coming from a guy who’d been using Debian sid in production servers for several years…)
Well, these past few days I filed 2-3 major (in my opinion) bugs at launchpad and I’ve also found another 20 or so that others filed before me and that I’m watching. In my opinion they are major (i.e. causing crashes or affecting the workflow of an application or the system), yet Ubuntu devs don’t always seem to consider the bug reports seriously, are overwhelmed by their volume and sometimes appear quite cavalier with the severity of the reported issues.
‘Not dramatic or unfixable’ may be your (and my) opinion, but it also may be the reason someone decides that Ubuntu sucks and that going back to Windows is the way forward. And in an enterprise environment I’d probably understand why.
LTS is supposed to stand for a higher quality, more ‘conservative’ (in terms of features), yet robust distribution, if 6.06 is anything to measure by — in addition to one that’ll enjoy longer term support by Canonical. Within the Ubuntu ‘business model’ an LTS release is the equivalent to RHEL, whereas other releases could be considered as equivalents to Fedora: bleeding edge, testing the waters, bug-extinguishing software.
8.04 is far from enterprise-grade right now and — realistically speaking — probably will be far from it in a month’s time, let alone in 10 days when it’s released. Given Canonical’s typical support patterns, viz. software updates, I’m afraid that unless they really change their ways and maintain a steady stream of patches and bugfixes throughout the summer, there’s no way 8.04 will be stable before 8.10 for production work.
I just wish they bit the bullet and postponed the LTS to June, as they did with 6.06. The additional time should be enough to iron most of the critical issues, and they are many, not just crashes, but usability regressions too (compiz is the major offender here).
Due to iMac’s high price I was considering to get a c2d computer and install Linux on it, in order to use it as my main desktop. Not much to do, just browsing, emails etc. Staff that can be done easily with every OS.
I was between Gentoo (my favourite, time consuming distribution) and Ubuntu. I’ve read your previous post some time ago and made me think that I should go for Gentoo (stable branch only), now I’m quite sure of the choice.
@tasso: That would’ve been excellent; sadly, it doesn’t seem like it’s going to happen.
@atma: I haven’t used Gentoo for over four years so I am probably not the most suitable person to criticise it, but I think Ubuntu would be a much more pleasant experience, even with the aforementioned bugs.
You see the thing with me and gentoo is that, I know everything about it. I know where to find help easily, I know many developers, I was an active member of the forums, I know how the documentation is structured. I know everything about it so.. when I had an issue I knew where to find help in order to solve it quickly. I was so deep in gentoo’s mindset that I couldn’t stand any other distribution for many years. Then I didn’t change distro, I just switch OS. I went for MacOSX. Ubuntu works fine for me, except from the fact that the printer still doesn’t work while Ubuntu says that it does… everything else seems to be okay.