As an avid Linux user for the last five years,I find it hard to disagree with any of the author's complaints.It is something we all have been stuck with through the process of "accepting linux". Being a programmer,however,has educated me about tradeoffs.The Unix principle of a tool doing one thing at a time and doing it well greatly impresses me.In that light,I would like to express a few personal opinions:

1.Linux,being GNU/Linux is a stack.This design philosophy is inherently reflected in its merits and demerits.The root problem is not the implementation of feature X and Y,rather the optimised implementation of feature X and Y within the boundaries purported by this very design principle.If Linux moves forward,it moves forward within this ecosystem.Comparing features with different ecosystems like Windows and OSX is not really a viable option,since they,in turn,have their own strengths and weaknesses.

2.Linux,from my personal experience,is a superior platform for development and hacking.It also provides better transparency for a person wanting to explore the internals of a Unix-based OS,and tailor-make his system to suit his tastes.Of course,these might not be the primary objective of every desktop user,so it is perfectly fine for him to prefer any alternative that better serves his purpose,which brings me to my next point-

3.Linux should not be viewed as a replacement of Windows and OSX for every user.All 3 platforms have different strengths and weaknesses,and it is next to impossible IMHO to build a single desktop platform that is superior in every aspect for every kind of purpose,and at the same time is perfectly intuitive to every user.

4.The hardware compatibility paradox (drivers will be better if a platform is mainstream,and a platform will never be mainstream unless it has got good drivers) can have two solutions,based on the perception of whichever is primary:Choosing an OS and choosing hardware accordingly,or choosing hardware first and then trying to make an OS utilise all its features.The second approach,understandably,depends a lot on manufacturers and their business concerns.It ultimately depends on what the user deems more important:the OS features or the hardware functionality.If either approach in insignificant in the end result(a perfect match),great.Otherwise a tradeoff is inevitable,and a limitation,not necessary a weakness (barring shoddy development).The great user experience that Mac OSX boasts of can clearly be attributed to the fact that the hardware is custom-made for the OS.That hardware support is better on,say,Windows is perfectly logical if we accept the fact that casual Desktop users far outnumber developers/hackers,and platforms like Windows are decidedly more productive and better for the former.

To conclude,while accepting the fact that linux is decidedly lacking on many aspects of modern desktop usage,I would strongly like to debate the fact that the "Linux for the desktop" mantra should mean building a linux system that is the be-all-end-all perfect system for programmers,power users and casual ones alike.I debate this solely for the reason that I feel that is paradoxical at best and results in spaghetti alogorithms at worst.No coding language is considered perfect;they all have areas where they are deemed the most apt.I find it hard to see why an OS should not be judged on the same lines.

A "Desktop" should not mean a machine delievering the best(fast,optimised) experience in every possible usage that it can be put to.Note that I agree that it should support all the features that a desktop could possibly used for.I merely wish to stress the word "best".In an ideal world maybe,but in a real world tradeoffs exist.To every person,a desktop means a different thing based on his/her priorities.Linux,despite its present limitations,might be the best option for some,and not so much for others.