Thursday, May 21, 2009

WINE and the importance of application compatibility

With much talk in recent days about the worthwhile-ness and importance of WINE to the success of desktop Linux, I though it worth re-posting a piece I'd penned a little while ago...

One of my favourite areas of amateur endeavour is researching computer industry history. In the mid-to-late 80s, there was a spate of what we now call desktop environments, termed desktop shells back then. These had wacky names, like GEM, Deskview, GEOS and Windows. Each jostled for market dominance. All but one are now essentially extinct. The reason for this makes a fascinating story and sheds light on a vitally important missing element in the Linux ecosystem. Something which the open source industry needs to develop before it can be a serious mainstream contender for the one billion PCs of the coming decade.

It all started when users began to grow weary of having to exit out of one application to launch another. DOS was a single-tasking operating system; it could only run one app at a time. Wouldn't it be nice if it was possible to runmore applications simultaneously? To be able to flip between these and, maybe even copy and paste stuff between them?

Users' appetites where whet by recent events in the industry. Apple CEO 'Guru Steve' Jobs had been off to see the very clever Xerox folk just down the road at Palo Alto, to learn more about this amazing new windows, mice and icon universe they'd built. Steve, knowing a slick thing when he sees it, decided that Apple really needed a piece of this pie; partly because Apple's flagship-cum-cashcow, the Apple ][ family was quickly ailing, partly because the Apple III had bombed severely in the market, but mostly because this graphical environment was just way cool.

Everyone wanted graphical interfaces, but not everyone could go out and buy a Mac, let alone a Lisa, which cost as much as a new car! What could we get to run on the plain 'ol 8086? Well, GEM, GEOS and Windows, et al. Interestingly, Windows was neither market nor technology leader. For quite a few years, Digital Research's GEM product owned the PC GUI market. And in technical terms, GEOS won hands down. At a time when Windows applications had to be especially designed to yield to others to prevent them from locking up, GEOS ran a fast, tight, fully pre-emptively multitasking environment, in a fraction of the resources and memory, all on an 8086 processor. Needless to say, it lost in the marketplace race.

What did win in this race was one of the two competing Microsoft environments. In the late '80s, Microsoft was developing both Windows as a graphical shell atop DOS, and (under contract to IBM) OS/2 as a full replacement to DOS/Windows. It was very much in Microsoft's interests for Windows to win, and it did so for a plethora of reasons.

One key reason was that it offered, at fairly low price, a method for multi-tasking DOS applications. This facility really took flight circa Windows 2.0/386, which leveraged the 8086 virtualisation technology found in the new 80386 CPUs. As a user, you could launch several DOS apps at once, all in different window contexts, all running simultaneously. Performance wasn't exactly spritely, particularly with any application which repainted the DOS screen intensively, but for most users and for most applications, it was good enough. At a time when your average desktop PC cost $4,000, buying a $90 copy of Windows, which allowed you to multitask your DOS apps while providing an environment for tapping into an increasing number of GUI applications (such as Corel Draw and PageMaker), was a no-brainer.

This new group of users, providing a growing target audience for software developers to aim their wares at, precipitated the enormous hegemony that Microsoft enjoys today on the desktop. The transition from DOS to Windows was not exactly smooth, as anyone who can attest to years of fiddling with HIMEM.SYS settings to get DOS games working under Windows will tell you. However, it wasn't a burdensome discontinuity either; DOS line-of-business applications (built in Clipper, dBase, Turbo Pascal etc.) would, for the most part, safely run under Windows via emulation.

I would go as far as saying that without this capability, this magical attribute of being able to run most of a user's existing applications, Windows would not have become the dominant platform that it became. This attribute alone was not enough to cement Window's market position however. Other GUI environments (Deskview/X, OS/2 version 2.1) actually had even better DOS emulation. But without this, Windows would not have been able to provide enough of a safe and comfortable bridge to transport those hundred million users across the chasm from DOS.

Which brings us to today. Linux desktops have reached a point of maturity, polish and sophistication which rivals that found in Windows 2000. Yes, it's not as integrated as XP nor as glittering as Mac OS X. But it's Good Enough™. What Linux cannot offer to most potential users, that critical attribute which presently holds Linux back from much broader adoption on the desktop, is that magical ingredient which Windows offered to DOS users; being able to all your important applications within the new environment.

Current versions of the technology within Linux which provide this 'magic', Wine, allow several hundred major Windows applications to run efficiently and reliably. This includes recent version of Microsoft Office, Project, Outlook, IE, Quickbooks, Photoshop and Lotus Notes client. Wine is still a work-in-progress and a pain to configure. It therefore pays to purchase a nicely-packaged form of this open source technology from one of two vendors: for business apps, CrossOver Office from Codeweavers, and for gamers, CrossOver Games, Cost is $39.95, but it will make installing and managing all those Windows apps under Linux a snap. And you don't need to buy Windows licence, which saves you money,

How to make the vineyard bloom? There are four major industry players (IBM, Sun, Red Hat and Novell) who have a vested interest in desktop Linux's success, and therefore much to gain by cultivating the open source developer community which produces Wine. At the moment Wine is growing organically; slow and steady. With some well directed nutrient booster, say in the form of $10 million apiece, Wine will be running 99% of all those thousands of Windows apps within a year. The prize? a billion PCs which are using now Windows but have no hope of doing newer versions of Windows in a few years.

Now, that's gotta be a market worth tilling a hoe at.

No comments: