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.

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.

Return of the Newton

It’s been thirteen-or-so years since I got my first Newton. The PDA industry has still not produced a tool with a better interface for note-taking, tracking appointments, or making quick sketches. I’ve still never lost data in a Newton. (I’ve owned two iPaqs, both of which have died losing everything onboard on multiple occasions. That just isn’t cool. The fact that they’re useless pieces of junk for anything that a decent cellphone can’t do doesn’t help.)

So folks are buzzing about the imminent death of the iPod (my iPod died a couple of months back; it was its second trip through the washing machine that did it). I actually agree that everything is going to merge into the cellphone, and I hope that Apple will be the company that makes that cellphone. And I think they can do it. Anyone who can reduce the pocket/purse clutter we all live with and the number of things we can forget to take with us when we leave the house, or recharge when we’re at home, without losing functionality or convenice, has a winner on their hands.

Here are some things iPods do well:

  • Stores Data
  • Transfers Data to/from Computers
  • Navigates Large Lists
  • Plays Music
  • Runs a decent time on a single charge (unless playing video)

Here are some things iPods do less well:

  • Output audio to other devices (e.g. car stereos)
  • Output video to other devices (e.g. TV sets)
  • Transfers Data to/from other devices (e.g. cameras)
  • Allow you to view organizer data (appointments, contacts)
  • Record Audio
  • Watch Video

Here are some things iPods don’t do that you need to carry other crap around to do:

  • Make/Receive Cell Phone Calls
  • Make/Receive VoIP Phone Calls
  • Instant Message
  • Video Conference
  • Allow you to record organizer data (appointments, contacts)
  • Transfer Data to/from common data storage cards (e.g SD Cards)
  • Take Pictures
  • Take Notes
  • Draw Pictures

So imagine that Apple produces an iPod with a larger screen, bigger battery, solid state storage only (no hard disk), an SD card slot, a microphone, a small camera, and the the best pen-based UI ever developed (i.e. the Newton’s). It can basically be a Nano in a Video iPod case using the space previously used for the hard disk for more battery capacity.

All of a sudden they have a Newton (who cares if it’s really a Newton underneath, as long as it has the UI?) that they can actually sell.

Bootcamp, virtualization, yada yada yada

Microsoft makes tons of money and has legal headaches. Apple makes not quite so many tons of money and has smaller legal headaches. Here’s an interesting possible direction…

Apple makes Windows XP/Vista “the new classic” via strong virtualization (i.e. virtualization where the virtual machine can actually “see” some of the more useful hardware, which is to say the GPU) within OS X 10.5.

OS X 10.6 with Windows Vista bundled (a la Classic) replaces Windows as both Microsoft’s and Apple’s OS. Microsoft still makes a ton of money from OS X 10.6 (via sales of Office and cross-licensing). Apple gets access to Microsoft’s DRM. Windows users get a relatively robust OS. Users get a single OS that can run Windows, Macintosh, and UNIX software seamlessly, play media from anywhere. Apple will lose hardware sales but gain huge market share. Everyone is happy.

Note that Apple is heading this way regardless (and, indeed, Apple has no choice; virtualization is already here and stronger virtualization is the logical, obvious next step).

So it’s merely a matter of whether the two companies cooperate to make everyone’s lives easier, or insist on creating incompatibilities to force some users to choose one platform and live with the inconvenience and other users to work across both platforms and live with a different level of inconvenience.