Saturday, May 10, 2008

Linux CLI Not a Barrier

Traceback: http://mssaleh.wordpress.com/2008/05/10/command-line-alternatives-in-ubuntu-linux/

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.

SAJ