This is the last post in a series of posts about making Linux a more competitive in the consumer world. The first post,
part 1, introduces the reason and some of the problems and solutions, like lack of innovation and boring UI design.
Part 2 explores more solutions, including eliminating the restricted formats issue, improving the out-of-the-box experience and connecting the web browser to repository apps. They're not requisite reading, but worth reading I reckon (because I wrote them

).
- Compilation is a no-no. I
should never have to compile anything that's released to the public (unless I'm doing something that absolutely requires it, like coding specific custom functionality, but then this is moving in to the geek domain). They
should all be as easy to install as downloading them, launching them, and
answering some questions if really necessary.
This problem occurs mainly because when developers release apps, they don't
have the time or resources to compile it for all the popular distributions out
there - ultimately, there'll be people who'll miss out and the only way to get
the software is to compile it themselves. That's why the recently publicised plan to simplify
software installation across all supporting distributions by the Linux Standard Base project is
such a great idea. "[ISVs want] to treat Linux as a single platform, which
means they want to offer a single package for Linux, much as they do for
Windows."
There is also a time lag between the developer releasing a new version and the distribution's repository having an updated version - a time lag that sometimes people can't wait for (and for which there is no known timeframe for), hence forcing them to try compiling it. This is a disadvantage with the repository style of distribution applications that can be reduced if the developers ran their own repository source and the above LSB project succeeds - devs will then only have to do one release and all supporting distributions will have the newest release.
- Create alias for the file
system root folders. What does /etc, /dev, /var, /bin, /root etc. mean? If
I wanted to install a program manually (because the program doesn't come
with an installer) where do I install it to? They should only have to deal with the home directory ideally, but these people are hobbyists, tinkerers - they will look around and the more you let them know what they're doing, the better. I understand it's a Unix
legacy, but a better solution would be to create alias for each of those
folders and hide those folders in the GUI. For example, instead of /home,
they could call it /Users. Instead of /etc, they could call it
/Configuration Files.
- Improve interoperability with
non-Linux computers. In both Gnome and KDE in OpenSuSE 10.2, the shell
smb:// support is still non-existent in most apps, e.g. Banshee, so the only ways to access files on another computer is to
copy it to a local folder, or use mount in the terminal. Of course, Nautilus and Konqueror, Gnome and KDE's file manager support this.
- Reduce or hide choice. Geeks
will scream at me for saying this, but when even the basics can vary so
much, it becomes,
a) very difficult and time-consuming to work out what I want (is Ubuntu
better than Fedora Core, or is Gnome better than KDE?),
b) very difficult
to trouble shoot, especially over the phone, and
c) confuses people when a
certain program is not available for their distribution. The nature of the
Linux ecosystem makes this very difficult but without any sort of
across-the-board standard, trouble-shooting becomes very frustrating (e.g.
only some distributions have pump & sax2, others have equivalents),
and instead of knowing how to work Linux, you only know how to work a
specific variant of Linux, reducing the community's ability to help
everyone.
Some
sort of standard that dictates what command-line utilities must be included
would be good too across all the main distributions. You can put more in
obviously, but those basic ones must be there, so for example, there'll be no
need to go digging around to work out what the command to renew a DHCP IP
address is for every distribution.
Also,
distributions should be made such that you can change distributions without
having to reinstall everything. If you give hobbyists the choice, they'd want to be able to switch. But if you force them to reinstall everything every time they want to switch distributions, they're not going to be happy. - Stop
labelling applications as for KDE or for Gnome if they can run on either (which
most can). That labelling just confuses people, who are already
struggling to grasp what KDE and Gnome are anyway as there is no equivalent in
Windows or Mac (unless you count the terms Aero and Aqua respectively, but
they're hardly used).
- Make the Linux Kernel version
prominent. This will confuse users, and therefore some explanation is in
order, however it is necessary because the only constant that hardware
manufacturers can rely on is that for their hardware's system
requirements, unless they're willing to test their product on all the
popular distributions out there and list all of them.
- Finally, don't aim to make it
as good as Windows, Mac OSX or anything else out there. That's a milestone. Make it better, unique and easy to use in every way
and you'll have a winner on your hands (or in everyone's hands).
So Linux people, stop
wasting your time spreading FUD (and distance yourselves from the communist
fanatics at FSF who can't
sell something even if their lives depended on it) and start making Linux a viable alternative to Windows. Its not a
war, its competition - use your competitor's resources to leapfrog them if you
can instead of reinventing the wheel.
For those who can't seem to be able to shake off the FUD spreading and the microsoft-bashing attitude, take this from someone within your community (its in relation to the recent Novell/Microsoft deal, but its applicable in general too) -
"I understand
that many people don't like it as Novell is collaborating with the 'evil
empire'. But I don't like this way of thinking. We are not working against
somebody, but we are working for Linux.
Fundamentalism always leads to pain. I think it is a good thing, especially for
the users."
-Hubert Mantel, co-founder of SuSE Linux (quote from CNET, emphasis theirs)