Musings of Geekdom by Eric Newton

tail /var/log/thoughts
posts - 88 , comments - 41 , trackbacks - 68

My take on Virtualization and Virtual PCs.

What's the real truth of virtualization?  Its the fact that we're all tired of our PC's failing on us.  Blue screens, viruses, patches, Internet Explorer BHO conflicts, everything.

Its a systemic problem introduced by our friends at Microsoft.   I specifically blame the registry.  Why?  Well considering that I was playing with Windows 95 the day of the launch, and the registry became corrupted kinda spoiled my grandeur.  They made the registry a central repository for lots of meta data.  Except it was prone to corruption.  How?

The problem then began to get worse.  Register explorer shell extensions?  Use the registry.  Register a COM component?  Use the registry.   No forethought to installation issues, versioning and DLL conflicts, system instablity.  But hey, we finally got a usable GUI on our “lame duck” PCs.

So here we are, 2005 and the registry still rules our lives.  Its so difficult to transfer programs from computer A to computer B because of it.  You have to uninstall the app which sometimes fails because a component that it installs was updated, or even worse, it uninstalls the newer version of the component, causing application B to fail, unbeknownst to application A.  This is another symptom of the registry.  Only one source for ProgId's.

Next we have COM collisions.  ProgId's arent versionable.  They were supposed MEANT to be version agnostic... in theory, a good idea.  Can anybody say ADO?   How about MSXML.DomDocument30?  Do you even KNOW what version of those respective libraries you'll get when you instaniate the object?  Last I looked, ADO was version 2.8.   And with a compatibility checker utility that attempts to determine just what version you have.

So here comes Virtualization.  Supposedly a panacea.  (Game show buzzer) ***AAAAIIIIITTTT**** Wrong Answer!  Virtualization is only progressing our problems.

Lets take a look back at earlier Macs (only because I'm not sure how OS X works).  The “installation” was copying the program from the CD onto the Hard disk, usually under a folder called “Applications”.  I got the impression that once the application was copied there, the OS itself would examine certain parts of it for integration.  With Explorer, you have to register, with Finder it just worked.  A System Extension (analogous to a service or device driver in windows) was copied to a special folder aptly named “System Extensions”.  I'm getting a little of track, but the beauty of Macintosh applications was that the OS took on the burden of understanding what the Application was capable of and what files it produced.  In Windows, its up to the installer.  And since there's a whole industry of installers, will we ever see them go away?  Probably not. 

Interestingly, Virtual PC's shine when testing installers.  Create an image of major OS versions with a matrix of service packs and whatnot, and test the installation.  Did it work?  Is there some SP1 incompatibility?  Did the App get installed correctly?  Fantastic!  We now have a test bed for our installers to handle all the myriad of installation process flow branches and glitches and what not.  Is this really progress?  Could Virtual PC really be a shining example of installer technology gone awry?

Now on another note, whats so cool about Virtual PC's?  I would say “the hardware is abstracted away from the software”  Ok, wasn't Windows supposed to do that?  Isn't there a HAL (Hardware abstraction layer) in Windows NT/2000/XP?  So, where's the benefit here?

Now theres another side of virtualization that is being HEAVILY overlooked.  The ability to run MY programs where I am.  In theory, my ipod 40gb has enough space to house my “VPC” with Office, Outlook and all my favorites.  Whereever I am, in theory, I could plug in, and run “my machine”.  All of our current computers just become workstation shells, capable of bringing these virtual PC's to life.  Or, when network bandwidth gets good enough, we just use a virtual server via remote desktop... in essence a virtual pc in cyberspace with no real physical manifestation.  Have your eyes glazed over yet?  A lot of this is exciting, dont get me wrong.

I just find it highly ironic that VPC's are proving why we hate Windows so much.

Print | posted on Sunday, November 20, 2005 10:50 AM | Filed Under [ Virtualization ]



# re: My take on Virtualization and Virtual PCs.

Mac's have been better than Windows when it comes to application installing. Pre OSX, the only thing you had to worry about was your preferences for the app -- they were saved in a sub folder of System named Preferences. So when you moved an app from one Mac to another, you might have to move the preferences too.

I like the way OSX handles applications -- if the application is more than an "exe", it can be packaged up and appear as one file to the user (similar to ZIP files containing files). Preferences are saved in a sub folder of the users home directory (like Windows c:\Documents and Settings).

By the way, .NET applications solve a lot of these problems . Apps can be "XCOPY" deployed (as long as the .NET framework is already installed).
11/20/2005 4:19 PM | Kelly Jones
Comments have been closed on this topic.

Powered by: