GarrettBartley.com

What Linux is Lacking

DISCLAIMER: I understand that some of these gripes are distribution-specific to Ubuntu, but I’m also pretty sure that none of the hundreds of distributions out there have it right yet. In my opinion, Ubuntu is the closest.

While Linux has made leaps and bounds for it’s user-interface and -friendliness, Linux still has a LONG way to go before serious consideration as a desktop OS replacement for Windows. In a fit of frustration this past week, I whipped out an Ubuntu 6.10 CD and partitioned off 30 GB of free space for a Linux install. Overall, Ubuntu is my personal favorite Linux distribution. The team is headed in the right direction, however, Linux is inherently flawed by two of its main selling points–flexibility and diversity.

There are thousands, if not millions, of ready-made, kick ass open source applications for Linux. All of them have their strengths and weaknesses and generally to what they were intended to do pretty well. However, each one requires a different dependency library. I’m pretty sure that you can find two applications that do the exact same thing and still require two different libraries. Why can’t they decide on a standard set of libraries? Installing applications with the Synaptic Package Manager is fairly easy. It’s not for a newbie, but anyone with half a brain can probably still find their way around it. However, when you want to install a simple MP3 player (such as XMMS), there are at least 2 or 3 other packages that have to be installed to get it to work the way you want it. Why? And the cryptic names of some of the apps and their dependencies can scare away even proficient computer users. Seriously folks, with Windows, I just find the program I want, download it, double-click, and it’s installed. No scary libraries or dependencies–it’s all taken care of for me.

With all these dependencies, if we could standardize on some sort of common API or libraries, interoperability between apps would increase significantly. For example, Nautilus is a GREAT file manager/browser. I like it over Windows Explorer by orders of magnitude. However, when I find something out on a Windows share that I want to listen to or watch, I can’t double-click the file to open it. All the other applications on the system do not understand the smb:// URI. In Windows, I believe this is accomplished using a standard API–the Common Dialog Controls. Simple, straightforward, and it works.

Also, why can’t applications associated with a file extension (say “Movie Player” associated with MP3) play the files?! Seriously, that’s just retarded.

Why do half of the things I want to use have to be compiled? I know there are big advantages to compiling source for your system, but there’s one bigger disadvantage–I don’t want to do it. No user in an ordinary desktop environment should have to ever go to a CLI–EVER! Things shouldn’t be more than a few clicks away. Now, I know it’s impossible to keep things open and working on multiple distributions without compiling them for each distribution. But why can’t someone come up with seamless that can find and install dependencies and compile an app automagically? A cutesy little progress bar and maybe that option to view details (like when doing updates or installing things with Synaptic) would be great.

My final rant for the night comes from many failed attempts at installing Compiz/Beryl/XGL/whatever. Why are there different installation methods for different video cards? If I want to install something on Windows that requires OpenGL or DirectX, it doesn’t matter. It’s the same install no matter what. Why isn’t there that happy common API layer for me in Linux to make life a million times better? I’m sure it’s faster and more optimized, but us users can sacrifice a few nanoseconds for ease-of-use. It also seems like there are different installation methods between 6.06 and 6.10 releases of Ubuntu. A 0.04 increment requires a whole new set of instructions? WTF? I can install things from Windows 95 on an XP machine by doing the same thing–double-click. Backwards and forwards compatibility is a MUST.

I lied. Just a couple more. I’m tired of typing sudo or having to enter a password for anything remotely administrative. Why can’t I just have an administrator/root account using my name. Entering a password once is all I’m used to. I know there are security implications, etc, etc, but give me a checkbox or something to switch this on or off. I have a good firewall in place and a sensible head on my shoulders to keep me out of trouble. And while I’m complaining about passwords, make user and group management simpler. Under Windows, I can do many users to many groups and it’s easy and straightforward. In Linux, it seems to be a one-to-many. Many users to one group. Chmod 664, 666, 774, etc is just too damn confusing when I want two users to be able to access the same file but lock everyone else out. It has never made sense to me as well as millions of others.

I think I’m done. Now don’t get me wrong, I’m an avid fan of Linux, and have been using it in a server environment since Debian 1.1 (my first distribution). However, it’s finally coming of age where I can consider it as a usable alternative to Windows on the desktop. I’m even writing this post in Linux, but still have to reboot into Windows to do just about anything on my Windows shares, or open a terminal and type “sudo mount -t smbfs -o username=guest,password= //10.13.37.100/Downloads /mnt/downloads” to mount a Windows share. Or I can edit 100 lines in some config files to do it on boot. In Windows, doing the same thing is 6 easy clicks away. All I have to do is remember the share location–if not, I can easily browse to it.

In summary, things need to be simplified away from the command-line and into a few clicks. And unify the underlying architecture or API so I don’t have to bend over backwards in different ways for each application. That would make me a happy user and then I may consider switching people over from the dark side. Until then, it’s infinitely easier to support my mom using Windows than using Linux.

Don’t dare to be different, dare to be the same.

3 Responses to What Linux is Lacking »»


Comments

  1. Comment by PhragMunkee | 2006/12/27 at 02:21:26

    You know, it’d also be nice to specify where icons are put in the Applications menu when installed. But that’s minimal compared to the rants above. Ubuntu does a pretty good job of it for me, but I still like having that little bit of control.

    Oh, and maybe maintaining a relational database of what dependencies get installed with certain apps, so when I remove an app, its dependencies are also removed if nothing else requires them. It only makes sense.

  2. Comment by Allan | 2007/01/04 at 23:16:04

    “Oh, and maybe maintaining a relational database of what dependencies get installed with certain apps, so when I remove an app, its dependencies are also removed if nothing else requires them. It only makes sense. ”

    Use aptitude when installing a program. It will automatically remove unused dependencies if you use aptitude to remove also (If you used synaptic or apt-get when installing then aptitude won’t know though).

  3. Comment by PhragMunkee | 2007/01/06 at 02:11:51

    So, why can’t three applications that essentially do the same thing really do the same thing? Consistency would be nice.


Leave a Reply »»

Spam protection by WP Captcha-Free