Thursday, May 31, 2007

Another growing trend - Virtual PCs

It is becoming easier to setup and run virtual PCs. The software from Microsoft (Virtual PC) and VMWare (player / server) are free. There are also a couple of tools to convert a physical machine to a virtual machine.

So why virtual?

For one, its easier than keeping a physical machine around. The "overhead" of running in a virtual machine is not too much - about 10-20%. So if you convert an old PC running on a 1GHZ CPU, you can speed it up by running it inside a virtual machine.

The other reason is legacy stuff. I mean all the apps that you accumulated on your last laptop. Moving to your new laptop, you really don't want to repeat all the setup stuff and tweaks you did earlier. Also most of these will probably never get used, and yet you don't want to delete them. So why not convert it to a virtual machine instead?

Disk space is cheap, so you can convert it and forget it, right? Even then, you may want to save some disk space. One nice feature in the VMware Workstation 6 version (not free) is its snapshot and linked clones. Linked clones share the same resources.
Say you start with a plain vanilla XP install (VM_XP).
Next I create a linked clone and install Firefox on it (VM_Firefox).
Then I create another linked clone and install Opera on it (VM_Opera).

The linked clone feature lets all three VMs share the same Windows files - without corrupting each other. So each will have its own linked disk to the original disk. In short this saves you a couple of gigabytes in redundant XP files.

The snapshot feature lets you take a offline snapshot of the PC and its hard disks. Useful when you are about to apply a hotpack and may want to go back :-).

Update: Fast forward to 2014:
The technology that started here, caused Amazon in 2008 to start creating massive server farms of virtual machines. It was the start of the "cloud computing" era. 

The next wave - is it Workflow?

I'm back after a long gap in posting. Mostly triggered by a migration to a new PC and followed by a lot of inertia. Now I'm looking at user centric applications designed using the principles of SOA and incontextual design. The basic idea is to create "meta-applications" or cross applications. These reside over conventional applications and work towards incorporating collaboration and convenience.
The collaboration recognizes that the process requires multiple people to provide inputs / approvals / notifications. So rather than using email, why not build it into the application?

This is where workflow across systems steps in. I've studied SAP's Guided Procedures and their CAF framework. Later this week, when looking at the Microsoft Workflow services, I was struck by how similar the two were!

Next step will be to try out a few scenarios with both technologies
1. Microsoft Workflow Foundation services - possible embedded in Microsoft Sharepoint.
2. SAP Guided Procedures in the SAP Portal.