Linux cribs so much from other operating systems that it's reasonably familiar and easy to use when you first sit down, but the problems start when you need to go beyond using it as a dumb terminal: perhaps you need to set up a printer, or there's an issue with networking or power management. Now you're over the cliff. It can be a nightmare for a engineer like myself to fix problems, even though I've been using Linux since the mid-90s. An unsophisticated user would be finished.
An anecdote: I'm mainly an OSX user now, but I bought an eeePC netbook a couple of years ago for travel and tried to install the then-current version of Ubuntu. This was literally one of the most popular laptops on the market, and Ubuntu installed without a functional network device. Getting it working was not easy, involving a couple of reinstallations. Even then, power management was nonfunctional and the netbook got half the battery life as it did under Windows.
The real problem with desktop Linux isn't that it's hard to use or different; it's that the average user can expect to struggle with crippling bugs and hardware incompatibilities that are a nightmare to fix.
I hear this a lot, but nobody ever actually describes the problem they have. You mentioned priting. On my minimal Debian box, you point your web browser at http://localhost:631 and click shit and then the printer works. (If you want to improve print quality / feature support, then you probably need to google to decide which driver is best.)
On my Ubuntu 11.04 box, you type "printing" into the thing at the top left, click "add printer", click "network printer", click "find", and click "ok". That's it. Then you have that printer in every application, and from the command line via lpr.
It can't get any easier.
The only way you can run into problems is if you buy a printer that's not supported by Linux. And I think that's where most people run into trouble -- they buy something unsupported, and then spend three months googling in the hopes that maybe it's not really unsupported. One time in ten, it turns out that it is. The other nine times lead to stories like "Linux never works".
Nope, shitty hardware never works. Linux just hides that from you less than Windows.
And that's the thing that Windows actually gets right. A typical user doesn't know nor care about OS-hardware compatibility. He/she buys a printer and wants it to work. It is up to OS to make this happen.
I just learned something.
Oh, sorry, I left out the "click shit" part. Do some of that, too.
I think the main problem that new users to Linux have is the steep learning curve. The author dismisses user friendliness with the implication that the only reason Linux is difficult to learn is because it is different.
The analogy given is vi versus a standard Windows word processor. I am not disputing that vi is a much more powerful program, but I am saying that it is much harder to learn than Microsoft Word. Using Word, without knowing the keyboard shortcuts, you can use the toolbars to do what you want and in doing so you learn the shortcuts, most of which are printed next to the menu items.
Using vi, without knowing any keyboard shortcuts, you can do exactly nothing. Arguably vi is much better off without toolbars because they take up a lot of screen real estate and would be difficult to implement from a terminal window, but that does not mean there is no such thing as user friendliness. Another problem is the problem of hardware support[1], which the author does not address at all.
Having said that, I will agree with his point that since it doesn't really matter much to (with notable exceptions) most developers what features people not already using Linux would like to see, development is centred around people already using Linux and on more gentle slopes of the learning curve.
1. http://news.ycombinator.com/item?id=2643671