Archive for August, 2008

Linux sucks – Firefox

Sunday, August 31st, 2008

The default browser in Windows has a feature called “autoscroll” which makes scrolling in web pages using the middle mouse button very convenient. It also has a convenient single-keystroke shortcut for going back to the previous page: backspace. Firefox on Windows offers this same behavior.

Firefox on Linux behaves very differently. Despite the fact that Linux is now a modern desktop operating system (theoretically usable by “normal people”), many of its applications stick to archaic conventions, presumably to avoid irritating long-time users. Autoscroll and backspace-goes-back are both disabled by default on Linux, and can only be enabled by toggling hidden preferences in the about:config feature (which presents the user with a scary warning before allowing them in). I don’t really know why the backspace feature is disabled, but autoscroll is probably disabled because in the past it may have conflicted with an archaic feature that also used the middle mouse button: contentLoadURL. contentLoadURL was a dangerous feature, which would attempt to use whatever you had copied to your clipboard as a URL whenever you middle-clicked. I call it “dangerous” because with the advent of tabbed browsing middle-clicking went from something done rarely to something done all the time – and any time you missed a link you were trying middle-click you’d end up on some random page (or an alert would pop up, telling you you’re trying to load an invalid location). Fortunately this horrible feature is disabled by default nowadays, but autoscroll still hasn’t been enabled.

One might argue that following conventions is good, but conventions on Linux are tricky; you can follow archaic conventions from the days when users were expected to understand the differences between PRIMARY and CLIPBOARD, or you can follow conventions that 99% of computer users nowadays are used to.

While all of this is clearly Firefox’s fault and there are plenty of other browsers to choose from, Firefox is the default browser and the only reasonable choice (many websites block browsers other than Microsoft Internet Explorer and Firefox, and others render incorrectly in other browsers).

The solution to this, by the way, is to go to the URL about:config and set browser.backspace_action to 0 and general.autoScroll to true. You may also want to set browser.urlbar.doubleClickSelectsAll to false to get more Windows-like behavior.

Update Oct 12: Using the default Ubuntu theme and Gnome options, the tab strip doesn’t have enough empty space. It’s nearly impossible to drag links between two existing tabs because the target area is extremely small (you always end up dropping things on an existing tab), and it’s also impossible to double-click empty space to create a new tab (there is no “empty space” that I can find).

Linux sucks – Sound

Sunday, August 31st, 2008

Sound on Linux sucks.  This has been an issue since the beginning, and it has gotten a lot better, but it still really sucks.  Any given application is likely to support only a subset of the numerous sound systems (OSS, Esound, aRts, ALSA, PulseAudio) and if it doesn’t support the one you use you’re likely to run into at least some trouble.  Sometimes there are wrappers available (intended to make it possible for a technically-inclined user to get problematic applications working) but they’re not 100%.

The root of this complaint in my case is Skype.  Yes, it’s an evil proprietary baby-seal-clubbing binary, but it’s what my friends use to communicate and it’s the #1 VoIP app.  In order to get Skype to work properly, I have to quit all other applications that are playing sound, even if they’re not currently doing it.  I can’t leave Rhythmbox paused – I have to quit.  If I’ve watched a single YouTube video with sound, I have to quit Firefox (this is really obnoxious if it means I’ll have to log in to a site again after Skyping).  If any music application is still open, Skype just gives me a lot of:

ALSA lib ../../../src/pcm/pcm_dmix.c:874:(snd_pcm_dmix_open) unable to open slave

I’ve tried using the padsp wrapper with the statically-linked OSS skype binary (honestly, should anyone really have to know any of those terms just to chat online???) but the sound quality is basically unusable due to static noise.  I can understand the desire of developers to rectify mistakes in previous sound subsystems, but not providing seamless backwards-compatibility paths for at least ALSA and OSS seems inexcusable to me.  Note that I would be in the same situation if I had an old open-source application that was just unmaintained and too complex for a hobbyist developer to fix – this problem is not inherently caused by Skype’s closed-source nature.

I can’t even remember having issues like this in Windows in the past 10 years.

Update: After a few months, I eventually got Skype working!

Linux sucks

Sunday, August 31st, 2008

I am a linux user.  I currently use 64-bit Ubuntu 8.10 as my primary OS on my home PC, and various versions of RHEL at work.  I used Linux on and off in the late 90s, and I’ve been using it consistently since 2001.  I switched to using linux full-time at home about a year ago; it had finally reached the point for me where enough things worked well enough that I was willing to give it a serious try (and I wasn’t sure which of my XP CD keys was not already in use when I built my latest PC).  Over all, it works pretty well.  Unfortunately, there are things about it that I really hate – and that’s what this series of posts will be about.  My complaints may be universally ignored or merely prompt flamewars, but if I’m lucky, some good might come from it (it’d be great if a complaint motivated someone skilled to fix one of my issues).

I feel qualified to complain because I can tell whether or not something works.  I’m not a chef, but I know when something tastes bad.  I am a (hobbyist) developer and have contributed extensively to the various Mozilla projects (Firefox, Thunderbird, SeaMonkey).  While it might be possible for me to fix some of these issues myself, I really don’t have the time anymore to learn another large codebase.  “Patches welcome” isn’t a helpful response.

Technically, very few of my complaints are about the Linux kernel itself, but from a practical standpoint this is irrelevant.  If I have a problem with Gnome and I don’t have that problem with Windows or Mac OS, for all practical purposes it is a problem with Linux.  “You could use KDE” is not a solution – free software often provides many programs that can accomplish a given task, but they all suck in one or more ways.  Some of my complaints are related to proprietary binary-only applications (or drivers), but again, they work in more mainstream operating systems.

Stay tuned for the first post.