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.

Yay, I got a new computer

It’s been a long time between drinks. My last new desktop computer was a 2.4GHz Dell, which is now pushing four years old. When I bought it, the fastest PC I could have gotten without paying ridiculous prices was a 3.08GHz P4. This machine matched my philosophy of buying the fastest cheap machine or the cheapest fast machine available. The other side of my philosophy is to only buy a new machine if it’s going to be at least twice the raw speed of the last one; anything less isn’t noticeable a day or two later.

The biggest leap I’ve ever made from one computer to the next was probably from my first Mac 512kE (upgraded twice from a 128kB original Mac) with its 8MHz 68000 to a Mac IIci with a 25MHz 68030, 5MB of RAM, and a 40MB hard disk. That was a simply amazing leap. (I’d gotten a Commodore Amiga 500 in between the two, but the Amiga was slower for most anything except games than a Mac, so that was not a speed boost).

My new computer is a standard config Mac Pro. So I’ve gone from a dual 1GHz G4 Mac on the Apple side and a singe 2.4 GHz P4 on the PC side, to a quad core 2.66GHz box. When you do the math, it’s actually a jump comparable to the jump from the Mac 512kE to the Mac IIci — at least on the cpu side. I can theoretically put 8x the RAM into the G5, but I can’t practically afford to!

The real beauty of this, from Apple’s point of view, is that instead of someone like me buying a Mac every four years and a PC every three years (for important productivity tools, like World of Warcraft), both Apple and its customers can have their cake and eat it. We can spend less money on computers and upgrade every 2-3 years, buy a better machine, and not split our incremental upgrades (new graphics cards, more RAM, more hard disks, nicer displays) between our two current boxes. Yes, Apple stuff often costs more (although, try buying a quad Xeon for $2500 from Dell), but it doesn’t cost as much as Apple stuff + Wintel stuff.

It’s bad news for PC hardware makers, since they’ll be losing sales to Apple, but also bad news for Microsoft, because their target audience doesn’t buy a copy of Windows with each box. Yes, the retail version of Windows costs more, but you only need to buy it every five or six years (based on the time elapsed between XP and Vista), during which time many of us would have bought two or three OEM Windows licenses. (In our household, we’ve bought four OEM Windows licenses in the last five years.)

The Macintosh Difference

Dell makes pretty good PCs, as PCs go. Here’s the Mac Pro out of box experience. You open the box. There’s a keyboard and a small black box with CDs, mouse, and such, and some cables (two video adapters, a USB extension cord, power cord). You lift up a styrofoam tray, and there’s the Mac’s handles, and it’s wrapped in thin foam sheeting. You break the seal, the Mac lifts straight out of the box. You stick it on your desk, attach power cord, keyboard, and monitor; hook up the mouse to the keyboard; plug it in, boot. You’re asked to enter a few pieces of info (e.g. your AppleID), which populates stuff like your address automatically and correctly, and then you’re good to go. Elapsed time, five minutes.

Everything, from the fact that the Mac just slips out of its box to the system pinging Apple for your customer info to minimize form-filling is an example of why Apple and Macs don’t suck.

Anyway, first impressions last, but I’ll write about my second impressions later. So far, so very very good.

So much for NDAs

So, folks at WWDC have been delving into their Leopard previews, with results like this.

When members of the die hard early adopter Vista crowd start saying that they bought a Mac after seeing this list, it makes you think that perhaps Leopard isn’t as “disappointing” as some folks have suggested.

Which harkens back to that joke I quoted a while back — What’s the difference between Vista and Leopard? Windows developers are excited about Leopard.

Thinking out loud about Leopard

The Leopard announcements have been widely judged as disappointing. Pretty much every SteveNote is judged disappointing just afterwards, and then folks gradually absorb the information and recast it all as amazing later (I, for one, thought the iPod was an overpriced useless gizmo that only geeks would buy; if you find reportage at the time, you’ll see I was not alone), forgetting that at the time they were disappointed.

I wasn’t disappointed. I’m writing this little note to myself as a kind of open diary entry (hmm I guess that’s what a blog is πŸ™‚ ). Maybe I’ll laugh at myself in six months’ time.

First of all, the Mac Pros are the most droolworthy pieces of hardware Apple has ever released. Well, at least since the Quadra 700 or perhaps the Mach 5 boxes (anyone remember those? Photoshop launched instantly on those suckers…). Sure, I think the cases look ugly and are freaking huge, but you get a whole pile of grunt for not much money. And after reading HardMac I discover that the CPUs aren’t soldered in, so you can buy a 2GHz box and swap in faster CPUs at your leisure (more useful to folks outside the US where Apple’s prices are ridiculous). The only real complaint is that there’s no midrange graphics card option (e.g. an X1600 or a GeForce 7800).

But on the OS front, Time Machine — if it works — is a reason to buy Leopard on its own. Backups are a huge deal. We’re reaching the point at which the hard disks on which millions of people are storing their entire photo and/or music libraries are going to die of old age and you can only imagine the kinds of horror stories that will start circulating by word of mouth. Similarly, the “but I was just magically saved by Time Machine” stories could become a serious selling point. For serious users developers, Time Machine could make, at minimum, version control for small, single-developer projects completely irrelevant. Whether it will have the ability to roll back servers, etc., remains to be seen, but just this much is a serious win (for me, anyway).

I might note that Time Machine — at least as shown — directly supports everything at file level via Finder, but it appears to offer an API for application developers to allow application specific and/or finer grained support. This is what makes having something like Time Machine implemented as OS level so powerful.

The ability to turn any part of any web page into a Dashboard Widget is not only incredibly cool, but it has the potential to both change the way we browse the web AND make Dashboard actually useful and amazing rather than a use-three-times-and-forget piece of eye candy (as it is now). Dashcode sounds pretty compelling, but a lot of that will hinge on whether its JavaScript debugger is as good as advertised.

iChat’s screen sharing features (mentioned on the website but ignored during the KeyNote) are pretty mind-blowing. First of all, having this functionality for free at OS level is pretty amazing (but will iChat be able to broadcast and/or connect to non-Mac clients?) and might make remote meetings and collaboration a lot more doable than is currently the case with half-assed tools such as GoToMyPC or WebEx. The big question for me is the extent to which this functionality may be available independently of iChat. E.g. can we log in to a Mac OS X box remotely with a GUI, or can we only screenshare via iChat?

Next, there’s Spaces. I’ve used several virtual screen programs over the years and at some point, such as when I stopped using the computer it was installed on, just given up on them. This is because while they are great in theory, they all suck in practice. It looks to me like Spaces may address this suckage in a number of ways, not least of which is by making it an OS feature so I don’t need to install it (or license it) on specific machines. But it also appears to be much more intelligently and simply designed than other virtual screen implementations, in part because it’s implemented at OS level:

1. When you jump to an app (e.g. by clicking on it in the dock) you automatically go to its space.

2. There’s a well-defined spatial relationship between the spaces which is consistently reinforced with animations and screen layouts. This is really important (and one of the reasons why many people think the OS X Finder sucks*).

3. I’m hoping that it will be well-integrated with Expose (i.e. that dropping into the Spaces overview is, in essence, what Expose will do now).

I’m not convinced that Spaces will be wonderful; but it has the potential to suck less than its predecessors.

* I think the OS X Finder sucks too, but not because it isn’t spatial. I think the OS X Finder sucks because it is trying to do a really hard job (manage hundreds or thousands of files in a directory, etc.) with a really bad UI design (arrays of icons or lists of text labels) that dates back to when users only had 500 files on their hard disk.

That said, most of the other announcements are pretty ho-hum. 64-bit — yeah, whatever. Being able to install 16GB of RAM is all the 64-bit support I really need for now. Core Animation — cute but will it lead to anything useful or just more cute screensavers? Spotlight — stealing some ideas from QuickSilver and adding remote searches; cool but hardly earthshaking. Mail 3 looks nice, but I don’t currently use Mail 2 (I use gmail) — although I must say when I do launch it to check my old mail (from before gmail) it does make me think I should go back :-).

Finally, the new voice synthesiser rocks. It’s a minor thing but still, it has useful applications. I could actually imagine writing a little app to turn texts from Project Gutenberg into iPod tracks or CDs for road trips … it sounds THAT good.

Windows on the Mac, Revisited

One of the comments on a recent post points out that he (or she?) has blogged on this topic before and in more detail. (I’m hardly the first to observe that WINE, Crossover, et al are, at least conceptually, a far better solution to this problem than Parallels or Boot Camp.)

However, on reading his comments, which I summarize below as five reasons Apple should do this and five reasons it shouldn’t (I’ve paraphrased and renumbered):

Reasons it Should

1. The hard work is done (WINE etc.)
2. Since they’re dropping Classic support…
3. Vista will not support EFI in first release…
4. Apple desperately wants to break into the Enterprise market…
5. Leopard seems to have few compelling new features

Reasons it Shouldn’t

6. Fear of Microsoft retaliating
7. Support would be a nightmare
8. Microsoft’s Mac Business Unit would be alienated
9. Not a new issue and they’ve never done it before
10. It’s not very Apple

Here’s my reaction to said reasons.
1. Agreed.
2. That’s just stupid. It’s not a reason.
3. Irrelevant.
4. Yes, but so what?
5. So, you know what’s in Leopard?!
6. Far-fetched. What could Microsoft try* to do that’s more malicious than “Zune”?
7. Absolutely true and a good point. Might have to be a free download “beta” like Boot Camp.
8. Possibly true.
9. Completely and utterly wrong. Aside from some horrible kludges (like Mac Charlie and the PC compatibility card for early PowerPC Macs) which were essentially low-end PCs that shared the Mac’s monitor, Apple has never had x86 CPUs in its machines, and Mac OS has never run on x86 CPUs.
10. Simply a matter of opinion, and I think far MORE Apple like than Boot Camp or Apple’s previous PC compatibility efforts.
* Actually, Zune is probably a gift for Apple, since the real victims are PlaysForSure licensees. But I doubt Microsoft considered Apple’s feelings.

Mentioned, but not enumerated, is a very important reason — the fact that a company which is on the cusp of developing a native Mac version of a program might decide simply to support the Mac’s Win32 compatibility layer instead. This is a real issue, but it’s not really clear that it doesn’t already exist because of Parallels and Boot Camp. If it’s a key productivity app, then chances are you’ll want it native. Photoshop native is going to kick pretend Photoshop native for the foreseeable future.

The Bottom Line

Apple’s core PC market is people who buy their own computers or can tell their company which computer to buy for them. The whole enterprise thing is never going to work out because enterprise IT hates, loathes, and fears Apple (subject of another blog post I think πŸ™‚ ).

There are a certain number of people out there who want to use both a Mac and a PC for whatever reason. (I’m one of them.) You can only really use one at a time. I would argue that the vast majority of these people want to use their Macs for almost everything and their PCs for gaming and/or 3D apps (like 3DS Max) and one or two random Windows-only apps.

At the moment, Apple and Dell (say) are selling these folks two computers every X months for 1.7Y dollars. If Apple can produce a computer for Y dollars that serves all these people’s needs then their customers will be very happy, and either upgrade more frequently or buy a higher end computer. In my case I’d also save on desk space, power bills, fan noise, and carpet wear from sliding my chair from desk to desk).

If Apple is working on this, it’s doing a very good job of keeping it secret (e.g. it is either doing it from scratch — unlikely — or working on Open Source projects and either not pushing back its changes or somehow concealing its contributions or working with someone like Codeweavers and maintaining absolute radio silence). So it probably isn’t. That said, the solution I’m describing is going to happen whether Apple does it or not. So all the arguments against it are, in the end, irrelevant.