Saturday, May 10, 2008

Linux CLI Not a Barrier


I found this blog post on Digg, and while I agree that there still need to be improvements in the GUI arena for Linux adoption to improve. I do feel that Mohammed has a few misconceptions that I feel the need to respond to. A lot of this is strictly personal opinion.

The modern GUI was envisioned by Xerox PARC as an intuitive interface for people to interface with computers for everyday tasks. The purpose of which was to abstract the everyday operations of a computer in such a way that people in an office setting could understand. So they abstracted all of these concepts to be represented by real world objects: Folders, Files, "Trash" bins, and WYSIWYG. That is all any GUI really is, and I don't necessarily feel that the Linux community has failed everyday users in this regard. The key concept here is "everyday use." The vast majority of the users that we are trying to "convert" use their computers for a limited number of tasks: Web browsing, office applications, file and photo management, chat, and probably a few other things. There are lots of applications to perform these everyday tasks.

It is "when things go wrong" that users have to turn to the command line. I agree with this statement for the most part, but I do not believe this is a huge barrier to Linux adoption because the every day user does not support their own machine. The majority usually turn to some form of expert to resolve their issue. It is these "experts" that demand the GUI tools NOT the everyday user, and any expert supporting a Linux system needs to be familiar with the command line. GUI tools exist to do a lot of different things now, and the list is growing, but just like you need to use a command or edit the registry to fix a problem every now and then, you may have to use the command line in Linux.

It is not like Windows has a built in GUI tool for everything either. A Windows "expert" already has a suite of tools that he searched the web over years to find, and they probably had to do a lot of searching and downloading to find the right ones. A software repository is easier to find software and installing it to work on your system than Googling it and hope that it works the way you expect on your Windows setup. There is a lot of bad software that you need to pick apart to work with a Limited User Account. This is not a problem with software repositories and software designed for Linux. Yes, there are a lot of options, but in a truly competitive market where the best product wins, there are supposed to be, and to the everyday computer user, this is just another unfamiliar experience.

The users adopting Linux these days are those that want more options or they want to explore, and a lot of them are installing and supporting their own systems. In a way, these people aren't approaching Linux as if they wanted to use it. They're approaching it as if they want to become experts, and if you want to be an expert, that means you have to learn the system and its internals. That means learning the command line because it is the most effective way to learn and manipulate the system at the moment, and in a lot of ways it is easier to understand and support Linux than Windows. They just have to overcome that learning curve because Linux is NOT Windows. It is not going to appear or behave just like Windows. When every day users begin to truly adopt Linux, they will purchase it from a big name with a support agreement, or take it to an expert to fix the problem for them. Until then, Linux is sitting here and is ready for them. It is the "experts" that are being intimidated because system internals have been hidden from them for so long, they realize they do not understand their systems as well as they thought they did.


Monday, April 30, 2007

Innovation: The REAL Killer App

I have been following GNU/Linux and the Free and Open Source Software Movement for a while now. Up to this point, I've been strictly a user and advocate of the software and the ideology that follows it: the idea to freely share and develop ideas. While the open source software movement is primarily concerned with the source code to its projects, the free software camp is primarily concerned with the moral obligation to share the source code. In this regard, I'm probably fit into the more radical free software movement. I believe that not only can this ideology be beneficial to software development but pretty much all aspects of human development work. If you have only one engineer working on a solution to a problem, you only get that engineer and his company's solution. If all of mankind works to find a solution together, you find an efficient unbiased solution that solves the problem through effective problem solving and mitigates the ramifications of the new technology through good design. For the most part, it pleases everybody involved because the varied self-interests of the engineers require a solution that appeals to everybody. In other words, mankind as a whole finds the best solution.

For the past few years, various industry analysts and open source zealots have predicted the emergence of GNU/Linux as a force to be reckoned with on the desktop market, but for the past few years, this prediction has always come up shorter than what was originally hoped. According to them, Linux was not ready. To these people, there is only one way to become a force on PC desktops everywhere: "Be like Microsoft Windows and the people will trade Microsoft for Red Hat or Novell because GNU/Linux is cheaper." In other words, make your operating system behave like and inter-operate with Microsoft Windows, and you will get users. I feel like this attitude has hindered the movement and could not be any further from the truth.

Microsoft Windows is installed on well over 90% of the desktop computers in the world today. Not to mention it is the only operating system installed by OEMs when their desktop products are manufactured and shipped. Sure GNU/Linux is free, but consumers would have to disregard the operating system that came installed on their PCs. Now, consider that the consumer purchases a commercial distribution of Linux, and the opportunity cost of migrating to GNU/Linux is much higher than Microsoft Windows itself. Some might say that there are free and non-commercial versions of GNU/Linux available, and this is true. However, these free community distributions are limited because they usually cannot include a lot of codecs and plug-ins necessary for stable use of proprietary methods and multimedia presentation. Out of the box, a free distribution just does not give the consumer what they want.

So the GNU/Linux price tag, the keystone of the GNU/Linux desktop strategy, will not actually win the war. Microsoft is too entrenched in the industry; they have exploited the consumers of the free market to establish a dominance that will prove very difficult to overcome. For many years, the primary business strategy of Microsoft has been leveraging their market share to perpetuate their market share. It is a rather brilliant business strategy because as long as they have market dominance they can implement whatever measures to ensure their dominance, and the monoculture of the industry will do the marketing for them. Until governments do their job and really intervene, free and open source software as well as any other direct competitor is at a disadvantage. On the other hand, Microsoft has made a critical error.

After years of development, Microsoft's Windows Vista has finally been deemed ready public consumption. However, the consumers do not want it. This is clear because of the low early adoption rate. Consumers have even asked Dell to offer Windows XP again on the desktop systems they sell, and Dell thought it would be profitable to actually give the consumers what they want instead of what Microsoft wants. What does this say about Windows Vista? Why do people prefer Vista's five-year old predecessor? There are not enough compelling features for people to care. Vista has added nothing more than expensive hardware upgrades and resource-intensive eye candy.

There is no true innovation in Windows Vista. Microsoft has spent years developing a product that nobody cared about or wanted. All Microsoft was developing was the operating system they needed to perpetuate their Windows franchise. After long hold ups in development, this has left their Windows revenues at a trickle. The sad thing is the GNU/Linux camp has done little to combat this deficiency in innovation. They have been more concerned with creating an equivalent product at a better price rather than a better product at a better price. Sure GNU/Linux is a better product due to its inherent stability, performance and security, but these aren't the features that home consumers migrate platforms for. True innovation, such as improvements in usability, is the only way one can convince consumers to choose your product over a stagnant entrenched one like Windows. It is simple free market economics, the better product at the best price will win. The consumers are speaking, is the free and open source movement listening.