Inspired by Linux Format’s 24 things we’d change in Linux, I got thinking about the things I’d like to see changed in Linux. Here’s my top 10 (in no particular order).
Update: Just to make it clear, I’m not talking about stuff that stops ME from using Linux but I’m talking about stuff that makes it confusing for new users/turn off new users. If you truly believe that open source software is the only ethical way to develop software, and I believe it is, then why develop a system that will turn off most general users? It seems like a waste of resources to work on a super-system and fail at making it user-friendly. Are we developing for a little private club or for the whole of humanity?
1. Why are apps packaged differently for different distros? Rpm, deb etc I’d like to see an open standard for this.
2. Clearer organisation for data and settings saved by apps would be great. Whenever I look for data or settings saved by an app, I need to google to find out which folder that app saves its data and settings to.
3. Make it possible to alter the visible columns in Nautilus by right-clicking on the mouse. It’s annoying to have to go to the menu everytime! Also, make more options to view the files in a folder, like different sizes for icons etc.
4. I’m confused as to what is the difference between “preferences” and “administration” in Ubuntu. How about a central control panel?
5. Why am I seeing several versions of Linux at boot-up? This is messy.
6. Users shouldn’t have to use the command line, only developers/tinkerers should. Make everything available via the GUI, including the documentation.
7. Obviously, nothing is perfect and apps do crash on Linux sometimes. However, I’ve never seen an error message as to why. When there is a fatal crash, an alert dialog wouldn’t go amiss. Yes, I’m sure I can go and look for info in some log but are you expecting a user to do this? A simple “out of memory” error message would help for example, to let a user know that his/her machine is low on memory to run a certain task/app. Or even if it’s a “Error 456845″ message – the user could then google that and find out that this happens when memory is low for example.
8. Distro updates tend to crash my computer. Every time, I spend a couple of weeks getting my Ubuntu back up to speed. I’m not sure what the solution is to this but distro updates are defo a problem.
9. If you go to Synaptic package manager, you need to know the name of the package. When you use Ubuntu software center, you can search through apps in areas (like Internet, File Sharing for example) but a lot of app names aren’t what I call human readable, they are written in CamelCase or similarly difficult to read notations, this is ridiculous.
10. I don’t see the point of two different heavy GUI desktops (KDE and Gnome). I see the point of desktops lighter on resources for niche uses but not two mainstream GUI desktops. Unite and you will be able to offer an even stronger mainstream GUI desktop.
Hello,
Nice comments. As usual I do disagree on few points:
=> 6. Users shouldn’t have to use the command line, only developers/tinkerers should. Make everything available via the GUI, including the documentation.
I think there are few GUIs for man pages such as xman and others. Agreed partially as I’m a developer. I don’t like not having a real command line as in windows. When something is really broken, on any system, the best way to fix it is usually with the command line as GUIs only try to expose what’s relevant to the user.
=> 5. Why am I seeing several versions of Linux at boot-up? This is messy.
Different kernels, it means that if something is not stable with a kernel you can’t revert. For example if the intel graphics driver is not production ready for latest linux kernels, you can play with it if it offers some advantages(gaming, more stable on your machine, etc.). I think that having different kernels is good, maybe not displayed by default with an option to toggle visibility for expert users. However if something goes bad, “regular” users might not know how to select and boot a previous kernel.
=>2. Clearer organisation for data and settings saved by apps would be great
Settings are usually in a hidden folder inside your home directory or .kde/.gnome2 for kde or gnome. But I still agree with you.
=>10. I don’t see the point of two different heavy GUI desktops (KDE and Gnome)
Agreed as long as you don’t mean that standalone window manages have no purpose, as stated “I see the point of desktops lighter on resources for niche”. I like running for example fvwm and fluxbox on very old desktops and Gnome on more powerful machines. However Gnome and KDE will probably never merge, different philosophies, etc. Waste of time, talent and effort, it probably is, they could be improving many existing applications in the meantime.
What I would really like to see is :
.
- Great quality UI with good error reporting as we understand that a piece of software is allowed to crash
- Single package management system. No one wants to build rpm, debs, tgz, tbz(freebsd), etc. Usually a guy will build one package and the community will port it to other distributions.
- A more advanced UI: I now use Mac OS X and if I can’t I use Linux, FreeBSD or even the infamous Solaris over Windows. On the Mac things are simple, usable, pretty and consistent in terms of UI, file locations, behaviours, etc. I think that the new Ubuntu unity is a good step in that direction.
I personally never had real issues with Ubuntu and similar, it is ok for the soft and power user, but if you’ve used Debian for a while, problems with Ubuntu are close to non-issues unless they affect seriously packages, but it is still manageable.
Linux will mostly remain the server for medium/big corporations as well as the desktop for geeks, developers and curious. It will never be a predominant OS for the home user in my opinion. Most web sites and mission critical servers run Linux/Solaris unless the company is a Microsoft shop. Most open source developers use a Linux/Unix flavor with couple of geeks and random people. The desktop you see at the office is windows all the time with few exception(Linux or Mac).
Comment by John Doe — November 2, 2010 @ 1:40 am
> 1. Why are apps packaged differently for different distros? Rpm, deb etc I’d like to see an open standard for this.
I guess these are really all competing open standards – one of the advantages of OSS is survival of the fittest.
> 2. Clearer organisation for data and settings saved by apps would be great.
I guess ~user/.application for settings is where I look
>3. Make it possible to alter the visible columns in Nautilus by right-clicking on the mouse.
And why not join the Nautilus community and suggest it?
>4. I’m confused as to what is the difference between “preferences” and “administration” in Ubuntu.
preferences are generally user specific settings which the user may adjust.
administration is generally system wide settings which are generally privilidged.
>5. Why am I seeing several versions of Linux at boot-up? This is messy.
Indeed – so clean it up with your package manager. Personnaly I always have at least one old one incase the new one has broken something.
>6. Users shouldn’t have to use the command line,
Many systems/distros are setup so the user does not have to do this?
>7. Obviously, nothing is perfect and apps do crash on Linux sometimes.
Whilst I agree, a peek into the log files often gives a clue – there are GUI log readers. It is much the same in windoze – you often get “program closed” and need to use the log viewer to find out what happended.
>8. Distro updates tend to crash my computer.
Not sure why this happens? Do you reboot after the kernel update? I run several servers and these are non-stop even with regular updates applied.
>9. If you go to Synaptic package manager, you need to know the name of the package. When you use Ubuntu software center, you can search through apps…
Some of this harks back to when we used short file names for brevity. Old habits die hard. Software Centre does have searchable index and application descriptions so is pretty good for the non-tekkie user>
>10. I don’t see the point of two different heavy GUI desktops (KDE and Gnome).
Once again survival of the fittest and healthy competition. This is something that sets OSS apart from the rest and is a strenght althoguh a little confusing when two applications (like Gnome and KDE) are neck and neck.
Comment by Si — November 2, 2010 @ 9:00 am
Point 1: There is an open standard. RPM was elected as theoretical standard packaging format. However DEB is the de-facto standard, and it always will be. The discrepancies go beyond the package format however. There is no standardization because applications are named and broken up differently across Debian and RedHat derivatives. Anyway, alien and EPM somewhat rectify this situation for users and developers. Nobody should actually go out and hunt for RPM/DEB packages anyway. Raw packages are for developers. Users should stay within the confines of the package manager.
Point 5: You can disable this. It’s disabled per default in some distributions, which might make the booting cleaner, but obstruses help should something go wrong once. So it’s understandable that the Grub boot menu is visible by default.
Disagree on Point 6: If you are trying to do something where no GUI for exists, then you are doing something wrong. Not all options should be available to normal users. The system should really be as dumbed down as Windows. So I strongly disagree on the make “everything” available through the GUI. OTOH making a “few things more” accessible is another story.
10: That’s entirely the choice of the respective developers. If there was only one desktop, there wouldn’t automatically be twice as many developers working on it. In fact we’d still be using fvwm95 if gnome and kde hadn’t developed independently.
Comment by mario — November 2, 2010 @ 9:04 am
Hi, Sean from the DorsetLUG wading in with his opinions!
3 is an application issue, not a Linux issue.
4 is an Ubuntu issue, not a Linux issue.
5 New kernels are installed rather than upgraded, to prevent an upgraded kernel rendering your machine unbootable. What you are seeing are previous kernels which may or may not be redundant in your case. You can uninstall them. Also, you don’t need to see the different kernels and options at boot time – there is almost certainly a way of hiding them.
6 Many Linux users want to use the CLI, or a combination of CLI and GUI; it seems a little unfair to mandate that they should have to dig for it because you are uncomfortable with its presence.
9 You can search the text relating to packages in Synaptic too…
8 You have a point there Natalie, but I think it’s a stretch to expect the producers of a highly versatile and configurable system like Linux to anticipate every user’s customisation/tinkering. If your desktop environment is that critical to you that you cannot afford downtime, then you need to run a second system and test before you perform the dist-upgrade (or equivalent), to anticipate potential problems. Alternatively consider a rolling-release system like Arch Linux of Gentoo where there are no distribution upgrades as such.
10 Again, there’s nothing wrong with choice. I’m pretty easy with whatever desktop you put in front of me, but there are those with strong preferences. When you start mandating one desktop you are starting to look like the proprietary alternatives, which most users have elected to avoid.
Comment by Sean — November 2, 2010 @ 11:30 am
Thanks all for your comments.
Just to be clear – I don’t have a problem using the CLI myself but I’m a dev. My comment #6 relates to general users. Perhaps my phrasing was a bit off but my suggestion to make everything available through GUI relates only to things general users expect to do, not devs/advanced users.
As I run Ubuntu, some of my comments are Ubuntu-centric. Also, as Ubuntu is meant to be “user-friendly”, my comments seek to make it more user-friendly.
Related to #8, yes, like many users, I do not want my box to be down due to “upgrade” and I do not want to have to run a second system to check it can upgrade (you know what, if you expect the general user to do this, they will simply go back to Windows). I’ve had problems with Ubuntu upgrades, such as my printer not working anymore, my wi-fi going on and off and a few other basic things like that (when I say basic, I mean things most users will expect to work, I don’t necessarily mean easy to fix).
As for #10, I don’t suggest we only have one desktop. I think light desktops are really useful for certain situations (old hardware, servers etc) but I am just suggesting it would be good if KDE and Gnome teamed up and worked together to produce an excellent mainstream general user desktop that works on both big screens and small netbook screens. I understand why each of them started but wouldn’t they be able to produce a better desktop if they joined forces? It’s up to them of course, I’m not suggesting to impose anything on them obviously.
Again, I’m not talking about stuff that stops ME from using Linux but I’m talking about stuff that makes it confusing for new users/turn off new users. If you truly believe that open source software is the only ethical way to develop software, and I believe it is, then why develop a system that will turn off most users? It seems like a waste of resources to me to work on a super-system and fail at making it user-friendly. Are we developing for a little private club or for the whole of humanity?
Comment by Nat — November 2, 2010 @ 12:26 pm
I’d like security enhanced linux (mandatory access lists) to be replaced by something that does not assume you’re a c programmer.
I’d like to know how the app I installed through the package manager is started!!! Its somewhere in the haystack of folders and files but I have to search google to help me guess its location and name.. Its not like starting an app you just installed is a rare use case.. Everybody does this.
Then i’d like a complete API redesign (yes just wishfull thinking). Community driven development has many strengths but consistent use of conventions, design patterns in API design is not one of them. Devs who have been exposed to java or c# will find gnomes APIs to be too much of a mess.
Comment by Moe — November 2, 2010 @ 12:51 pm
Amusing.
Really! I don’t mean that in any sort of Eddie Haskell sort of way!
Most of the things you would change would need a central committee or some other organization to call the shots. I’m afraid that as soon as you introduce this control, you give up a certain measure of “open source goodness”. But….one can wish.
Thanks for the read!
Comment by jkilgrow — November 2, 2010 @ 1:30 pm
@jkilgrow – I don’t think that the changes listed would need a central committee to call the shots (this is something I wouldn’t consider as viable as it would go against the open nature of Linux). However, I’m suggesting that devs/foundations work together when appropriate to solve a problem. Cooperation between leading projects/distros would help a lot in ironing out some of the issues new/potential users face with Linux.
Comment by Nat — November 2, 2010 @ 1:39 pm
I’m suprised no-one mentioned the XDG specifications around item #2.
http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
This specifies that there should be three base locations for apps to use – one for user data, one for user configuration, and one for temporary data like caches and thumbnails. Currently they default to ~/.local/share , ~/.config and ~/.cache respectively although they can be pointed elsewhere.
The trouble is that not all apps adhere to this yet. Those that don’t tend to stick with the ~/.$appname convention. That has the advantage of simplicity. The nice thing about the XDG spec is that it gives you a clear separation between application data, config and cache which is useful for backing up, upgrading, syncing between machines, etc.
This is a good micro example of the larger issue here in that it’s an example of what is good and bad about Linux and FOSS. The Free Desktop Group doesn’t mandate anything. They host some projects themselves, but otherwise they produce recommendations and suggested standards. Often these are driven by one or more distros, and so they get taken up, but often they don’t. Some of their output is very good, some is pretty bad, and a lot of it lacks good documentation. Sometimes the “designed by committee” effect is in evidence. However, mostly, the rough edges get smoothed out, the bad stuff gets ignored or deprecated, the OK stuff works and serves a purpose and is eventually replaced. Take a wide enough view and the end result is largely good and improving with time, despite the many hiccups.
Comment by VSpike — November 2, 2010 @ 2:22 pm
@VSpike – Thanks for mentionning the XDG spec, I didn’t know about it. Yes, you are quite right in saying this is a good micro example of what is good and bad about Linux and FOSS.
I do agree that the end result is largely good and improving with time – this is why I think mainstream users can now use Linux without getting frustrated/scared/lost but a few more things need to be ironed out for this to happen in large number IMHO.
Comment by Nat — November 2, 2010 @ 2:55 pm
@VSpike I keep trying to tell people about XDG too, but it seems like I just get blank stares. I’m not sure people really get it, so I came up with a simple way of explaining it.
Think of,
~/.local as /usr
~/.config as /etc
~/.cache as /tmp
Comment by trans — November 3, 2010 @ 2:51 am
Thanks for the nice post linux OS rocks
Comment by anehra63 — November 11, 2010 @ 11:51 am
[...] on from my slightly controversial 10 things I’d change in Linux post, here’s a list of reasons why I prefer Linux to Windows. The list is in no particular [...]
Pingback by 10 reasons why I prefer Linux to Windows « Cogitas Blog — November 15, 2010 @ 4:02 pm
[...] windows. Pero, si es cierto que tiene algunos aspectos que incrementan su dificultad respecto a windows (la gran competencia de linux). Aspectos asociados a la instalación de aplicaciones y [...]
Pingback by Mejoras posibles en linux | aninki.net — November 25, 2010 @ 9:47 am