Tuesday, September 05, 2006

Of course, it's just a rumor

I've not been reading much tech news lately... too busy actually doing work (for a change!) So it was with some satisfaction that I read reader reports on Macintouch of using Crossover Beta for Mac OS X.

Crossover is a commercial version of WINE (WINE Is Not an Emulator), which is a library which provides a Win32 compatibility layer for various UNIX/Linux flavors, including OS X. This is the technology which, eventually, may allow Windows apps to "just work" on any platform.

(It's sad that for some reason the two apps most people seem to want to run under WINE are Visio and Outlook. I'm sorry, but Visio is a joke (try Omnigraffle), and Outlook is, at best, a horrible necessity.)

There are also game-specific variants of the same thing which allow programs which live on top of a certain subset of DirectX (Microsoft's game development API) to "just work" on UNIX/Linux platforms.

Anyway, I mention this mainly because of some bloggers who -- somewhere, sorry I couldn't find the post directly -- have written off this entire direction.

My wife needs to use SPSS for her work. SPSS is a classic example of a program that folks will run Windows just to use. The Mac version sucks and lags the PC version. SPSS is horrible on all platforms, and really having it "ported" to Mac OS X gains us nothing. Crippled and lagging as it is, the Mac version of SPSS currently does not run, even under Rosetta, on Intel Macs (a neat trick!). It seems to me that it would be easier for SPSS to work on compatibility with WINE/Codeweaver than keeping a lousy Mac implementation going, and everyone's a winner.

One of Joel Spolsky's observations is that you want your competition to be expensive and your complements to be cheap and ubiquitous. WINE/Codeweaver is free/cheap, Windows is expensive. It's better -- especially for software aimed at niche markets -- to target WINE than Windows, given you get the latter for free by targeting the former.

This is why compatibility libraries, such as WINE, which -- essentially -- reduce Windows (or other platforms) to virtual machines, are the way of the future, and not a myth to be debunked. Forward-looking software development (e.g. .NET, Cocoa, Java) build virtual machines, while backward-looking development (emulators, compatibility layers, etc.) reinvents old APIs as virtual machines.

Leopard may not provide WINE-like functionality out of the box (although it would blow a lot of minds if it did), but it looks like we'll get it from Codeweavers (or an early version at least) before Leopard ships, and ultimately similar technology will get better and software developers will have an incentive to target it -- so inevitably, Windows apps will, one day, "just work" on Intel Macs. As will Classic Mac apps.

But, it's just a rumor.