Nav Companion Technical Review

By: Dale DePriest

This page contains a technical review of the Nav Companion product that accompanies the GPS Companion hardware from Magellan. It is also available as a download from the Magellan web site. The current version is 2.1.

The Nav Companion product provides most of the functions of a regular non-mapping gps which means that anyone that is used to using a standalone gps will be comfortable using this program. It is also available from the Magellan web site and will work on other palm hardware. In this review I tested it on a Visor Platinum and my older Palm III using an external stand alone gps. For some reason I wasn't able to get the standalone gps to work with this program on my Visor. It would never detect that the gps was connected. The palm III worked well with this program but I would occassionally see a loss of lock that was not indicated in the gps itself. It would seem to recover on its own but it is still curious. I have also tested the 1.0 version using the Magellan GPS Companion for the Palm V.

Once you have hotsynced the Nav Companion product to your Palm you can click on the icon to bring it up. The interface consists of a number of screens and you can use the page up/page down keys to move from page to page exactly like a standalone unit. You can also select the page you want from a menu in the upper right corner of the screen in the style of a standard Palm application. The screens are: Position, Status, Speed, Plot, Nav2, Waypoints, and Routes. There is a Palm standard menu system available with a help entry on the Options pull down. This help information varies with the screen being displayed and provides screen specific help. In addition to the screens in the rotation there is an initialization screen with its own help.

This will usually be the first program you use with the gps companion. When you get the unit you should run this program or (or its sister program on the Visor, called gps companion) and then select Options->Initialize. Once you have the map view you should click on the area of the world to bring up a more detailed map view and then click at near to your present location as you can. You may also need to set the time and date as well as the altitude. All of the settings are optional but the time to first fix (TTFF) will be reduced if they are close to correct. While you are waiting for the first fix you can set your preferences, metric, nautical, or english and the way you want the lat/lon to appear on the position page. You should also reset the trip meter. Even though it is already set to zero the average speed won't work until it is reset the first time. Lat/Lon is the only grid display supported and WGS-84 is the only datum. Once you have set your preferences you will probably then want to go to the status page to see how the fix is coming. It indicates the battery level and the current positions of all the satellites as well as reception data that can be used to determine how well you are receiving this information. If you are having trouble receiving the satellites you can compare the screen display to your position and determine if you have trees or buildings in the way of a direct line of sight. Perhaps you can move slightly and aid the reception. A nice feature of the Nav Companion is that the fix status is shown at the top of every screen but the status screen also displays strength bars for the SV's being received and the almanac. The battery strength shown on this page will not work with any hardware other than the GPS companion. The gps companion product will issue a low battery warning message when you have about 30 minutes of power left on the gps. It would also have been nice to have a battery gauge for the Palm/Visor unit.

The position screen displays lat/lon, altitude, Trip Distance, Speed and Heading. I wish the speed indicator showed decimal speed below 10 mph but it does not. An edgewise compass at the bottom of the screen displays the Heading graphically. (Note for Visor users: this is identical to the screen in the built in program gps companion except that gps companion shows the UTC time instead of the trip distance.) The Speed page has a black bar at the top which will show the destination when navigating and below this there is a display similar to a car speedometer with two odometers at the bottom. The odometers look exactly like the ones in a car and even roll the .1 entry smoothly as you move although the whole mile change is a bit jumpy. If you stop the program and restart it later from a new position the two odometers will be updated to reflect the straight line distance from your old location to the new one. The speedometer provides a visual indication from 0 to 100 and rescales if you exceed the maximum setting. The average speed is also indicated on the speedometer scale. Between the top bar and the speedometer are three user definable fields for data. These can be any combination of: latitude, longitude, Elevation, Heading, Bearing, Turn, Speed, Avg. Speed, Max speed, ETA (estimated time of arrival), TTG (time to go), Distance (distance to go), Odometer, Trip odo., Trip Time, Last Fix, Battery level (est. time left), Battery Max (10 hours), Date, Time (note this is palm/visor time), UTC (gps time corrected for leap seconds), or Blank.

The next screen is the plot screen. It shows your current position graphically and can display a tracklog. It follows the pattern of the speed screen in having a bar across the top to display the waypoint for navigation and then three user definable numbers across the screen below the bar. All of the choices shown above are also available on this screen. Finally the graphic area is shown. It is a full 160 pixels wide but only about a 100 pixels high. For good resolution it should be the other way around. The bottom of the screen displays a choice of north up, track up, or course up, and a menu selection to set the scale which ranges from .1 mile to 200 miles (or km if this is what you selected). You can turn on a track log, turn it off, or clear it from a menu. The tracklog seems to sample at 30 second intervals and wraps on itself after 500 points, thus it records a bit over 4 hours. You can also generate a route automatically from the tracklog. This generated route is a handy way to have the unit guide you back home after a trip or it you get lost. The backtrack is always 32 points (assuming that there are more than 32 points in the tracklog) and is generated by dividing the full log into 31 equal segments without regard to any turns in the log. The 32 points are each set as waypoints similar to any waypoint you might generate yourself. Note that these waypoints include altitude so the tracklog can provide a vertical profile of your travels as well as a horizontal one. The screen can be zoomed or panned. For some reason entering and exiting pan mode causes a message to appear that has to be acknowledged. This is the only place that happens and it shouldn't happen here. Exiting panning does not reset or center the display back on your position so you have to use another command to do that.

Waypoints are shown on this page but there is no way to select them here or to enter a new one. The waypoints are always drawn in alphabetical order so if the destination is on the screen it is likely that another waypoint may overwrite it so that it can't be seen, since temporary names (that are not usually destinations) begin with W which is pretty late in the alphabet. The order of drawing should be reverse alphabetical and the destination waypoint should always be drawn last (or again).

A generated log of 500 points really slows down the display of data on this screen. If you hit another key or click on a menu (for example, zoom) a few times you will have to wait until the redraw is complete as indicated by the appearance of the arrow marking your current location and suddenly the stacked commands you issued will be filled all at once. This includes entering the page and leaving it. Having many displayed waypoints also effects this performance. On my palm three you very quickly exceed 30 seconds between redraws and could get to a minute, which doesn't allow for real time display or any kind of navigation use. If you happen to be flipping through the screens and hit this one you will suddenly have to wait before you can switch again.

The Nav2 screen is next in the rotation. It is a text only screen with the full user customization of 5 entries (It should be more). These text entries, like the plot and speed screen, can be any of latitude, longitude, elevation, heading, bearing, turn, speed, avg speed, max speed, ETA, Time to Go, Dist to go, odometer, trip odometer, last fix, gps battery level (time left on the battery in hours and minutes), battery maximum time, date, time, UTC, or blank. The entries are displayed in a larger font than they are on the speed and plot screens making it easier to read. Latitude and Longitude are always displayed in degrees and decimal degrees in spite of the users set preference. Note that all of the above screens hold the last entries if you lose a fix even if you power the unit off. The date and time are from the Palm/Visor itself so these will continue to update.

The next screen is for defining or displaying waypoints. The nice thing about this screens is that you can use it without even having to have the gps plugged in. You can add as many waypoints as you have palm memory for and edit or delete them. There is a box beside each waypoint that lets you select whether that waypoint should be displayed on the plot page. Due to poor performance in displaying waypoints on the plot page you need to keep most of them off. The box can also be used to help in selecting a group of waypoints simultaneously to delete. (You cannot delete a waypoint that is used in a route so you will need to delete the route first.) There are commands available on this page to turn all of the waypoints on and all off. If you have a fix you can also can also define waypoints to your current location using the menu or using grafitti. This is a little tough to do while traveling which could be solved if you could redefine one of the other hardware buttons on the Palm/Visor for this. Waypoint names can be up to 10 characters long and waypoints can have an additional 18 character comment. They are also hotsynced back to the host system but only in a binary form so it is not easy to edit or create them on the host computer.

The last screen is the route screen and can be used to build routes. You can have as many routes as you have palm memory for and each route can have up to 32 waypoints in it and are reversible. Routes can have a name up to 20 characters long although you will need to edit the route to see the full name. Both routes and waypoints can be beamed to another palm which is a nice feature to exchange information. I found that it is best to have both units in GPS companion when beaming waypoints and routes since I had problems if the receiver was not running nav companion. Routes are editable on the route page which takes a long time to appear if the route is long. A route is built by renaming the waypoint entries that are displayed. You can add waypoints at any point in the route by selecting the number and pressing the new button, and you can delete them by selecting the waypoint number then using the menu or you can delete whole routes (do not click the delete button). While the route edit is starting your screen is blank and when exiting your screen is locked up for a period.

Navigating with Nav Companion

The main purpose of the Nav companion is navigation. This is done by having waypoints stored in the unit that can serve as destinations. A waypoint might mark your campsite and when you need to return to it you can use the gps and the nav companion program to guide you back to the campsite. If you had your gps in use when you left the campsite the breadcrumb trail that was recorded in the tracklog can be used to guide you back along the same path you took when you left. You can also plan trips with several turns where each turn is marked with a waypoint. This is a route and it can guide you trip over quite a distance if you carefully choose the waypoints. A route can also serve as a crude map that you can follow on the plot screen to help you toward your final destination. All of these features are implemented in Nav Companion 2.0.

The simplest navigation task is to just point to a waypoint and while having the direction and distance in mind you guide yourself in the general direction. The Nav2 screen provides many useful pieces of information to help with this effort. For example you could view the distance in real time and determine if you are getting closer. You could view the heading and compare it with the bearing to see it the direction you are going is the same direction you should be going. If you prefer you can let the Nav companion program do the comparing and just tell you which way to turn and by how much, which is what the Turn choice displays.

A route is a similar navigation problem to the goto just described except that once you get to a waypoint you want the machine to automatically select the next waypoint and continue the navigation without you having to do it manually. The route function in Nav Companion seems to be up to the task when used with the nav2 or speed screen. It automatically determines which waypoint is the one it should head for, even it you start in the middle of a route, and will correct itself if you drift off the main path while following the route. If you get really lost you can restart the same route and it will reset and find a new waypoint and then guide you back to the route from wherever you are. You can even have the unit alert you with an alarm when you are getting close to a turn so you don't miss it. While each leg of the route is a straight line approximation of you trip it is still close enough to help you estimate your arrival time. ETA and TTG display the expected time to arrive and the time to go respectively based on your current speed toward your goal. They work reasonably well for a simple goto but unfortunately they only work for the next waypoint in a route. They assume you are headed directly toward the destination so they will be optimistic unless the road to the destination is fairly straight. They can help answer the question, "How much longer?"

The Nav companion has a feature that causes it to exit if the unit is idle for more than 1/2 hour. This is designed to save batteries since the program needs to keep the palm going all the time while tracking. But if you turn the unit off to save batteries and then back on 1/2 hour later the program will immediately exit since it does not notice that power was already off. This can be annoying if you are using it to sample data on a hike and is particularly annoying if you have routes defined since the product takes an excessive amount of time to initialize, provides no response to any key until the time is finished and then exists out anyway.

Overall impressions

The program has so much potential but much of it is unrealized in this version. It would also be nice to be able to launch the Map Companion directly from Nav Companion bypassing the opening screen to make the two programs work together at least a little. The real weakness is in navigation (ironically the name of the program). It needs a graphic arrow pointing toward the next waypoint on the plot and/or the speed screen. It would even be nice if the bearing was indicated on the position page using a double display on the compass like the one used on the speedometer.

The biggest limitation of this software is its performance on routes. Here is a list of route deficiencies:

  1. Routes are not backup to the host computer - although waypoints are
  2. With only 3 routes defined the start up time is miserable while it builds it internal tables. During this time the unit is not responsive.
  3. Editing routes takes a really long time to get into and out of edit mode.
  4. syntax on route editing is inconsistent - add is an icon to add an icon but the delete icon can't be used to delete an icon. It is used to delete the full route.
  5. You need to see the distance between waypoints in the route and the full length of the route.
  6. Using a route on the map page is impossible due to poor performance, even on a 33 MHz machine.
  7. Course up doesn't work on a route after it changes destinations. (It also doesn't work correctly if you are not navigating where it should behave like track up.)
  8. There should be an ETD - estimated time to destination available as well as distance to destination.
  9. Alarms are supported but you have to get so close to the waypoint as to make them unusable.
  10. Routes won't recompute the next waypoint if you go off the route.
  11. Even when started they may compute a waypoint as a destination that is behind the direction you are going if it is close enough.
  12. You need to be able to edit a route graphically, particularly since the route creation from the tracklog isn't smart enough to select turns. You should be able to select a waypoint on the plot screen and then a menu would appear that allows move (graphic move), delete (from route), or edit (waypoint).
  13. Even if a waypoint is normally turned off it should appear on the plot page if it is the target destination.

However, even with the route deficiencies this is a useful program and fills a need for a standalone gps look alike. It worked fine on my visor with my Magellan hardware but I was unable to get it to work with my serial port adapter and a standalone gps although the same program worked well through the serial port on my palm III.

Another interesting bug was reported by a user. If you change scale on the map page the odometer doesn't adjust for the new scale so you can get totally bogus odometer readings.

01/3/10 Original release