A Few Weeks with a MacBook Pro, Parallels, and MSDN Universal


Several weeks ago a maxed-out MacBook Pro arrived at my doorstep, and since then I've been putting it through the paces as a .NET development system --- using Microsoft's own Visual Studio 2005 on Windows XP, running under OS X via Parallels Desktop for Mac. To my surprise, I not only got this to work, but work well enough to blow away my 1.6 GHz Dell running XP natively with twice as much RAM...


The 15.4" MacBook Pro was a big step up from my previous home computer, a 12", 700MHz G3 iBook purchased about three and a half years earlier. While most reviews of the new Intel Macs have focused on comparing their performance with the last generation of PowerPC-based machines, to me this is a more realistic upgrade cycle. So even the OS X apps I run under Rosetta --- Apple's PowerPC emulation software for apps that don't yet run natively on Intel chips --- run much faster on this newer machine. And the Universal apps that do run on Intel are stunningly fast.

As a sidebar before I get to the meat of this mini-review, I made one rather surprising choice when ordering the MacBook Pro: I ordered it with a glossy screen. Like some others, I was initially shocked when Apple released their new 13" MacBooks with glossy screens. "A glossy screen? What were they thinking?!" I went to have a look at the local Apple store and, sure enough, it was easy to focus on reflections, particularly on darker parts of the screen, but the display was otherwise crisp and colorful --- more so than the matte displays on the nearby MacBook Pros.

I really wanted to see how the display would fare outside, because on nice summer days I like to take my iBook out to the deck to do a bit of web surfing. My wife and I were out there one morning, her soaking up sun and me squinting at the iBook, and I realized I did have a glossy screen I could compare it to: the tiny display on my mobile phone. I held the phone up aside the iBook and got quite a shock. Yes, I could focus on the cell phone screen and see the clouds behind my head... but the text on the screen was far more readable than the iBook. The iBook's matte screen did its job in dispersing direct reflections, but it was also picking up light from every other direction and bouncing that towards my eyes as well, effectively washing out the screen. My wife looked, too, and agreed there was no comparison: glossy won out, hands down. My gut reaction to the glossy screen had been wrong, and I'm nothing but pleased with my MacBook Pro's glossy display.

I previously mentioned the Parallels virtualization software when it was announced. I've been using it now for several weeks, and putting my MSDN Universal subscription to good use. For those unfamiliar, Microsoft's MSDN subscription plans give software developers access to technical resources. A Universal subscription is hellishly expensive (though I'm not really privy to what my current employer might have negotiated), but it allows developers to download and make use of various versions of Microsoft operating systems and tools --- giving me a nice, legal copy of XP Pro to load up under Parallels Desktop, along with SQL Server 2000 Personal Edition and Visual Studio 2005.

Parallels Desktop starts you off with a simple wizard to create typical VMs (Virtual Machines: think of these as simulated computers that can run Windows, Linux, etc.). It took only a few minutes to create a VM appropriate to Windows XP and bump the VM's RAM up to 1 GB (the MacBook Pro has 2 GB installed). I put the ISO disk image of the XP Pro install disk on the Mac's desktop, set the VM to mount that image as its CD-ROM, clicked the start button, and the XP Pro installation kicked off, swiftly and silently, and completed without trouble. The installations of SQL Server and Visual Studio also went well, as on any other Windows machine. Parallels Desktop provided the VM with a virtual network adapter, so the new XP installation even had network access via the MacBook's built-in 802.11g wireless connection. Even sound worked well.

Once logged into XP, I went to the Parallel's Desktop menu and selected "Install Parallels Tools." This kicks off an installation process within the VM that installs some special drivers and software to help XP work more smoothly with the Mac. Without these tools, one needs to click inside the VM's window to take control of its mouse cursor, then click Ctrl+Alt to escape back to the Mac. With the tools, the mouse is automatically in control of the Windows mouse cursor when over the Windows window, if you see what I mean. The tools also permit cutting and pasting between the Windows session and OS X, and set up a shortcut to folders shared between OS X and Windows. Very cool, and very much without hassle.

Click the "full screen" button in the window hosting the XP session, and the current display rotates to the left, cube style, with a full screen Windows image taking its place. Press Alt+Enter and the cube rotates back to the right, revealing the Mac desktop again. If you have your Mac configured to bring up Dashboard by moving the mouse to one of the screen corners, it'll still come up when Windows is in full screen mode, giving quick access to all sorts of information, such as battery status. For a new product, Parallels Desktop seems exceptionally stable and polished.

I loaded the source code of the project I'm working on for my employer, several thousand files in all, mostly C#, and kicked off a build: the project built. I ran the database installer: the database installed. I tried to run the program: that didn't go so well.

The first thing that got in my way was that the product's security builds upon Windows domain security, and my Windows XP installation was set up to use a workgroup. I didn't happen to have a primary domain controller at home. My solution? I downloaded a copy of Windows 2003 Server (thanks, MSDN Universal), read just a little documentation, and configured it as a domain controller... inside another Parallels VM on the same Mac. I created a new user account in the domain, then switched to the XP VM and joined the domain.

The next hurdle in running the software --- one that took me considerably longer to figure out --- involved the DCOM configuration within XP. The app in question has IIS components on the server side that make use of some legacy COM components, and DCOM security needed to be set to allow the built-in ASPNET account to launch and activate these components. Details, details... details I'd forgotten.

But after the dust settled, I had a VM that could both build and test a very large client-server .NET application, faster than the Dell notebook issued by my employer... side-by-side with the day-to-day Mac apps that meet my personal needs, on a single machine less than an inch think and weighing about five and a half pounds.

Why settle for a machine that can't run OS X?

Posted: Sun - July 2, 2006 at 07:52 AM          


©