Monday, July 24, 2006

Running Windows Apps on a Mac & Other Stories



One of the best stories I've heard about Apple's history concerns Ellen Hancock, whom Gil Amelio brought into Apple as Chief Technology Officer. Her role is pretty much overlooked these days, but she is responsible for pulling the plug on Copland, looking for a viable replacement, and -- ultimately -- acquiring NeXT, Steve Jobs, and Avie Tevanian (her successor).

Anyway, back to the story which I am reciting from memory. Ellen Hancock comes in to work and she is the most senior woman -- ever -- at Apple, surrounded by a lot of cocksure guys. She holds a meeting with her key reports and during the meeting utters the following statement. "One of the things that's always puzzled me about Macs is why when I have a Windows .exe file on my desktop and I double-click it, it doesn't just work." The reaction is one of utter consternation. How could anyone working at Apple, let alone its new Chief Techology Officer, be so utterly clueless. And then it starts to dawn on them:

1) She has a PhD in Maths.
2) She has done serious shit at IBM.
3) She's right.

Not long after this, Virtual PC added a feature which actually allowed .exe files to "just work" if you double-clicked them. It was a horrible kludge -- you double-clicked the .exe and Virtual PC (which claimed ownership of that type of file) launched, loaded up the last version of Windows you had run with it, booted Windows, copied the .exe file over to some place Windows (under VPC) could see it, and then attempted to execute it. If the .exe required a bunch of local context to work (as most Windows .exes do) it quite likely crashed.

But the principle was there.

The only word we've seen from Apple on Windows compatibility lately is (a) Bootcamp -- a pretty much wholly unsatisfactory option for serious users (it's a great security blanket for switchers). (I am not going to reboot my Mac to run some dumb Windows app; I hardly reboot my Mac at all period. If a Mac OS update requires a reboot, I often leave the dialog up for days before I finally click "Restart"...); (b) pushing Parallels Workstation -- almost as unsatistfactory as Bootcamp since it won't run games, which are Windows's killer app; and (c) a statement by Phil Schiller that Apple is not going to implement virtualization in Leopard.

So Apple has implemented one pretty much lousy option, is pushing a second, also lousy option, and has denied that it will implement the second lousy option itself.

What Apple hasn't denied, because no-one has asked, is whether it will implement the correct answer to Hancock's question -- a Win32 compatibility box in the Mac OS X block diagram. You know, those rectangular diagrams which show "QuickTime" in a box that is kind of offset on top of another box labelled "Quartz". The one with "Carbon" and "Cocoa" sitting side-by-side.

This isn't the stuff of Science Fiction or a bad rumor page. It has existed under UNIX for years, Linux for not-so-many years, and is currently available for free as Open Source WINE (WINE is not an Emulator) and in various commercial forks. Apple in fact used to sell an equivalent product for UNIX that let you run Mac apps on Sun workstations. Unlike bad option #1 it doesn't require rebooting your Mac, and unlike bad option #2 it doesn't require partitioning your hard disk, booting up Windows in a virtual environment, or giving up games. Word has it that World of Warcraft (for Win32) actually runs faster under WINE than under Windows itself.

Let's see. This option is Open Source or (for certain versions) fairly inexpensive to license, works better than any other option, satisfies the it just works mantra, is unbelievably cool (as in "would make a kickass TV ad"), is already out there, and Apple hasn't denied that it is working on it. Oh and it doesn't sell more Windows licenses.

But, you know, maybe Apple will just buy Parallels.