Comments

So you may notice I’ve added comments here. They’re just barely working, I know I’ve got some cleanup to do. Feel free to comment here about them.

Now I’m testing refactoring the screen. We’ll see if this works, too.

I don’t do Windows

Yeah, of course you know that. But bear with me, I’m talking about something different here.

For years we Mac users have been able to run Windows emulation – through SoftPC, SoftWindows, Virtual PC, and now Virtual PC for Mac by Microsoft (shudder). We can use the same software (so long as Microsoft still allows it) to run UNIX.

Now Windows users can run Mac OSX with Pear.

These people are missing the point! I have no desire whatsoever to run Windows. However, there are a handful of Windows programs that I would like to use (mainly ’cause they’re not available for MacOS yet, or in the case of most M$ stuff, ever). I want these to be intergrated with the OS so I don’t even know I’m using software from a different platform.

I might also want to run UNIX programs on either Windows or the Mac.

There are a few ways to do this now, slowly, painfully and with (often free, but) third party software.

UNIX users can use WINE . This actually looks pretty slick, tho I’ve never actually used it. WINE (so says the FAQ) just provides the Windows API (Application Program Interface – the thingey that takes commands and makes them happen). This means that it’s not running a program (whatever software you actually want to run) within a program (the emulator). This is especially difficult to do since Microsoft is so bad at documenting and allowing access to their APIs.

(Unfortunately WINE won’t run on a Mac because it requires an actual Intel x86 CPU; Mac has the superior G3 and G4 CPUs).

OSX is based on UNIX, so there’s a command line prompt which will run nearly all Unix programs flawlessly.

UNIX GUI programs, on the other hand, require X11 – which Apple provides, and it works great – for what it is. The problem being, when you run X11 programs, they look and act like X11 programs. Flaky menus, non-adherance to the user interface, etc.

Under Windows, you can emulate UNIX command line quite well with Cygwin. (Ah, there’s my buddy the slash, and not that teeth-grindingly offensive backslash used by DOS inherited from CP/M that’s caused 30 years of lUsers asking “Which one is the backslash, you mean the one that goes right to left, or left to right?” Grrr.) Cygwin is great for getting back UNIX utilities like “grep”, although that’s about all I really use it for; I understand it can even run Apache web server.

Apparently Xwin32 can run X11, er, server (separate rant about how X11 “server” and “client” are reversed which annoys me slightly less than the backslash thing) under Windows, but I’ve never tried it.

OSX did a great job of running Classic Mac applications – too great a job, I’d say. They were running an emulator, but it integrated about as well as could be expected with the new OS. So a lot of users kept using the old versions of software instead of upgrading. There was also a rumored “Red Box” that would have run Windows software in a similar integrated emulator.

Then there’s things like the Java virtual machine, which lets you run Java apps on any platform. Again, this is really convenient, but the user interface is mucked up (example: from a Mac Java app, hit command-q. Instead of your application asking if you want to save, the JVM quits and you lose your work).

The point of this long diatribe is that I believe that Apple and the UNIX folks should really be putting the effort into making workable integrated emulators, especially such as Wine which implement the “guest” applicaitons through APIs without the overhead of the entire OS (and without the overhead of the CPU either). Like it or not, despite the fact that OSX and Linux are far superior operating systems to the Windows junk – we’re still the underdogs, and as such, we must still try harder. A the same time, we should be using all legal means to lean on the behemouth M$ to document and open their APIs, and using evangelist means on Windows applications vendors to work with us so they don’t have to produce two separate versions of their software.

Here’s a final interesting example. Aspyr makes a lot of the “ported” games for the Mac, like The Sims. As a matter of fact, they don’t actually make them – they just take existing games from Windows and make them work on the Mac. Is there really more money in converting a shoot-em-up, than there is in converting actual useful business software? Yeah, probably there is. But still. Unfortunately, the biggest examples of Windows software I’d like to be able to use on the Mac come from Microsoft – Visio, Access, SQL Server, Visual Studio. Most everything else has an equivalent (or arguably a superior) on the Mac, and even these have alternatives – unless I have to, for example, develop software in Access, SQL Server or Visual Studio. (Omnigraffle is getting there, but it’s still no Visio, even though I despise Microsoft all the more for buying up Visio).