Mobile computing with USB devices seems to be all the rage these days. The premise is simple: instead of lugging around a laptop/PDA or other general purpose computing device, users only need to carry around a small portable drive which will contain their data and even applications. This drive can be attached to any PC they run into, to recreate the same environment from any machine. Since many people carry around an iPod or other portable media player that doubles as USB drive in any case, the past objection around having to carry around one more gadget is disappearing.
Three commercial examples of this concept in action:
But a closer look at the options raises some questions.
U3 is best characterized as a new application development model, to allow Windows apps to run from a USB drive instead of requiring installation. This is easier said then done because a lot of Windows apps depends on having various resource located on the host PC– for example the registry is used to store configuration. When a random USB drive is attached to the PC and an application tries to run, the components it is looking for will not be there. (Simply carrying around the installer isn’t going to work necessarily; aside from requiring adminstrator rights on the host PC, it will not port the user preferences.) So there is sizable amount of work required and some componentized applications may not work correctly this way at all. This is one of the reasons list of “supported applications” in U3 is very limited. Don’t look for any of the major productivity applications here. With the exception of Firefox, most are substitutions / replicas.
Ceedo looks very similar. In the basic version, the applications that can be installed this way have to be checked for compatibility one-by-one with the vendor and tweaked as necessary. This is a closed-ended selection in the “Ceedo Programs Directory” according to FAQ on the website. But there is an “InstallAnything” add-on which promises to allow installation of any application, using the ordinary installer. (No details on how this works.)
Mojopac has a different paradigm: instead of trying to get applications to cooperate with Windows it creates the appearance of machine-within-a-machine, to run all the user applications in a different environment. Because these machine images are large, Mojopac is specifically targetted at using an iPod or iPod mini/nano as the storage device. That works around space requirements but on the downside hard-drive based iPod will be slower than flash drive. Virtualization provides for greater flexibility including full freedom in choice of applications to install on this mobile environment. Of course the customer still needs to have a license for the operating system and any apps they plan on installing in the guest. Interesting enough Mojopac FAQ points out the limitations in the approach used by Ceedo and U3:
“Why do I need MojoPac to install and run applications from a USB Device? Can’t I just do it without MojoPac?
No, this is not possible. You can use a standard USB storage device only to carry data (files and folders). But standard storage devices cannot be used to carry applications. MojoPac uses a lot of Mojo Magic to add portability to off-the-shelf Windows applications… Secret Mojo Sauce!”
And the problem is, this secret sauce is not exactly a well-kept secret. It is called virtualization. It is unlikely that MojoPac is doing whole machine virtualization (a la VMware, Virtual PC/Server or Xen) because the space requirements list 30MB for the base app. But the fact remains that 90% of this functionality is available for free using existing off-the-shelf software.
A follow-up post will discuss exactly how.