AMSIP (Airmail SIP) Documentation version 1.1 ($Date: 2004/06/01 13:52:41 $)

Migrating from Version 1.0 to Version 1.1

If you installed the previous version of AMSIP, read the section "Setting Up Macros Outside of AMSIP" first to discover how to preserve your current set of macros. Once you've saved your current set of macros, uninstall version 1.0 as described in the "Uninstallation" section below, then start with the "Installation" section below.

Introduction

AMSIP is a custom Soft Input Panel (SIP) designed to be used with the Airmail application included with Control Vision's Anywhere WX product.

A SIP is an input mechanism for the Pocket PC. These are things like the virtual keyboard and handwriting recognizer you can select in the lower right corner of the Pocket PC screen. Anywhere WX includes its own custom SIP which provides "big" buttons for entering text while flying. This is adequate for entering small amounts of text (e.g. waypoints, airports), but can get a little tricky for e-mail, especially during single pilot operations.

For e-mail in particular, I found that I had three basic needs which current input mechanisms lacked:

AMSIP is a simple SIP which provides a set of configurable "macros". These macros are nothing more than canned text the user has configured ahead of time. These can be e-mail addresses, short messages, etc. None of this is Airmail specific and could be used for any application (as can Anywhere's custom SIP). In fact, one could even store commonly used waypoints for entry into other Anywhere WX applications.

AMSIP also includes a small set of "macro substitutions" which can do things like insert the current lat/long as extracted from Anywhere WX. These features are Anywhere WX specific but have a sensible default behavior if you try to use them when Anywhere WX isn't running.

AMSIP is easy to install, use, configure, or uninstall. AMSIP has been verified to work with version 1.52 of Anywhere WX running on the iPAQ 2210 with the SatPackII integrated GPS. I don't have access to other hardware, but I see no reason why AMSIP wouldn't work with other Anywhere WX supported platforms. Note that PocketPC 2002 users (e.g. older iPaqs) should download the appropriate binaries.

Installation

The installation zip file should contain: To install AMSIP, copy AMSIP.CAB to your iPAQ and execute it using the PocketPC file explorer. An easy way to copy AMSIP.CAB is to use the "Explore" option in Microsoft ActiveSync. Under "Explore", you can copy and paste a file from your desktop onto the iPAQ. The file will be transferred at the next sync.

The PocketPC File Explorer can be accessed by selecting Start->Programs. A single click on AMSIP.CAB will install the AMSIP.dll, create the initial macros, and remove AMSIP.CAB.

You can verify installation by executing a program which requires an input panel (e.g. PocketPC Word). If you see the AMSIP as an available input method (see below), then the installation was successful. Uninstallation is discussed at the end of this document.

The Win32 AMSIP binaries should be stored in some convenient directory in your PATH. Note that these binaries are for convenience and are not required to use AMSIP.

Basic Usage

AMSIP can be selected once an application is running which requires user input (e.g. Airmail, Word, etc). To get started, create a new Word document (from the "new" menu on the bottom left) and choose AMSIP by clicking on the SIP selector at the lower right corner of the Pocket PC:

SIP Selector

When AMSIP is selected, you'll see the AMSIP icon AMSIP macro in the SIP selection area. If AMSIP isn't currently displayed, click this icon to bring up AMSIP. The first time you select AMSIP, you'll see four "macro" fields and a pair of navigation arrows on the right:

Initial Configuration

AMSIP is installed with six "dummy" macros which you'll want to modify. We cover configuration in the next section, so for now we'll play with the "dummy" macros. Even though there are six macros already configured, the initial display only shows the first four. To see the other two, click on the "down" navigation arrow. This causes the next four macro fields to be displayed. Since there are only two additional macros configured, the scrolling stops so that macros three through six are displayed. Clicking on the "up" navigation arrow scrolls up four macro fields, in this case stopping at the first configured macro. The size of the display (i.e. the number of macros displayed) can be configured from one through five, and scrolling always causes the next "display size" macros to be displayed, bounded by the current number of configured macros.

Selecting a macro causes the current contents to be pasted into whatever application you've selected (in this example, Pocket Word). Here's what the display looks like after selecting each of the first four macros in sequence:

Expanding Macros

A macro isn't selected until the stylus is released. As a result, you can "cancel" a selection by moving the stylus off of AMSIP before releasing. The same is true for arrow navigation (i.e. cancel a scroll by moving the stylus off AMSIP before releasing).

That's all there is to it! Special features like lat/long substitution are encoded into macros and are described in the next section.

Configuration

Initially, AMSIP is configured to display four macros at a time, and is installed with six dummy macros. AMSIP can be modified by selecting "Options" from the SIP selector:

Configuring SIP options

If AMSIP is not the current SIP, then you'll see the Options dialog for one of the other SIPs. To get to the AMSIP options dialog, select "AMSIP" from the "Input method:" pull down list, then click the "Options" button:

Configuring AMSIP

At the top of the AMSIP configuration dialog, a pull down list may be used to set the macro display size. Currently, you may select a display size of one through five. Five is the current maximum because the font size is prohibitively small when six or more lines are displayed (at least on current hardware):

AMSIP configuration dialog

The rest of the AMSIP configuration dialog allows editing of the current set of macros. There are five editing functions:

There are two additional functions which allow the macro list to be manipulated outside of AMSIP: These functions are described in more detail in the next section.

Initially, you'll want to remove the "dummy" macros and add your own text. You can change the position of macros to group more frequently used macros towards the top of the list (this eliminates the amount of navigation required to select a macro).

The text of a macro may be any character you can type but there are three sequences which have special significance:

Latitude and longitude substitutions are decimal representations between -90 (south) and 90 (north) for latitude, and -180 (west) to 180 (east) for longitude. For example, if your current lat/long is 50.123/-50.456, then the macro "Lat=%N Lon=%W" would substitute as:

Lat=50.123 Lon=-50.456

Latitude and longitude are read simultaneously before macro substitution so that they are consistent when the macro is rendered as input. This is only really important if your position is changing extremely rapidly but AMSIP aims to be consistent nonetheless. The current latitude and longitude are read by parsing the file /DAT/Loc.dat from within Anywhere Map. If this file is not present, or can not be read, then the string "<NA>" is used for the substitution, so the example above would read "Lat=<NA> Lon=<NA>".

Typing a carriage return while entering a macro (i.e. using the "add" button) will terminate the entry rather than insert a carriage return character. The "%C" sequence can be used to insert a carriage return character. This makes it possible to create multi-line macros.

The "%%" sequence is used for those occasions where a special sequence is required without substitution. For example, if you find it necessary to use the literal string "%N" in your macro, you may do so by using the sequence "%%N" which will be rendered as "%N" rather than substituted with latitude.

Latitude and longitude information can be combined in interesting ways. For example, the following macro will create a link which your mail recipient can use to see your position on a MapQuest map:

http://www.mapquest.com/maps/map.adp?latlongtype=decimal&latitude=%N&longitude=%W

Setting Up Macros Outside of AMSIP

A new feature in version 1.1 is the ability to edit your macro list outside of AMSIP. Macro lists may be edited either on your handheld, or on your PC. To support PC-based editing, three Win32 executables are provided in version 1.0:

Be sure to dock and turn on your handheld before attempting to execute any of the Win32 executables. These executables will also work with version 1.0, and should be used by migrating users to save their macro lists before installing version 1.0.

A macro list can be any text file (i.e. .txt suffix) where each line (terminated with linefeed, carriage return) defines a unique macro. You can create this file from scratch, use the "Save" button in the AMSIP "Options" to save your current settings to a file, or use the amsipsave application to download your current macro list to a file on your PC.

AMSIP is somewhat picky about the format of the file, and expects non-Unicode characters with each line terminated with linefeed followed by carriage return. Microsoft Word complies with this format and is more than suitable for editing (but, make sure you save the file with a .txt extension so that no extra formatting is added),

Once you're satisfied with the edited version, you can either upload your macro file to the handheld and use the "Options" menu to load it into AMSIP; or, use amsipload to directly replace the current version when you handheld is docked.

Current Workarounds

The current version (1.52) of AnywhereWX has a limitation of about 80 characters to a line in Airmail. This makes it difficult to use long web links like the MapQuest example above. In fact, the example link above doesn't actually work in the current version.

To work around this problem, Control Vision has provided a special character sequence, ~!~, which will rejoin split Airmail lines at the server before the mail is sent. Thus, the example link above could be specified as follows:

http://www.mapquest.com/maps/map.adp?~!~%Clatlongtype=decimal&~!~%Clatitude=%N&~!~%Clongitude=%W

When the link is inserted by AMSIP, it will appear as follows:

http://www.mapquest.com/maps/map.adp?~!~
latlongtype=decimal&~!~
latitude=XX.XXX&~!~
longitude=XX.XXX

This form gets around the 80 character limitation, and when the e-mail is sent the server will reassemble the line so that it appears as:

http://www.mapquest.com/maps/map.adp?latlongtype=decimal&latitude=XX.XXX&longitude=XX.XXX

This problem is expected to be fixed in a future release of AnywhereWX.

Uninstallation

Before uninstalling AMSIP, be certain that AMSIP is not the currently selected input method. AMSIP is uninstalled using the "Remove Programs" dialog: select "Start->Settings", click on the "System" tab, then select the "Remove Programs" icon. AMSIP is installed as "OpenEFB AMSIP". Select this item and click on the "Remove" button. If successful, then AMSIP will be removed at "OpenEFB AMSIP" will disappear from the list of installed programs.

If unsuccessful, a warning message will appear indicating that either the AMSIP.dll is read-only, or it is still in use by some other program. Follow the instructions to close all other open programs by selecting "Ok" to get back to the "System" tab. Then click on the "Memory" icon and select the "Running Programs" tab. Select "Stop All" to stop any programs, then click "Ok" to get back to the "Remove Programs" dialog and try the removal again.

Occasionally, uninstallation will fail even if all current programs are stopped. If this occurs, you'll need to perform a soft reset to release all DLLs. After the soft reset completes, navigate back to the "Remove Programs" dialog and you should be able to uninstall AMSIP.

Note that uninstalling AMSIP will remove all AMSIP settings including any macros you may have configured.

Reporting Problems

Please send any comments, suggestions, or bug reports to Mark Astley.
Last modified: Tue Jun 01 09:30:56 Eastern Daylight Time 2004