USB Portable Environment

EF For the time being, this is only an idea. However, I think that it could become a Tcl/Tk killer application if done well. Now, to the idea.

Portable applications have had a lot of press coverage in the past few years. USB sticks are commonplace, cheap and people tend to carry a lot of them. When you do, it is very tempting to carry a number of applications together with your data. These are a time saver when moving from one machine to the next, and especially since computers are omnipresent. However, for the time being, you are restricted to either restrict yourself to a given operating system to host these applications, either host a virtual machine together with the applications. The first solution is frustrating now that Linux and MacOSX are getting more and more widespread. The second solution is desperately slow.

And this is where Tcl could come to the rescue. We have starkits and implementation of tclkit for all platforms. So portable applications, "à la" Tcl would simply a matter of running a given starkit with the appropriate tclkit. On Microsoft Windows, most portable apps installation also provide a tray menu. This is also something that Tcl would be able to do in a portable manner, on all platforms.

What do you think? Category Application would be a good starting point for knowing what to put into such a distribution. We only need a start menu and some auto-magic to initialize on all platforms.

escargo 25 Oct 2007 - I think it is an interesting idea. What popped into my mind when I thought about it is something like a portable implementation of HyperCard [2 ]. We have the layout engine, the scripting language, and a choice of underlying data bases (metakit and SQLite). There are various notebook applications to build on. (I also just discovered PythonCard [1 ], appears to have similar goals.)

LV Check out Puppy Linux, where size is a driving factor. It makes use of a number of Tcl applications; that might be a good source of applications to consider.

EF Indeed, Puppy Linux is one of the other places to look for applications. It is one of the distributions that I was referring to when talking about hosting a virtual machine. Flash Puppy [3 ] does exactly that; it can even boot from the USB stick when possible. When emulated, it is awfully slow. You can speed up the process, but then you need to install software on the host, losing some of the point of such a portable solution.

escargo - I just downloaded Puppy 3.01, but I haven't had a chance to burn a CD for it yet. I have used QEMU Puppy, and it wasn't too bad.

HJG It looks like PortableApps [5 ] is gaining much popularity, and more apps rapidly. (E.g. portable versions of OpenOffice, Firefox, Thunderbird, Filezilla, GIMP, Pidgin, Virtualdub ...) All those programs put everything necessary for running them into their own directory, so they can be un/installed independently. Side effect: lots of space wasted for duplicates of common dlls. ZB I think GoboLinux [4 ] - with its new filesystem hierarchy - shows the proper way...

It would be nice for tcl to be present at PortableApps, say with some of the games for a start. But to make that work like the other apps (i.e. one click for download, one click for install), we need an installer that also installs tclkit (or checks if tclkit is already installed) on the usbstick.

LV Wasn't there an effort, a few years ago, to create a tclkit of Tcl/Tk script games for just such a purpose?

HJG On Puppy Linux (now at v4.3): while this is still an excellent small-size linux-distro, they have abandoned tcl for the core. They now use mostly bash/xdialog/etc. for scripts, and are moving towards Genie and Vala for compiled extensions.