Dual Booting is Yesterday – Virtualization is Tomorrow.

I have to say I’m not optimistic about Apple’s recent decision to support dual-booting their new Macs. That’s the sort of sophomoric corporate blunder that can capsize even the healthiest of businesses.

In short, I think it’s going to backfire.

Companies aren’t going to spend millions of dollars porting software between two operating systems when Macs can now natively run both. The fiscal bottom line doesn’t care whose widgets are prettier and whose user interface is more pleasant overall.

End-users aren’t going to spend the time learning a new operating system simply because they don’t have the time.

This means that Mac users and those few who actually do take the effort to switch, the main audience Apple is serving by selling Macintosh computers, will face a slowly dwindling selection of native Macintosh software, forced to run more and more Windows applications until they find themselves in the Windows environment almost all the time.

In the meantime…

A better way to have shown people that MacOS X is compatible with the world of Windows would have been to bundle a virtual machine, or to promote virtual machines as the answer. A dual-core Mac is more than powerful enough to run business applications within a virtual machine, especially given the UNIX underpinnings of MacOS X and the fact that its scheduler would allow a guest operating system to scream.

Gaming, you say? Gamers are in their own world, and I can’t really say I care what they want. Dell/Alienware can keep them.

Benefits of dual-booting:

Slightly higher performance in some cases.
I was going to add “greater support for peripheral devices”, but this is a demographic issue and I can’t think of many peripherals Macs don’t natively support already.

Drawbacks of dual-booting:

Windows XP can’t access the Macintosh filesystem without a third party application called “MacDrive”, which I really wouldn’t trust with my data.
MacOS X can read Windows XP’s section of the hard drive, but is unable to save changes to it (read-only).
Wasting time waiting for the computer to restart
Can’t use applications from both operating systems at once

Benefits of a virtual machine:

The second operating system runs at native speed, with no penalties usually associated with emulation.
The user is able to exchange files and data between both operating systems in real-time, including moving and copying files between both environments, and copying and pasting images and text between them.
Any number of operating systems can be run at the same time, limited only by how much memory the host computer has.
No time waiting for the computer to restart.
Can use applications from all operating systems simultaneously, and exchange information between each.

Drawbacks of a virtual machine:

Each operating system requires a sizeable amount of memory. A computer running two operating systems simultaneously should have a minimum of 1 gigabyte of RAM, to accommodate the current average of 512MB per OS. Once Windows Vista comes out, a virtual machine hosting it will probably need from 768MB to 1.5GB of RAM all its own, meaning 2 to 3 gigabytes of RAM will be recommended for the host computer at that time. The upside? Memory is extremely cheap these days, and a gigabyte of RAM can be obtained for as little as $100 ($80 USD).
Not all things can currently run practically in a virtual machine. A good example of this is video games making heavy use of 3D acceleration features present in modern video cards. These types of games rely so heavily on the layout and behavior of a native computer that a virtual machine would not play them well at all. Like I said, I don’t consider this a problem, because most gamers aren’t going to care to buy a Mac for its native OS anyway, and would save money building their own computer.

Aside from this, a virtual machine is the way to go. Computers are now powerful enough to comfortably run not one, but two operating systems at once. Intel and other CPU manufacturers are responding to the rising demand for virtual machines by adding virtual computing extensions to their processors, enabling the next generation of computers to even more effectively run multiple operating systems at once. Businesses are beginning to use virtual machines to consolidate multiple aging servers into a single, powerful machine hosting each of the old ones. Corporate desktops requiring high security are starting to see each application running in its own virtual environment, protecting all others and the rest of the computer from a virus attack.

So given these obvious advantages, and the obvious capability of Apple’s computers to virtualize rather than having to dual boot, why would Apple respond with a method that inconveniences the user and could seriously harm the viability of MacOS X?

Heaven knows.