Let’s make linux rock just the way it is, part 1

I was reading this guy’s blog entry about the linux desktop (it was on osnews or something), and while he does make a few good points, such as how the file manager could be improved, most of the article is just whining about he thought he had installed OSX but ended up with Linux instead.

Before going into any detail, I feel like I need to re-state this fact in bold text because it appears to be something that people forget: LINUX IS NOT WINDOWS OR OSX, AND OSX AND WINDOWS ARE NOT LINUX.

Everybody has their way of doing things, and I’ve never thought that limiting choice is a good thing. If Linux worked just the same as OSX or Windows most people would have no reason to concider using it (guys, when it comes down to it, cost does not matter as much as you might think. Most people buy a pre-built computer from someone line dell these days which comes pre-loaded with an operating system).

If you like windows or osx, don’t complain about linux not being the same, keep using your current operating system. We are happy you found a way to be productive on your computer.

His main complaints that stood out to me - and what I am going to focus on in this blog entry - are first that it is too difficult to install and manage software in linux, and second that the linux filesystem layout is broken.

He gives OSX’s AppFolders as an example and says that this is the way to go (in linux we would compile each application into it’s own prefix).

To be honest, I used to think the same way. But I have come to the conclusion that this is really just completly stupid. In windows we have the registry as the single location for all system configuration, in linux we have /etc. This rocks for backups and deployment, etc. The filesystem layout isn’t what’s broken, what’s broken is that people are trying to maintain their linux systems as if they were windows/osx.

I completly agree: It is currently too complicated to manage software for most people. However, I do not think we need to try to completly redesign the filesystem to fix this.

The main problem is that users who migrate from windows to linux (or perhaps from OSX as well) are used to going through the following process when they want to install new software:

  1. Find the vendor website (via google or whatever)
  2. Find the download link
  3. Wait for it to download
  4. Navigate to where it was downloaded to
  5. Open the installer
  6. Wait for the application to install

If a user tries to do this same process in linux they will quickly discover how impossible this is in most cases.

Obviously in linux the process is quite different.

  1. Open the package manager
  2. Search for the application you wish to install
  3. Mark it for installation and click go

Now, in my opinion this is a much more efficiant way of installing software, and generally if I demonstrate this to a windows user they agree. In general I would try to keep my pesonal feelings out of this sort of thing, but the reason I bring it up is because this is how the rest of the linux community feels as well, and I can’t see anyone actually be willing to change (ever seen GoboLinux? what a train wreck that thing is..).

The problem lies in the fact that the linux/package-manager method of installing software is not something new users are able to discover on their own right now. Here are what I think might be a few of the reasons:

  • “Package Manager” means nothing to most people
  • People are just straight up used to the windows method of installing software and don’t think that there might be another way

What if we did something like this:

mockup
(Yes, my GIMP skills aren’t that great, please forgive me :)

When a user sees their brand-new linux desktop for the first time, eventually they are going to click on ‘Applications’. In general I would not be suprised (although I certainly have not done any studies) if they click on this before any of the other items on the screen, since most people want to use applications on their computer.

By adding this item I think we could dramatically increase the changes of the user discovering the best way to install software on linux.

Now, the big question is “What application would be launched when this item is selected?”.

I do not know of any existing software that could meet this task. In Ubuntu linux we have the Synaptic package manager, which is an excellent utility for people who know what they are doing that I use all the time, and the gnome application installer, which is completly worthless.

I don’t just say it’s completly worthless because the interface is ugly or because it takes about 10 minutes to start up (although these things certainly arent helping it’s case), I say it is completly worthless because it only gives the user the opportunity to install a very minimal set of software.

While I would love to say that synaptic would be the right choice for this, I’m not sure of it. What we want is something that looks inviting to new users, not daunting. Perhaps a web interface since most users are used to installing software from the web. UPDATE: Wow, looks like this was already done! :)

Now, in additon to this - here’s an idea: What if we came up with a nice freedesktop.org-approved, distro-independent way for websites to kick off a software installation.

What if every distribution registered a URL handler such as "install://gaim?version=1.2" to install things from the repository. Or perhaps better yet if we had a generic “package description” file format that listed the URL to rpms/dpkgs/tgz/etc for every given distro, and each distro would parse this file and pick out and install the appropriate one. This might allow us to get the best of both worlds - keep our package management and filesystem just how it is and don’t require users to change their ways (this generic file/url would be on a download page right next to the windows exe installer).

I’m really just throwing ideas out here, I’m not saying this is better than something like AutoPackage (which I hear either can or will soon be able to integrate into the local package management system).

I really look forward to hearing people’s opinion on all this. If you think I might be onto something, please post your thoughts. Or if you agree with “batman” and think i’m a completly insane fool who shouldn’t be allowed to blog anymore, please let me know that too.

Let’s make linux rock… just the way it is.

12 Comments

  1. Posted July 5, 2005 at 7:51 pm | Permalink

    I 100% agree. I think the install:// idea could work if thoughtfully planned. These lame ass distro’s trying to be different are just poluting the waters of Linux. Damn, i wish BeOS was still around.

  2. Posted July 5, 2005 at 8:40 pm | Permalink

    I agree with you. I agree with you wholeheartedly. I think Mr. Batman is right on many points, and though I very much like AppDirs, I agree with you that Linux is Linux, not OS X.

    I like the idea of the install:// URI handler as well. If that were implemented (read: properly, and in a single project) I think many problems for new users could be eliminated.

    apt is good. Yes, I have managed to break apt, but it was mostly Mono’s fault! Synaptic is excellent. My only problem with apt, at least in the case of Ubuntu, is the hoary/breezy/updates/universe/multiverse/blah paradigm. I think they need to be much more clear about which software is reccomended and stable, which software is optional, and which software is unstable and not reccomended.

    If you’re a new user looking for an editor. “Editors” lists 59 packages. “Editors (universe)” lists 176 packages. Maybe instead of just throwing a whole ton of packages, Ubuntu should adopt a larger volume of software as “official” Ubuntu software, and ensure fast updates and high stability all around.

    I think that having a huge volume of choices isn’t such a great thing all the time, and having hundreds of packages all grouped under something as broad as “Editors” isn’t very useful. How about tags instead of categories? I know tags is a little played out about now, but it would be a good way to go.

    I don’t think that the whole filesystem needs to be redesigned. However, I think some things can be done away with, at least in terms of Ubuntu. Ubuntu should get rid of and reorganize some (read: opt? lost+found?) filesystem directories, if just to simplify things further.

    On a totally different note, you should be proud of the fact that your “GIMP skills aren’t that great,” my friend. If you’re good with GIMP, something is fundamentally wrong with you.

    Oh, and you are a completely insane fool…

    *Runs*

  3. Posted July 5, 2005 at 9:19 pm | Permalink

    Your install:// paths idea remind me of Conary paths. (http://wiki.conary.com/) Conary has intrigued me most of the package managers I’ve seen… it’s distributed nature resembles my source control of choice (darcs) and seems much for fitting for bazaar-style open source development than any of the other distro package managers I’ve seen. I haven’t tried it yet, but it has been on my todo list.

    Conary is the package system of choice for the ForesightLinux distro that has Gnome and Mono out of the box, so it sounds like a neat candidate to test your install:// path idea.

  4. Posted July 5, 2005 at 10:51 pm | Permalink

    Althought I have to agree, that the package manager is a great way of installing software, it is not always an option either because it may not cover all the software you will need or not the newests version.

    A lot of times you might just download an rpm instead. Then there are often missing dependencies that I have to search for in my package manager and install seperatly.
    Another barrier for former windows users might be the fact, that there are a lot of different aproaches for installation packages (deb, rpm, …). And sometimes even RPM’s are not compatible to all rpm based systems.

    Sometimes there is not even a package for my system. Then I have to install the source distribution. While this is a very clean way of installing software on linux it is certanly not the most convenient way of installing.

    Another problem is the availibility of specific software. While this has dramaticaly increased in the past and most of the important software is available on Linux there is still software that I particullary miss on Linux. I really miss my Total Commander, my Winamp (XMMS is certanly not that great if you are used to Winamp), The Godfather (really the best hen it comes to manage my MP3’s), Paintshop (I cant get used to the multiwindow UI layout of gimp, I hate that) just to name a few.

    As a former windows user I have to say that I still think linux needs to improve a bit in that area (And I’m not a whiner). I’m not saying that they have to make it the exact way it’s done in windows but they have to improve their way of doing it.
    I have a dual boot with Windows and Linux and I start to use Linux more and more and I really like it.

  5. friedCrumpet
    Posted July 5, 2005 at 10:54 pm | Permalink

    Package managers are great (at least apt and its derivatives are). But they suck when the software package you want to use is not in the repository, or if the version (or the versions its dependencies!) are not the ones you need/want.

    I have experienced this with every linux distro I have tried. It either means waiting (and waiting) for the package maintainer to update or add the package you want, or ditching the package manager and compiling the software you need yourself. In some cases, the developers of the software provide packages for your system. Great! Except figuring out how to integrate their repository/packages into your system is not usually trivial.

    Okay, so Windows world: You go to the website of the software package, download the new version and install it. I don’t see what is wrong with this paradigm? Especially for commercial software developers whose software will not be included in your repository. Hey, I’m all for Free Software and that - but let’s face it - as Linux gains more popularity more commercial software will become available for it.

    Maybe Autopackage will provide the solution here, I don’t know. If it does, then maybe distro maintainers need to integrate it strongly into their product, not to replace the package manager, but rather to supplement it.

  6. Jon Cooper
    Posted July 6, 2005 at 1:22 am | Permalink

    Dude.. You Rock.

    I totally love the idea of adding “Install new software” to the Applications menu. It makes 100% sense. Cleaning up administration / system preferences / system tools is also a must have for future versions of gnome. The OSX control panel does things so right, gnome-control-centre could also go this route.

    An install:// handler would be great as a fd.o standard. Have a gconf key holding details on where to go and what to do, and you have yourself a very simple way to distribute software. Application Vendors could then post links on their websites, which the individual distributions would then be able to provide. Again, 100% brilliant.

    AppFolders on OSX are good, but I think linux package management is better. It just needs some newbie love.

  7. Posted July 6, 2005 at 4:43 am | Permalink

    I have to agree with friedCrumpet,
    Unless you aren’t on some big distro like debian where the packages are widely available then you got some serious problems.
    For instance I can’t install mono on FC4 via the repos simply because they aren’t in there.
    And guess what most of the stuff I want isn’t in there. Now I just hate downloading/compiling/installing software , but with RPMs it used to be just sometimes a dependency hell (still is for most people).
    Autopackages are easy to use and great to install, the only problem… who is delivering them?

    I strongly believe we need to find a better way to manage our software and the apt/yum repository’s aren’t going to cut it.

    w00t since when did they put you on the monologue? :)

    Czubin

  8. Posted July 7, 2005 at 8:29 am | Permalink

    I agree with your opinions about linux vs other operating systems, it’s the same thing i’ve been saying for some time now. People should not expect all operating systems to be exactly the same (most of them do now).

    As for your Install new applications.. button, check out gnome-app-install package (you mentioned you were using ubuntu, it’s in main). It uses a different approach to install applications, and i think it looks pretty good actually.

    The install:// URI might be a good idea, assuming there is a proper design that is common for all platforms. It needs to be done in a way so that it has proper fallbacks. Something like, try the current repository setup, try a fallback repository setup (set up by the vendor), try a secondary fallback (set up by some common nominator), fall back to something like autopackage version of the software. That way we can be certain that the basic setup of the computer doesn’t mess up the installation. Someone might have a setup where their sources (yes, i’m talking about apt systems mostly) are set up so that the package manager only looks from the CD that the user has, it’s most likely that the CD doesn’t have the software the website wants to install, this is something that needs to be worked around. Also it’s a big challenge for usability and GUI people, how they bring out the security issues so that the user fully understands the risks involved. We really need to avoid the ‘question.. OK.. warning.. OK.. Error.. OK…’ behaviour that can be seen amongst windows users.

  9. John K
    Posted July 7, 2005 at 10:34 pm | Permalink

    After the “Add New Software…” app starts, it should have a list of *vendors* and repositories. All vendors would operate their own repositories. Users could add vendors to their list, manually.

    These vendor apps could install in the main file tree if they dared, but, I notice that many tend to prefer to install in /opt or /usr/local. And they create their own file tree in their directory…. vendorAdd/etc, bin, doc, man, lib, libexec, etc…. Kind of like how OS X has a little file tree inside the .App folders. (I wonder where they got that idea from :-) ).

    Whichever model a vendor chooses is up to them.

    The idea of a single universe of packages would not be violated with this. The universe will always be controlled by the distribution. Vendors would be given second class status.

    For the newbie user, this should work out, because the vendor is a an identifiable quantity, in the way a distro is an identifiable quantity. They can make gross decisions (large in scope) about what to install, or leave out.

    For the experienced user, they can still go fine grained, with packages, sources, and even specific patches.

    I know this sounds very commercial, and it is, but I think it would work. It probably won’t happen, because it invites too much competition into the market, to start making revenues before the early investors make their money back.

  10. Posted July 9, 2005 at 9:52 pm | Permalink

    Good article!

    This “install new Software…” is a good idea, but can’t substitute education. Windowsuser will never look for new software on their very own PC. They will go out to the internet and google for it. On the vendor site (aka a sourceforge project page), they will click on Download and get the tarball. I think this is way everybody whines about Linux and that you have to compile everything yourself.This package manager concept is just to strange for windows people.

    One of the positive core arguments for Ubuntu are the nice Communities and Forum. I don’t know wether they are really better (Gentoo Forums are still the bleeding edge tweakers i think) but it shows the way to solve this problem.

    You can only fix the software to some degree, to fix the user is more effective.

  11. NoTiG
    Posted July 19, 2005 at 9:26 am | Permalink

    The centralized repository method of installing software (apt-get/synaptic) is valuable, but it is not a complete solution. It has the following problems: latency between software release and acceptance into repository, the difficulty in maintaining a large repository, the installation of non-free/proprietary software etc. The solution is autopackage . It is not designed as a replacement to synaptic/apt-get, rather to supplement its shortcomings for a superior solution. The ultimate goal should be something similar to MacOS appfolders, but better. Once the user has chosen to give some software access to their system, we should be making it as easy as possible for them to act upon their decisions. Security therefore becomes a matter of how to aid the user in making the correct decisions rather than making their lives inconvenient.

    By the way, there is also a bounty on making synaptic more “colorful” . Look at this : http://udu.wiki.ubuntu.com/FindingPackages
    http://niran.org/code/soc/

    ANd the future of installing :

    http://autopackage.org/ui-vision.html

    I also found a comment by one of the autopackage dev’s: “There is a patch floating around that integrates autopackage and synaptic, but it’s not been merged yet.”

    And here is matt zimmermans response: https://bugzilla.ubuntu.com/show_bug.cgi?id=8308

  12. UbuWu
    Posted September 18, 2005 at 4:21 pm | Permalink

    Are you running breezy? Your mockup could have been a screenshot if they hadn’t removed the ‘run application’. :-)

3 Trackbacks

  1. By In Search of L33t on July 5, 2005 at 8:50 pm

    Delivering software, delivering confidence.

    I have just read Eric’s blog post titled “Let’s make linux rock just the way it is, part 1″. I can really appreciate where he is coming from. While his idea is great, I believe that a simpler software installation procedure is n…

  2. By Czubin's UserHostile Tao on July 12, 2005 at 8:46 am

    I shall fork one day!

    Eyyy amigos!
    I’m due to goto the tendist sooner or later but after reading Nat’s blog…
    About his experience and the fact I have 4 bad teeth
    means I’m going to expone this as much as possible
    Anyhow some screenshots of Long…

  3. [...] Slashdot.org Story OSNews Story Linux Today Story Mark R. Hinkle’s Blog (Editor of Linux World) Brains Factory Phil Crissman’s Blog Eric’s “Extreme Boredom” Blog Willisburg.org House of Zeus [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*