Huge problems, simple solutions

January 28th, 2007

Some times the biggest problems have the most simple solutions. And software installation on GNU/Linux is one of those problems. I’m pretty sure that almost everyone reading this knows how to install software on Ubuntu using apt-get/aptitude/synaptic (i’ll be referring to them all as apt-get from now on) and finds it extremely easy. However, most users with a Windows background don’t.

If you use Windows and you want to install some software, you go out on the web (or some p2p :p), search for that software’s website, download it, double click it and install it. I’ve read countless articles on Slashdot and OS News saying this is easier than using apt-get (please, don’t do drugs kids !). Using apt-get you just have to search and install. Using the “Windows method” you have to search, you probably won’t get the result you want at first, then you have to navigate on the application’s website, and download it and all that stuff. How is this easier ? I don’t know.

Now, i do understand that Windows users are used to this and many of them still do this and end up with some source code package for, say Xchat, and don’t know what to do with it. Autopackage came to solve this problem. However, Autopackage doesn’t care about native package management on each distro and the way it does things it’s not the best. A much better idea would be one of the following:

  • Educate users trough each application’s website. An appeal would be made by distribution managers (or even FSF) to everyone who builds applications for GNU/Linux. Then, a generic text would be created explaining quickly how to install that application on each of those distros, so the application websites could explain it even if the ones behind that application don’t use distro ‘xyz’. That way, users would learn how to do things the right way, and the next time they wouldn’t probably make the same mistake. Many applications already provide these mini guides, some of them even provide packages to some of the main distros, but not many do this and never in the same way. So the main issue here would be to appeal to everyone in order to do this and create a standardized way of doing it (it’s just a small text guide people !).
  • Instead of building packages on it’s own, Autopackage (or some similar project) could be integrated with the native software managers. Instead of containing the package or building it, it would ask the user which distro is he using, and then according to the user’s answer it would call the right set of commands to install the package (and still, inform and educate the user like the previous option).

I don’t see how any of these options could be a bad idea, but i really think that the way Autopackage does things it’s not the best solution (if you ask me it’s like killing an ant with a bazooka). And please don’t tell me “oh what about distros which don’t have that package in their repositories or don’t have a decent dependency solving installing system ?”. If the distros don’t have the package, it’s up to the application creator to pressure those distro’s packagers to package it, or package it themselves and try to get it on the official repositories. And any decent distro nowadays has a dependency solving package system. If it doesn’t then it ain’t a decent distro !

Why i hate the Linux 3D desktop

January 3rd, 2007

A long time ago, when the first articles about XGL appeared on OSnews or Slashdot, i was one of the few who were really excited about it (at least in my circle of “geekiest friends”). The videos at the time showed basically what we have nowadays, but nobody seemed to care much about it. “Oh, they’re just imitating OSX”. I can’t remember for sure, but i think at the time there was no publicly available code for anyone to try and compile. I guess it was made available later, but with not much fuss around it.

This was all before the main XGL/Compiz developer said that he was left alone in the project, and nobody else was contributing code, so he was going to abandon it. Then it came Novell, and they hired the guy. They did a couple of months of closed doors development and then, about one year ago, they opened up the code on the cvs (or svn, not sure) repository.

All this time i had been very excited about this and used to read lots of articles on the subject. And when it became available, i tried it as soon as there were packages available for Ubuntu. Ok, it was unstable, there was lots of work to do, it was normal, the project was young. One of the things that i found most annoying was the lack of features on the window manager. So i abandoned it, and came back to good old Metacity.

With time, things advanced. They worked on better support for video cards and their drivers, AIGLX appeared, Compiz was forked into Beryl. All this time i was using Metacity and not giving a damn about all that stuff.

When Edgy came out, i thought i’d give it another try. With all this time and new stuff, it had to be a lot better right ? Wrong. This time i tried AIGLX and Beryl. It was a lot slower, more unstable, the features in the window manager hadn’t improved that much, but…ooohhhh…stupid new effects ! What for ? I know they’re pretty and all that, but why the hell are they working first on new effects instead of better support for drivers, or better window manager features ? Maybe it would be nice if Metacity was adapted to it, or at least if they mimicked metacity behavior and made it “Metacity compatible” (so one could use Devil’s Pie). And what’s the thing with only having additional desktop “on the sides”. Why can’t we have them up and down like in Metacity ? Someone said to me “Because of the cube ! Then it wouldn’t be a cube !”. I don’t give a damn about the cube ! I don’t even like it (i once tried working with it for 10 minutes, and with my intensive virtual desktop usage i felt kinda dizzy after those 10 minutes). One is not forced to use the cube, and they could still maintain the “cube like” behavior if they wanted.

The stupid thing here, is that they missed the point of the whole desktop improvment thing. They are thinking about eye candy first, and usability second. And the best things about the desktop environments on GNU/Linux which was improved usability over Windows (with features like multiple desktops, and some others) are being forgotten, just because of the eye candy.

So as long as they keep failing to bring eye candy and usability together, i’ll keep hating the 3D desktop on GNU/Linux. I know, i’m not forced to use it, and i could just ignore it’s existence. But having been so excited about it in the past, i know feel disappointed.

And this is one of the bad things (IMHO) about FOSS. The lack of direction. Yes, organized projects like Gnome, or KDE, or the Linux kernel have a direction, and a bunch of people who tries to keep those projects on the line, but smaller and mainly newer projects are usually a crazy train that got out of hand. Maybe they had a well defined purpose at the beginning, maybe they have a goal, but there’s not really anyone who goes out and says “STOP ! WE’RE DOING IT WRONG AND HAVE TO FOCUS ON OUR GOALS”. Enlightenment DR 17 also comes to mind. Yeah, maybe this is the fun part about FOSS projects, the craziness of it, having lots of people with lots of ideas in constant brainstorming and no boss to tell us what to do. But if those projects want to really become something, they have to stop and rethink their strategies, otherwise they’ll be forgotten, developers will get tired and start leaving the project, and they’ll end up dying.