The well documented switch to the Mac last year is going swimmingly. There is not a single mainstream application that I find myself missing on the Mac platform, but I still have a well defined need for access to a PC.
The first issue is that I have N.A.D.D. and I continue to travel in PC circles. This means that my PC pals occasionally stumble upon random independent developer brilliance that I really want to sample. Recent examples have been FeedDemon and Huminity. I don’t need full time access to these applications, I just want to feed my insatiable lust for information by seeing what these applications are about.
My other issue is that I often develop for the Web and,well, Internet Explorer for the PC is the market gorilla. Not verifying your web applications against the browser the majority of the planet is using is simply dumb. Web standards will help, but, at the end of the day, if you’ve built anything of significant complexity, you’ve gotta see how it looks/works in Internet Explorer on the PC or else you’re just a manic Mac-person with their head stuck in the ground.
Your first suggestion is going to be Virtual PC. Sure, that’ll give me the PC I’m looking for… all wrapped up in Mac OS X window. Problem is, that’s emulation… and emulation bugs me. It means… slower. It means… bizarre hardware issue. Emulation is a great theory, but in my limited experience, emulation is hard to pull off without sacrificing part emulated operating systems soul.
Besides, Virtual PC assumes I don’t have a PC and I’ve do. Fifteen years of work in Windows land means I’ve got boxes of unused PC crap including a solid Dell which is currently gathering dust under the workbench.
How do I get to this system from the warm comfort of Mac OS X? The answer is simple. Remote Desktop Connection (“RDC”). Microsoft did a whole slew of work in Windows to make remote desktop-like functionality easy to implement for clients. The Mac OS X client takes advantage of these services and gives you full access to virtual desktops on your Windows boxes with all the familiarity of the Mac OS X.
This isn’t VNC-like screen sharing where when you take control of an existing PC desktop. Logging into RDC gives you a full virtual desktop on the PC… if someone was sitting at the PC when you fired up RDC, they’d have no clue you were mucking around. Slick, but unnecessary as my PC will now headless, keyboardless, and mouseless… sitting in a dark corner of my office… under a blanket.
Yes, I now have a PC I need to maintain and that means future headaches I could have avoided, but mucking around with Windows every six months or so isn’t such a bad idea. The buzz that arose out of the recent Professional Developer Conference around Longhorn was significant. Any sort of forcing function which keeps me tinkering with Windows is a good thing.
No, you’re not going to be running Doom3 in this set-up. Performance is spunky on broadband, but for the latency sensitive, RDC will begin to annoy after anything more than occassional usage.