After all the years of development poured into Linux, Linux is still a struggle. It is close to being less of a pain than Windows but that is mainly through Microsoft making Windows harder. Part of the problem is the lack of profit for commercial operators in the Linux market and the focus on Web servers. What challenges remain before Linux takes over?
Security is an ongoing problem. Not the lack of security you get in Windows, instead the problem is too much security and limited user applications for setting the right security.
Microsoft did produce a secure operating system named NT then they diluted all that work when they merged NT into Windows. There was, for a while, a professional version of Windows that had all the NT security. That version no longer exists and it is difficult to tell what level of security you get in all the different flavors of Windows.
Linux inherited the difficult Unix security settings that appear to work on servers but are painful for everyday use on anything else. Linux added the SE level of security to make things worse. Think of beating yourself repeatedly in the stomach with a stick. One day someone grabs the stick out of your hand and gives you a sharp knife.
Ubuntu Linux 10.10 has the best facility for setting security that I have seen so far in any Linux, at least for the desktop, notebook, and netbook. The settings are straight forward for read and write but painfully cryptic for the difficult to understand execute setting. The Linux/Unix execute permission is one of the most difficult permissions to explain to a beginner, beaten only by the group setting. Execute is meaningless for most files. Ubuntu makes life more difficult by adding the execute permission as a cryptic option at the end of the other permissions. Filezilla and similar applications also use a cryptic display but at least it is consistent and easier to explain.
The Linux group security setting sometimes works like a user group and sometimes like a resource group but not quite either. The problem is the design fits a user group but the presentation often makes it look like a resource group. Often you cannot find the existing group ownership without memorizing 1950s teletype commands.
phpMyAdmin for example
Try installing then using then explaining the installation of a common application that almost everyone users. Pick phpMyAdmin for example. Search for the installation and use instructions. The number one page shows the instructions for six releases ago when you had to use the Linux DOS box to type in teletype commands from the 1950s. Eventually you find a page that is only one release old but it still is retro 1950.
The very old instructions are useless. The most recent instructions finally tell you how to access phpMyAdmin even if they do not tell you a practical way to install phpMyAdmin.
PS, the secret to installing phpMyAdmin is just to select the Ubuntu Software Centre that you use for everything else, type phpMyAdmin in the search box, then install phpMyAdmin using the big Install button. Of course you install Apache and MySQL first because a Web based MySQL application like phpMyAdmin would be useless without MySQL or a Web server.
To access phpMyAdmin you simply type localhost/phpmyadmin into Firefox the same as you do on Windows and everywhere else. A lot of the older instructions make you jump through difficult horrible hoops because back in the Archaean Eon the Linux installation for phpMyAdmin did not set up things the easy way.
What should be easy is finally easy for some applications. For the rest the easy to find documentation is ancient. The difficult to find recent documentation still shows you pathetically ancient rituals to do what should be really simple things. Good documentation and tutorials would bring Ubuntu uses forward a decade.
There is no profit in documentation
The people presenting open source to the world make their money through consulting. There is a real financial disincentive to not create current or useful documentation or to make the user interface easier. Ubuntu do a wonderful job on the user interface but not on the documentation. Some big companies make money, or save money, through using open source software for their servers but not on the desktop or a notebook or a netbook. Almost everyone else involved with Linux does not make enough money to document the Linux desktop the way the Windows desktop and desktop applications are documented.
The middle is missing
Linux owns the big end, the servers. Linux is close to owning the tiny little starter kit end. Linux falls down when you try to do something more than the basics on a workstation.
Ubuntu Studio is one of the few steps toward serious Linux usage on the desktop. Ubuntu Studio is an example of Linux preconfigured for a common use. You can start using it almost immediately. You open up the computer and use it while learning the individual applications. Linux does not slow you down.
Often the problem is the complete lack of usable documentation for first time users who want to get from switching their computer on to using an application in the shortest possible time. Linux is a speed hump between starting the computer and starting the application.
There is an assumption by Linux bigots that people want to learn Linux. We do not want to learn Linux, we want to do something useful with our computers and everything else is a roadblock. We want one click installs. We want applications that work together automatically.
After we learn to use an application and have useful results, we might look at other ways to use the application. The operating system underneath the application should be the servant of the application and not intrude.
Given the compatibility of all the important applications across Linux and Windows, plus the free installation of Windows on desktop machines, Windows remains the easy choice, a sometimes annoying choice, but the easiest choice. Some of the silly things that still remain in some Linux distributions and documentation are worst than the infamous Clippy, the annoying Windows Paper Clip animation.
A time comparison
Setting up a Windows based workstation for my use using Windows XP 64 Pro takes a day including copying and installing over 60 applications complete with configurations and data from the old machine, say 10 hours or less. A Linux based equivalent is currently taking up to 6 hours per application just to find out how to make it work before copying over existing configurations and data. About 20 of those 60 applications are ones where I have performed the conversion before and do not have to look up all the details. That leaves 40 times 6 hours to complete the conversion. 240 hours more than Windows.
30 days. 30 days of my time to save the cost of the Windows that is supplied free with my computer? Well, in this case it is Windows Home edition and I would have had to spend over a hundred dollars for an upgrade to anything else. Assume the upgrade is $200, $200 is cheaper than 30 days work.
Okay, I am not insane. I am actually going to keep the Windows based computer for a few applications I cannot be bothered converting because there is currently no equivalent or no documented equivalent. I already have the Windows machine so I will not save any money if I stop using it. The Linux based computer will be used only for some applications, applications that are useful for compatibility with my Linux servers. I will convert less than 30 of the 60 applications across to the Linux machine. The others can wait for Ubuntu 12 or Ubuntu 15.
Linux is slowly squeezing Windows out but application management and a lack of usable documentation is holding Linux back a year or two or three and often more.