*(Up­date: in ret­ro­spect, I have re­al­ized that this ar­ti­cle is per­haps not so well writ­ten. Ex­pect some­thing more use­ful and co­her­ent soon!)*

Lin­ux seems like the per­fect so­lu­tion for the new brand of portable PCs, net­books. It’s ef­fi­cient, re­quires few re­sources, and can run most if not all of the pro­grams one usu­al­ly runs on such small com­put­ers - word pro­cess­ing, email, web brows­ing, and so on. Large, com­plex soft­ware pack­ages that re­quire Win­dows to run per­form abysmal­ly on low-pow­er com­put­ers like net­books, so ef­fec­tive­ly the need to run Win­dows is nul­li­fied.

Why, then, do con­sumers (and re­view­ers!) choose Win­dows over Lin­ux for net­books?

*(In the re­main­der of this ar­ti­cle, I will refer to “Lin­ux” when I some­times mean “the Lin­ux com­mu­ni­ty” and oc­ca­sion­al­ly “the open-source com­mu­ni­ty at large”.)*

### User In­ter­face ###

I think the prob­lem is two-fold. First, Lin­ux’s user-in­ter­face is still not up to par with that of Win­dows, even Win­dows XP. GNOME’s user-in­ter­face has not been tru­ly up­dat­ed for years, and the ba­sic com­po­nents of a Lin­ux UI - the file man­ager (Nau­tilus), the web browser (Fire­fox) sim­ply don’t run as well as their Win­dows coun­ter­parts. By some trick or sleight of hand, Win­dows Ex­plor­er and Fire­fox on Win­dows sim­ply run faster than on Lin­ux. No, it’s not mea­sured in raw per­for­mance - if any­thing, web page ren­der rates on Lin­ux should be faster. When the user clicks a but­ton in Win­dows, or dou­ble-clicks a file fold­er, or any­thing of the sort, the com­put­er sim­ply re­sponds faster. Espe­cial­ly if the com­put­er is new, com­put­er re­spon­se time in Win­dows is al­most in­stant.

This is not true with Lin­ux. Even though Win­dows tends to slow down far past the level of Lin­ux with time, and Lin­ux more con­sis­tent­ly main­tains re­spon­se time, that first im­pres­sion of the Win­dows in­stant re­spon­se is pow­er­ful. I can’t put my fin­ger on what caus­es it right now, but cer­tain op­tions in the Lin­ux ker­nel con­fig seem to help. On the whole though, the Lin­ux sys­tem is tuned more for con­sis­tent per­for­mance than in­stant­ly over­rid­able user re­spon­se.

This is ev­i­dent when run­ning mul­ti­ple, in­ten­sive tasks at on­ce. Lin­ux slows down, but ev­ery­thing in the GUI is still click­able. Win­dows, how­ev­er, is much less ca­pable at han­dling com­plex mul­ti­task­ing. Un­for­tu­nate­ly, the or­di­nary user doesn’t care.

Over­all, Win­dows is just more pleas­ant to use. This is a com­bi­na­tion of the above-de­tailed re­spon­se time ef­fect, and al­so be­cause Lin­ux’s in­creased flex­i­bil­i­ty, al­so per­tain­ing to the UI, hin­ders us­abil­i­ty. Sim­ply put, the Lin­ux UI needs to be bet­ter de­signed, for *or­di­nary users* and not for de­vel­op­ers or hack­ers or pow­er users.

### Eco­nomics ###

The sec­ond prob­lem is one of eco­nomics. There are two types of goods in a sim­ple eco­nomic anal­y­sis - nor­mal goods and in­fe­ri­or goods. Nor­mal goods are those that you buy more of as your in­come in­creas­es. In­fe­ri­or goods, on the other hand, are goods that you buy on­ly when your in­come is very low. A com­mon ex­am­ple in eco­nomics is sin­gle-ply toi­let pa­per - nor­mal­ly, peo­ple on­ly buy cheap toi­let pa­per when they have a great need to save money. Wealth­ier in­di­vid­u­als avoid the pro­duct al­to­geth­er.

My propo­si­tion is that Lin­ux is cur­rent­ly be­ing seen as an in­fe­ri­or good. [This ZD­net blog post][zd­net] ex­plains the si­t­u­a­tion per­tain­ing to Lin­ux in Africa. Ra­dio sta­tions, an im­por­tant tool for com­mu­ni­ca­tion in Africa, prefer to use pi­rat­ed ver­sions of Win­dows in­stead of le­gal­ly ob­tained copies of Lin­ux. The Lin­ux dis­tri­bu­tions pro­posed are specif­i­cal­ly de­signed for their broad­cast­ing pur­pos­es, and in ba­si­cal­ly all re­spects have *bet­ter-de­signed* UIs (for broad­cast­ing) than Win­dows. In this case, Lin­ux is ob­jec­tive­ly more suit­ed for their pur­pos­es, so why do the ra­dio op­er­a­tors prefer Win­dows?

[zd­net]: http://blogs.zd­net.com/BTL/?p=11141&tag=nl.e539

Ac­cord­ing to that post, Win­dows is seen as a “first world stan­dard”, and to the ra­dio sta­tions, en­cour­ag­ing them to use Lin­ux seems like try­ing to “cheat lo­cal peo­ple out of get­ting the same qual­i­ty of soft­ware that is used in the de­vel­oped world”. In this case, Lin­ux is seen as the in­fe­ri­or good. It is seen as the pro­duct that one choos­es to use *on­ly when one does not have the eco­nomic re­sources to use a “bet­ter” pro­duct*, like Win­dows.

Part­ly, I blame pre­vi­ous (and in some cas­es still on­go­ing) ad­ver­tis­ing and pub­lic­i­ty for Lin­ux as a “low-cost al­ter­na­tive” to Win­dows. The use of both those terms have cre­at­ed huge prob­lems for Lin­ux’s im­age to­day. It is seen as be­ing the cheap­er “ver­sion” of Win­dows - that which one would buy on­ly if they lacked the abil­i­ty to pay for Win­dows. It is al­so paint­ed as an “al­ter­na­tive”, and com­bined with the ef­forts (well-placed!) of such pro­jects as wine and OpenOf­fice.org to en­sure Win­dows com­pat­i­bil­i­ty, cre­ates again an im­pres­sion that Lin­ux is try­ing to live up to Win­dows, and should on­ly be used when one has no other choice. In­stead of cre­at­ing choice, Lin­ux seems to have in a way lim­it­ed it.

### So­lu­tions? ###

ubuntulozengestraplogo

I hon­est­ly don’t think very many peo­ple, if any­one, has a so­lu­tion to Lin­ux’s per­sis­tent im­age and mar­ket pen­e­tra­tion prob­lems. I think Ubun­tu, my pre­ferred and fa­vorite Lin­ux dis­tro, is the on­ly dis­tri­bu­tion so far to even come close to a us­able, well-re­spect­ed Lin­ux dis­tri­bu­tion. (In my opin­ion, it’s more well-re­spect­ed than us­able.) I don’t claim to have the an­swers ei­ther. How­ev­er, I do think that Lin­ux needs to **stop copy­ing Win­dows**. I don’t think that Mi­crosoft’s UI is nec­es­sar­i­ly the best ei­ther. OpenOf­fice.org doesn’t have to look *ex­act­ly* like Mi­crosoft Of­fice 2003. More UI in­no­va­tion from with­in the open-source com­mu­ni­ty, and al­so more open-source UI de­sign­ers, are need­ed. Lin­ux should be aim­ing for in­creased us­abil­i­ty, not sim­ply look-alike Win­dows func­tion­al­i­ty. UIs for pro­grams need to be de­signed, re­viewed, and test­ed, with third-par­ty test sub­jects, if pos­si­ble.

I do not con­done, how­ev­er, de­creased Win­dows com­pat­i­bil­i­ty. Lin­ux needs to work flaw­less­ly with Win­dows file for­mats and net­works (and, to some ex­tent, Win­dows ap­pli­ca­tions) in order to be com­pet­i­tive. De­vel­op­ment al­so needs to be easier on Lin­ux. Face it friends, au­to­conf and au­tomake are out­dat­ed and clum­sy. Make­files are out­dat­ed. IDEs, such as KDe­vel­op (in all other re­spects an ex­cel­lent IDE!), that re­quire the use of au­to­conf and au­tomake are, by ex­ten­sion, out­dat­ed. Soft­ware de­vel­op­ment is too slow and clum­sy right now on Lin­ux. This is not to say that Lin­ux-based soft­ware de­vel­op­ment tech­nolo­gies are bad! Sub­ver­sion, for ex­am­ple, is an ex­cel­lent ver­sion con­trol sys­tem. Un­for­tu­nate­ly, it’s most easi­ly used in con­junc­tion with a Win­dows-based IDE. Soft­ware de­vel­op­ment needs to be re­moved from the do­main of the text-based ed­i­tors and com­mand-line hack­ers, and in­to the do­main of easy, rapid, com­mer­cial (and vol­un­teer) de­vel­op­ment. User-in­ter­face de­vel­op­ment, for ex­am­ple, is ex­treme­ly easy on Win­dows due to Mi­crosoft’s well-de­signed tools for UI de­vel­op­ment. Sure, Qt De­sign­er fills the same shoes, but Mi­crosoft’s tools are bet­ter-made, and more flex­i­ble with­out sac­ri­ficing us­abil­i­ty. If Lin­ux could adopt a con­sis­tent pol­i­cy on which UI toolk­it to use, and then make that UI toolk­it very easy to pro­gram with, I’m cer­tain that ap­pli­ca­tion de­vel­op­ment on Lin­ux would blos­som.

Ob­vi­ous­ly the open-source de­vel­op­ment mod­el has been rel­a­tive­ly suc­cess­ful up to this point. Its free flow of in­for­ma­tion and code en­cour­ages it­er­a­tive de­vel­op­ment and widens the net for pro­gram­ming tal­ent. Un­for­tu­nate­ly, it still has a long way to go. Lin­ux’s rep­u­ta­tion can­not be fixed by more ef­fec­tive cod­ing alone. The user-in­ter­face prob­lems that many Lin­ux pro­grams face can­not be fixed with­out a more com­mer­cial-like de­vel­op­ment mod­el, or more full-time (may­be paid!) work­ers. Un­til that hap­pens, Lin­ux is like­ly to re­main an in­fe­ri­or pro­duct in the eyes of the pub­lic.