I'll be the first to admit how much I love and use Linux. It's what got me really interested in computers in the first place. The problem is that it's not satisfying to me for only nerds or tech-oriented people to use it. I want everyone to be able to easily use Linux, no matter what their level of technical expertise is. Actually, Linux is very easy - if you are used to its non-intuitive and often archaic configuration systems. Almost any "Linux geek" learned Linux by adapting his mindset to Linux - by thinking like the operating system. I want Linux to be better than that. Computers should adapt to the users - not vice-versa. I want Linux to be for everyone, and I want it to have an interface that anyone can grasp. It should be as easy to use as a Mac. This does not mean I want Linux to become an OS that technical people can't use and love. That is the last thing I want to do. Rather, I would like to see the Linux desktop be easy, intuitive, and simple, while allowing the more technically inclined of us to easily delve into the things we know and love about linux like the shell, configuring via text files, compiling programs, tweaking, installing 6 different browsers, etc. And as I technical user, I appreciate the artistic and intuitive nuances that went into creating OS X. I think it is a myth that all technical users are uninterested in having an intuitive graphical interface. They simply have learned to live without it - the negative side to this is they often expect everyone else to live without it too.
I believe Linux can be made to be the operating system of choice for nontechnical users, but things need to be done in order for that to happen. So I'm going to do something bold and list all the major blockers Linux has that keep it from being used everyday by the bulk of computer users, and I will try to suggest solutions to these problems that are realistic.
Problem #1 - The explosive pace of Linux development makes it difficult for end-users to stay put.
Linux distributions release too often. 2-3 times a year? Give me a break. Most people, unless they are like me and have some sort of obsessive disorder, don't enjoy installing operating systems. We need a Linux distribution that focuses on getting it right instead of simply spontaneously releasing another OS update just because it's been 5 months since the last update. The Debian release model should set a good example. Debian only releases, to quote, "when it's done", which is usually around every two years. This is why Debian has traditionally been one of the most solid operating systems to use in a production environment. If there was a desktop Linux distribution that followed this model, it would allow for more stability and would also allow companies producing software that runs on Linux to more easily assure users that the software will be compatible. It's much easier to handle library dependencies and customer support when your OS releases every 2 years instead of two times a year.
Also, when the OS did release updates, they would be all that more dramatic.
Problem #2 - No easy way to install programs, especially 3rd party programs.
Well, this is a fairly small problem actually, because we have apt-get, which makes managing programs on Linux rather painless, but it has a problem. There are no simplified front-ends to apt-get. Synaptic doesn't count; it's still too complicated for the average man.
What we need is a nice frontend to apt-get and dpkg (I am assuming here that this distribution will be based on Debian) that behaves like installers on Mac or Windows. The question is which one? In Windows you usually are presented with a "Wizard" which guides you through installation of the program using a dialoge-based walkthrough, typically asking you a bunch of questions users shouldn't need to answer, like where do you want it installed and if you want to view the Readme file (like anyone clicks that) I suggest a front-end where users can simply drag a program icon to a "programs" folder and have it install the program automatically, and download the dependencies if needed - although if the package was designed for this distribution then that shouldn't be necessary. This "meta-folder", so to speak, would only contain applications,
not libraries and trivial utilities that you see all over the Synaptic menu.
Problem #3 - hardware detection and other issues.
Theoretically, hardware detection on Linux is actually quite good. The little hardware that isn't supported is almost always due to hardware companies being difficult and refusing to release the specs of their chipsets. This, I am confident, will change in the future as Linux becomes more and more important.
I said "theoretically" because most distributions do a half-assed implementation of hardware detection and management. Even the mainstream distros like Fedora don't seem to do it right. For instance the Red hat hardware detector, kudzu, lets you know only on system startup if there is a device added, and comes up with an ugly menu to tell you this, which you have to press a button or it will do nothing. Nobody should have to press a button. That's not what "Plug and Play" is all about. It should be like plugging a Gamecube controller in. This is certainly possible on Linux, and it could be implemented in a superior way than Windows currently does it. In Windows, when you plug in a new device, a crummy bubble notification comes on and alerts you of this. This is intrusive and unnecessary. The ideal thing would be for it to only come up with a window or notification if it saw you plugged in something
but it couldn't find the correct drivers for it. This may be the case in the future when more proprietary drivers are made for Linux than are today. Since I want this distribution to be entirely composed of free software, it would be unacceptable to include these drivers. But there could be an apt repository included that would let you install a proprietary driver if you so wanted to.
Problem #4 - X window system
I will not say much about X here, but I would like it to get the same abilities that quartz has. This is really just an issue of time, so there isn't much to be said, really.
Problem #5 - General user interface
KDE and GNOME provide a decent user interface, but they could be better. I know the goal of the projects is to be portable, so having Linux-specific configuration tools isn't something being worked on currently. I think there should be a project to create easy to use administration tools for KDE and/or GNOME that allow the user to configure their Linux system using only the GUI.
Another issue with the desktop is, well, polish. KDE and GNOME are great, but both (especially KDE) could use an interface polish. (GNOME could use a speed boost and some bug fixes in Nautilus, but that's a different story.) It's really not that hard - just eliminate redundency in menus, lay out things in a more simplified and easy to grasp way - in short, don't suffer from feature creep. And for heaven's sake, include a sane and attractive desktop configuration out of the box. The fact is that 90% of computer users don't change their PC's settings - ever.
Problem #6 - Multimedia and the DMCA
This is a tough but real issue. How will Linux users be able to legally enjoy multimedia like Quicktime, WMV, MP3's, DVD's and so on, when practically all of these things are rife with ominous "Intellectual Property" concerns? There is currently no legal way to watch DVD's in Linux using Free Software, and if current US laws don't change it may remain that way indefinitely. This issue is really more of a legal problem than a techinal one. We need to change laws in order for Linux to be usable for the average person in this respect.
Well, that perhaps covers it. I have been typing for a straight hour now, so I think I'll give it a rest, maybe add some more stuff later.
So what do you all think?