Forum Post
Index > Scribe > Suggestion for enhanced portable features

Author/Date Suggestion for enhanced portable features
25/01/2006 4:07pm
I have a suggestion to enhance the portability of the program by providing an option of choice which external program to associate with a given extensions (browser, attached files). There are more and more programs capable of running from a USB-stick, however when using a guest computer, one is condemned to use the programs which are associated on that computer with the extension in question, i.e. usually the Windows standard associations.

However, when I doubleclick on a file with .jpg extension, I'd rather like it to open with IrfanView (on my stick), not with the Windows picture and fax viewer.
A .pdf file should open with the rapid FoxIt (on my stick) instead of the terribly slow Adobe Reader.
URLs should open with portable firefox (on my stick).
Etc etc etc

In my opionion, this should not be too difficult to implement, and it would create a revolutionary step forward in the "portable world", one that could even set the example for other portable applications to follow. I'll explain how I imagine it could be done.

The biggest problem in the portable world is the fact that often the drive-letter of the USB-stick in question changes when used on yet another computer. Since in this case we can't work with relative paths, we have to set a variable defining the root of the stick. I believe that the program evaluates this anyway upon startup for its own internal programming. Let's call this variable to the USB-stick root "mystick".

I would then imagine a tab in the options menu called "Associations", with three panes:

1: Extension - 2: "Use standard application" (tickbox) - 3: "Use this application"

Under "1: Extension", a few standard extension could already be provided (.jpg, .pdf, .doc for example), but there should be (ideally an unlimited number of) free fields for the user to fill in.

2: "Use standard application" is a tickbox, ticked by default for the provided extensions but leaving the choice to put an alternative in 3.

Under 3: "Use this application", the user can enter the full path to the desired application, using the variable for the USB-root if it's a program running from the same stick as Epim. For example: <mystick>\progs\office\IrfanView\i_view32.exe

Would be interested to hear what you think about this.


Would be interested to hear what you think about it.

26/01/2006 11:29am
In general I like this idea, and I know how I'd implement it. However it's the sort of thing that should be implemented as a standard across all portable applications. So I think that some consultation of other portable application authors would need to happen and a draft proprosal written.

Something along the lines of a common XML configuration file in the root folder with the users desired associations would be easy to load and process. Although I don't know if all portable apps would have access to a XML parser.

Anyway I will think about it.
26/01/2006 3:53pm
Hi Fret,

thx for ur answer!

Of course it would be nice if there was a standard solution for portable applications and their interactions. However, I'm afraid we'll have to wait for another few years until this happens ...

Being almost always on the road (workwise), I'm following quite closely what is happening on that sector. Beside U3, which is an initiative from hardware producers and imho rather useless, not much on the horizon in terms of standardisation. It's the makers of new, small and smart programs (like Script is definitely one!) who make things progress in this field.

That is why I have made the suggestion to integrate it into InScribe under the options (or possibly as a plugin?), hoping that thereby an example is set for others to follow ... and eventually come to some sort of standard.

But thinking about it, and seeing that you have already worked on the file associations question (your prog doesn't work for me, btw, but maybe because I'm on computers without administrative rights), I have another idea: would it not be possible to create a little application, launched from a stick, that *temporarily* intercepts association calls in Windows and defines these to portable applications on the same stick?

Just an idea ...


(btw - did you rcv my email re: registration change?)
26/01/2006 10:34pm
I really don't like the idea of "hacking" windows to change the extension association behaviour, because that is not cross platform. I'm thinking beyond just windows to linux and mac os x as well.

What I'm thinking at this point is a sample implementation or library for application vendors to embed in their portable apps that reads / writes a standard format XML file in some fixed location on the portable drive (maybe drive:\Config\settings.xml or something) and then begin using that myself in scribe. That way if/when other apps come on board we are automatically compatible. The less work other vendors have to do to support this the more likely it'll become a standard.

I've responded to your key query email.