Slashdot recently ran a
story on yet another "Why Linux isn't ready for the desktop."
This one was rather nice. It contained a nice technical analysis with only a few errors. It's not this one that I'll be complaining about today, it's the millions of others of these types of articles that seem to be written by long-time Windows users that just happened to have tried Linux and need something to blog about.
Most of the time these users list install issues or driver support as their biggest issue, then conclude that because Photoshop or some other specific applications aren't available (and assume never will be) that Linux is doomed and its users should just give up.
Unfortunately, these arguments are flawed on several fronts. First, Linux can't do anything about the lack of availability of certain commercial applications. This is just a fact of smaller market share. As market share increases, these applications will come on board. Linux can be the perfect operating system, but if it only has 1% of the market share, your specialized accounting application that you bought five years ago still isn't going to run (ignoring wine and virtualization solutions here). Linux is sometimes able to offer you alternatives (for example, the GIMP), but if you really need Photoshop then yeah, Linux isn't an option to you. Only Adobe can rectify this.
Second, no one ever has to install Windows - it comes with their computers. The hardware maker has already made sure everything (hardware-wise) works out of the box. Testing and judging Linux's install process but not Windows' seems unfair.
As a full-time Linux user and programmer, I can't ignore Windows and still must boot it up occasionally to compile and test my software. Every time I go back to Windows to do this work, I'm constantly reminded of the flaws Windows has, flaws that are probably ignored and invisible to the veteran Windows-only user. In fact, the flaws are so glaring, that I sometimes wonder how this crappy operating system became (and stays) the leader (answer: momentum: PC builder support and 3rd party software support). After I'm done a typical session, I snidely conclude that Windows (XP in this case, lets not get started on Vista) isn't yet ready for the desktop, and here's why:
Poor installer - not usable by average users (luckily they don't have to). Lacks drivers and poor auto-detection of hardware, often leaves the computer installed without network, sound or 3D video card support. Had to go to another computer with network access to download network card drivers for the first machine. Have to search the backwater download areas of various sites, running random (and dangerous) executable installers hoping that I have the right one for my particular hardware adapter. Lots of reboots between driver installed wasting boatloads of time. Older hardware often completely unsupported in new versions of operating systems. No live CD. Unfriendly to non-Windows partitions.
Auto upgrades seems slow. Asks a lot of questions, and is very intrusive. Tries to sneak in and install additional software (WGA, IE, etc). Sometimes forgets previous refusals and nags some more. Can scare new users easily, especially when asking about installing new software or displaying EULAs. No nice (central, Internet) package management system. Add/remove programs panel in Control panel sometimes doesn't work and doesn't include all software. Updater sometimes reboots the computer automatically, abruptly terminating any running programs that the user may have delivery left running.
No central upgrading system for 3rd party software. Why doesn't the add/remove program window in control do this? 3rd party (or even 1st party Microsoft like Media player) seems to do their own updating, constantly nagging the user with update and restart requests. New users can be surprised by these queries. Highly intrusive. Upgrades can easily break stuff (no proper dependency tracking) as upgrades may not just include version patches, but completely new versions of software. Not user friendly at all.
Requires virus scanner. Base operating system demands it, yet doesn't provide one. Can be disabled though. Virus scanner makes computer much slower. Without such a scanner though, machine is highly vulnerable, especially since many required utilisation and software packages come from the Internet via the web browser as executables - not the safest delivery vector. Some kind of chmod +x system should be required - software should come in packages and/or package repositories.
No nice repository for additional software. Must find them developer's web sites. This however can be dangerous as if you aren't familiar with the developer, there is a risk of getting malware. There is some kind of signing system for executables, but the user can (too) easily dismiss the queries/warnings, rendering the system ineffective.
The default web browser, IE, is still quite insecure, has (had) poor web standards support and still supports ActiveX, an insane idea (from a security standpoint).
Lacks lots of basic software. PDF viewer, ssh clients, GUI ftp client, torrent client, decent zip-client, decent photo editing, CD/DVD burning software, CD-to-MP3 ripping, etc. Some stuff can be downloaded from Microsoft's site, but this requires knowing about it, finding it and other hassles. Sometimes add-on software can wreck havoc, like after-market firewall or wifi network management software. New users would need the advice of experienced users to avoid installing malware, who have set up realistic-looking mock sites to trap and ensnare users.
Lacking lots of codecs out of the box (like DivX) with no obvious method of getting them. Media player won't rip to MP3 by default, insisting on WMA, even though MP3 is the de-facto standard (to be fair, iTunes is guilty of this too)
The basic software that is there is not polished. The picture viewer doesn't do EXIF rotation. Notepad doesn't support UNIX or mac line endings. WebDAV client support is just broken.
Very unfriendly environment to developers or system admins (and other such power users). Poor command line (shell), no ssh system, non standard build tools (like make), no scripting languages out of the box, lacks many basic command line utilities. This would seem easy to fix, but Microsoft seems to like to make Windows drastically different (i.e. dislikes anything command line related or anything it didn't invent) in this respect. This results in Windows being a difficult platform to use when working with many open source projects or languages. Developers pretty much have to be using full IDEs and packages, but even in those cases, assembling libraries and build systems is still a pain with lots of trial and error. Cygwin is a half-solution at best. A Microsoft sanctioned shell, ssh client/server and collection of utilities would be best. Apple seemed to have done it, why can't Microsoft?
Not very customizable or tunable by hardware makers, making it an ill fated choice for netbooks. Depending on how the netbook market goes, this may or may not resolve itself. If netbooks get more powerful for the same price, then they can more easily handle Microsoft's operating systems. However, if they get cheaper by using even lower cost components (ARM CPUs, for example), then Microsoft's operating system will be completely shut out.
Windows, on the surface, seems like it would be a complete failure as a desktop operating system. However, it has the world's momentum behind it. All system builds prep their products for it, all corporate technicians are trained to care and feed Microsoft's offerings, a large software ecosystem is ready to fill its gaps and everyone has just plain gotten used to its quirks. This tolerance for crappy software is often misconstrued as being easy to use, when in fact it's simply the devil-you-know vs the devil-you-don't phenomena. People don't so much think Windows is easy to use as they're just used to its crapulence and don't want to bother with anything else. They might even know it's a crappy system, but at least they're comforted in knowing that their system isn't any crappier than their neighbours - everyone's in the same boat.
Suffice to say, there will be no distinct "year of the Linux desktop". It'll be a gradual process, as Linux slowly grows into markets (netbooks, corporate desktops, servers, devices) and slowly encroaches into general desktops. Linux lacks all kinds of software, but every year, it gets a few more (free and commercial) apps (or the apps move to the web) and a few more converts.