Montage icon Montage ─ Windows productivity software


IdeaXchg | Montage | Intro | Products | Buy | Download | Help | Contact | Contents

Create a portable work environment

Why does portability matter?

Portability translates into convenience for any application, but it's especially important in an application like Montage, where Shortcuts are central feature, and the point of any shortcut, after all, is to save you time.

physical transportability
The central idea of portability is the ability to move something to another location. Taking the term literally, it means, for example, that you can use an application on a portable notebook computer. If you work with two or more computers, portability means having a simple way to copy and re-synchronize files between machines, as well as backing up data easily and efficiently to offline media.

data portability
For application data, it may not be enough simply to copy files between two different computers, or even from one location to another on a single machine. One also needs some assurance that the application will run in an equivalent fashion in either case, when presented with the same data. If not, one would hope that it comes close, perhaps operating with some cleanly limited functionality, but not failing altogether. The closer an application comes to painless data portability, the better.

If you've ever tried copying a group of Windows shortcuts from one computer to another, you've probably discovered that this is one of the least portable kinds of information. The problem is that each machine may be running a different version of Windows, IE, Office, and other programs, and some applications may not be installed at all, or an entirely different program may be used to handle certain types of documents. As a further complication, even if the same programs are installed on two machines, those machines may have different hardware characteristics, like display resolution.  Also their filing systems will generally be organized differently, so you can't count on a given shortcut working on both machines without the need for manual adjustments after copying it from one to the other.

All of these aspects of portability must be considered to ensure that an application's data can be backed up easily and will function properly when moved or copied to a another Windows PC.

How Montage creates portable modules of information

Montage runs under any version of Windows, from Window 95 up, and it supports a number of features that make it easy to construct portable montages:

relative paths
Montage Shortcuts can specify target files and folders in terms of a path that is relative to the montage itself. This means that both the montage and the documents it refers to can be stored, copied, moved, zipped, etc. as a single portable unit. Windows shortcuts use absolute paths, so they are problematic for all of these purposes.

system-independent applications
Shortcuts can refer to applications without specifying where they are installed by using short application names, with the help of the Windows Registry. Windows shortcuts, on the other hand, insist on retaining fully expanded paths, which won't necessarily work when copied to a different machine. Also, Montage generally does a better job of locating a program given its short name than the Windows-supplied "New Shortcut Wizard". (A montage doesn't actually include the application programs or their icons - these are determined dynamically from the system on which it is running.)

environment variables
Each of the primary parameters in the specification of a Montage Shortcut (target, arguments, and directory) can be expressed in terms of Window environment variables, including both standard ones and any user-defined ones you choose to create. Windows links also support this way of reducing system-dependencies, but not as completely or consistently as Montage.

 dynamic Shortcut properties
In addition to environment variables, Montage supports an even more flexible and dynamic capability for designating a Shortcut's target, arguments, and directory, based on the full power of the Visual FoxPro language. (Arbitrary functional expressions, including user-defined functions may be specified.) This could be used, for example, to define a Shortcut to an automatically created "Today's Data" subdirectory, derived from the current date. Dynamic Shortcut properties also are helpful for constructing portable Shortcuts, in a variety of tricky cases not covered by other techniques.

The following screen shot illustrates a number of facets of Montage portability:

Portable montage that augments a PowerPoint presentation with supporting documents.

The above example shows a montage whose primary purpose is to enhance a PowerPoint slide show on the subject of grid computing. Montage will be used to give a live, interactive presentation, so that supporting documents can be referenced quickly in response to an unpredictable audience, such as one might encounter when traveling to prospective customer sites, providing classroom training, or attending a conference.

To highlight various portability issues, we assume the following further requirements:

  • the montage is deliverable in a form that people can view and explore on their own PCs
  • development of the montage and accompanying documents is to be done by a number of collaborating staff members
  • the work will entail switching between development and testing on different machines, with different display resolutions
  • provisions must be made for easy backups

The screen shot depicts how this montage might look when handed over to a co-worker for further review, with a brief explanatory note at the upper left. Next to that Notepad window, mostly obscured by other windows, is the Microsoft PowerPoint window for the slide show to be presented. To the right of that, we can see a small portion of a related Word document, with some red-lined text. Along the bottom, a wide Explorer window has been navigated to the "gridstuff" directory.

The last and foremost window, at the upper right, is the Montage Desktop window for this montage, with highlighted Shortcuts for each of the aforementioned windows. In the remaining space on the Windows desktop at upper left, we see three shortcut icons, the rightmost of which (grid computing.mo3) was used to launch the entire view, as shown.

What makes this montage portable, not obvious from what appears on the screen, has to do with the where the files are located, and how the Shortcut Properties were specified. The Montage metafile itself and the data (but not the programs or icons) to which it refers have all been gathered under a single directory (gridstuff) and its subdirectories. Thus the entire directory subtree can be moved or copied as a unit, and it can be zipped (compressed) into a single file for backup or transmission as an email attachment. The reason this montage will work on an entirely different computer, even under different versions of Windows and Microsoft Office, lies in the details of how this montage's Shortcuts were defined, plus, of course, the fact that Montage is easily installed on any Windows 95 or later PC.

For a better understanding of how portability is achieved in this case, one needs to examine each Shortcut's target and arguments. The top row of Shortcuts are those intended for the audience of the presentation, and the Shortcuts below this row are primarily for the benefit of staff who are developing and editing the montage and its accompanying documents. The following table gives additional details about each of these Shortcuts, by row, from left to right.

Shortcut caption Target specification Arguments (if any) Remarks about this Shortcut
user notes user notes.txt   a simple "readme" file, for the benefit of first-time users of this montage. Note that the target document is specified with a relative path, so it is assumed to reside in the same directory as the montage, i.e. the "gridstuff" directory in this case. Since the Shortcut points to a document, not an explicit executable program, it will be opened via the default application for TXT files, which usually (but not necessarily) is Windows' NOTEPAD.EXE.
Grid Computing Executive Overview.ppt documents\Grid Computing Executive Overview.ppt   the PowerPoint document that is the centerpiece of the presentation. The path specifies a document in the "documents" subdirectory, relative the directory that contains the montage. If any compatible version of PowerPoint is installed, this should work. The Shortcut is highlighted with a red border, because the document is open.
Grid Architecture Overview.pdf documents\Grid Architecture Overview.pdf   a related Adobe Acrobat document, not currently open, but available for quick reference through this Shortcut.
Grid Computing in Depth.doc documents\Grid Computing in Depth.doc   a related Word document, currently open through this Shortcut.
Grid Computing Architecture - on www   a related public web page, specified by its absolute URL. This Shortcut launches the default web browser, which would typically (but not necessarily) be some version of Internet Explorer (IE).
staff notes staff notes.txt   a text file (residing in the montage directory) for exchanging editorial comments, currently open in the small Notepad window at upper left.
Grid Computing Executive Overview.ppt IEXPLORE = fullpath("") + "documents\Grid Computing Executive Overview.ppt" another Shortcut to the PowerPoint file, but in this case specifying that it should be opened via Internet Explorer (aka IEXPLORE.EXE), rather than the usual PowerPoint default. There is no assumption as to which version of IE is to be used, nor where it is installed. Note the use of a dynamic Shortcut property expression here (indicated by the = sign), because IE requires an absolute pathname argument, but we wish to avoid "hard-wired" full paths for the sake of portability.
Grid Computing Architecture - on localhost http://localhost/boic/batintro.htm   a page on the local web server, corresponding to the same page on the public web server, for use by staff who use web authoring tools (like FrontPage) to maintain the related web site. This Shortcut launches the default web browser, or it could be dragged and dropped to navigate any existing IE window to the target page.
gridstuff .\   the directory that contains this montage, expressed as a relative path (as usual) for portability. This Shortcut is currently open, in the Explorer window at the bottom of the screen.
grid computing - SVGA grid computing - SVGA.mo3   an alternate layout of the same montage, tailored for SVGA (800X600) screen resolution instead of XGA (1024X768). This second montage allows work to be done against the same set of underlying documents, but using a smaller display, for example to switch between home and office machines.
Edit Grid Computing Architecture - on localhost FRONTPG http://localhost/boic/batintro.htm launches Microsoft FrontPage against the specified page on the local web server, for staff with web authoring responsibilities. As usual, we avoid needless dependence on program version or its installed path, something that can't always be done so easily (if at all) via a traditional Windows link.
gridstuff on notebook \\mdagw\d\gridstuff\   the directory containing a copy of this montage on a specifically named computer, accessible to staff across a local area network. This sort of UNC pathname syntax might be used, for example, in synchronizing changes between two particular machines, e.g. a portable laptop PC and a desktop computer on the company LAN.
My Backups %homedrive%%homepath%\My Backups\   a directory in which each staff member can maintain his or her own version backups, as a general precaution and for archival purposes. We don't use a relative path, because it wouldn't be wise to co-mingle backups with the primary data, but we also wish to avoid absolute paths, for portability, so environment variables are used to express the target in this case.


Copyright SpaceTime Systems 2003-2013