Every year around this time there are a ton of blog posts and news articles about how this will finally be the year of Linux on the Desktop. NO IT WON'T! I love Linux, I use it all the time, I think that there are several terrific distributions. I even switched my parents over to Ubuntu. The problem exists, not just with Linux, but with the rest of the software development world. Below are the four reasons why I think that this still won't be the year.
Timeliness
Whenever something new comes out it, almost always, isn't immediately available for Linux. The Linux versions of software, despite being released later, are usually a revision behind the Windows and Mac versions. Even Google is guilty of this. I can't get my own wife to switch over because she uses Picasa and the Linux version is missing several key features, besides being much slower in the picture upload process.
Gaming
The personal computer is very much an entertainment device. People enjoy playing games on their computer. If they can not play all of the latest games, then people are not going to choose your operating system. Valve recently released their Steam client on the Mac. The Mac run a version of Unix, which is very similar to Linux. Valve still hasn't released a Steam client for Linux and has stated that they don't plan to either.
I will admit that Play On Linux is pretty awesome and I have done some preliminary testing with it and the Steam client does run on it (although it is pretty buggy and crashed a lot). I was able to play a few games and they seem to run reasonably well. I was also impressed by the ease of installation. The downfall is that Play on Linux does not make every single game run on Linux and they will always be running in some form of emulation mode. This emulation mode will make the game performance less than what it would be if it ran natively. To gamers, every bit of performance matters!
Hardware
While every new iteration of Linux adds more hardware support and better drivers (Nvidia finally got dual monitors working correctly in Ubuntu 10.10 and Xorg broke it). There are still way too many pieces of hardware that either don't work right or don't work at all. Most of the Linux hackers out there can find a way around this, which is great for us, but not so awesome for everyone else. Wireless connectivity is still pretty broken and I have yet to find a distribution that doesn't make me want to shove and icepick through my eye during the connection process.
Marketing and Public Relations
Finally, we have the real issue with Linux. Marketing and public relations is all but non-existent. Word of mouth is great, but it is keeping Linux relegated to a small community. If you want other people to use it, get some major software companies to start porting applications to Linux (hell, Microsoft makes Office for the Mac, it shouldn't be that difficult). Make some commercials, get some more hardware vendors to ship machines already dual booted so people can play with it. DO SOMETHING AS A GROUP FOR ONCE! There is a very large community of Linux users and Linux based companies. Create some sort of non-profit marketing consortium that will push the Linux agenda forward.
There have been some exciting developments and uses for Linux based electronics and I will continue to use them, but I just don't think that Linux will hit critical mass without a concentrated marketing effort and the support of hardware and software suppliers.