VMWare Fusion

Machine Virtualization has come a long way over the years and it is about to the point that an OS running in the virtual machine runs just as fast as it would natively. The latest generation of processors support virtualization to make it even better.

VMWare for years has been on the cutting edge of virtualization and owns a slew of patents in the field. Parallels is another virtual machine product for the Mac that has gained a lot of attention for the features it has and got to the market before VMWare’s latest offering for OSX. I decided though to go with VMWare’s Fusion since from what I have read and some of the reviews of it that it utilizes both cores of a dual core processor and that it is totally written in Cocoa from the ground up giving it both better speed and memory utilization.

So I downloaded the 30 day trial of VMWare and had it installed quite quickly. Using the wizard I setup an XP Pro virtual machine using an XP Pro .ISO file and had it up and running pretty quickly. Once setup on the VMWare menu you can install VMWare Tools to make integration better. I then installed some of my favorite windows app in it such as Dreamweaver and was putting it to use with no problems. The clipboard integration between the virtual machine and OSX is seamless. Nicely you can also just drag and drop files between OSX and the virtual machine – this is a great feature.

Normally windows runs in it’s a single window, but you can also run it full screen or in unity mode. Unity mode though allows you to have Window’s windows along side your OSX ones. The Unity mode integration with the Dock is excellent. Windows programs show up in your dock just like OSX ones. You also get both OS’s windows in Expose making it easy to find or switch to another window regardless of what OS it is running in. Previously I used a terminal hack to give me a stack of recently accessed programs and this stack has both the OSX and Windows programs/documents I have accessed.

I would totally love Unity mode if it supported multiple monitors. When you switch from single window/full screen mode to unity mode you can only have your windows on the monitor that you were on when you did this. So you need to put the window in the monitor you want to use for Windows programs before you switch to unity mode. I was able to change the display setting to make the monitor seem wider and could partially move onto the other monitor so a window that did not take up very much screen real estate could be placed on the other monitor. Currently Parallels also does not support multi monitors it is is suppose to be something that will happen in the future.

VMWare Fusion even has support for Direct X 9 and could even be used for gaming. I haven’t tried this out yet not being the gamer I once was. I might try putting Microsoft’s Visual Studio on the Virtual Machine to check out how it performs. I have some projects written in C# that are quite complex and would give me a good idea how fast the virtual machine really is.

Fusion also works with a Bootcamp partition if you have one and will even convert any of Parallels’ virtual machines to work with Fusion.

VMWare Fusion is very intuitive. I didn’t have to read any instructions to get things up and running. I am quite impressed by this product, but I am also pretty glad that their is healthy competition between Fusion and Parallel. This is a win-win situation for users. What is great though is that I can easily see that when in the future my PC gets a little long in the tooth that I will confidently be able to buy a Mac Pro to do all of my work in Windows and OSX on the same machine.

Update: When my Vista PC died I wasn’t too upset and have just switched to my iMac full time.  I have found that Visual Studio 2005 and 2008 run just fine on Fusion and I have had zero problems developing using these tools during the last couple of weeks.  Now that I have to run Windows programs in a virtual machine it gives me a much better test and I am really pleased at the performance and it feels to me as if I am running my programs on a dedicated machine.