GPXView - Geocaching with Maemo
Till Harbaum <till@harbaum.org>

GPXView is a geocaching
application. Its main purpose is to work with pocket queries in GPX
format (hence the name GPXView). GPXView allows you to conveniently
read the information stored in these files and navigates you to
geocaches using your devices built-in GPS. GPXView features many
advanced features including full HTML rendered cache descriptions, GPS
based voice navigation and a built-in map viewer.
Did you know?
GPXView supports online download of geocaches using
geotoad. This even works without a premium
account!
GPXView can guide you by voice so you can
concentrate on your search while the device sits in your pocket.
The latest Maemo5 release supports copy'n
paste. Very handy when working with typical multi cache
descriptions.
Obtaining GPXView
GPXView is available for three different plattforms:
- Maemo4 (codenamed Chinook/Diablo) on Nokia N800 and N810
- Maemo5 (codenamed Fremantle) on Nokia N900
- Desktop Linux
The latest N810/N800 version is available from the
Nokia repositories.

GPXView on N810
The N900 version is available from the extras repository and can be
installed from the Navigation section in the Application Manager on
that device. However, since there's a review process involved in
getting software into the respective repositories and since the review
process for the N900 is rather slow, it may take some time for the
latest version to show up on your device.

GPXView on N900
There is no pre-packaged version for the Linux desktop. In order to
install GPXView on a desktop PC you'll have to download the source code and compile and install it yourself.

GPXView on Ubuntu Linux
Getting started
GPXView comes ready-to-run and even includes some little "welcome"
demo file. You can use this to learn about the basic usage of GPXView and
check out the various program features.

First start of GPXView
However, to start hunting geocaches near your location you
need to get the appropriate pocket queries in GPX or LOC format either
from geocaching.com where you have to be a paying member to be allowed
to download them. Or you check free services. Sources known to work
with GPXView are:
- Pocket queries from geocaching.com, available to paying customers only
- LOC files from geocaching.com are available for free, but contain very limited information only
- GPX files from Opencaching.de
Installing GPX files
Once you got your GPX files you might install them anywhere on your
device like e.g. the memory card on your N900. Files being downloaded
in ZIP format from geocaching.com can be left compressed. GPXView will
uncompress them automatically.
You can copy the files onto the device via USB. But you might as well
just receive the files via Email directly on the device without any
PC involved.
Finally you might use geotoad to download cache
data directly.
To import such files into GPXView you need to start GPXView and
and select "Import file" from the main menu. The GPX file will then
be included into the main screens list of GPX files. The following
session has two active GPX files and a closed one installed.

GPX list
You can adjust details of this list and enable and disable selected
columns in the settings dialog.
These GPX list will be loaded whenever you restart GPXView. Since
these files may contain plenty caches, loading them may take a few
seconds. While loading you'll see a progress bar.

Loading ...
You may wish to temporarily disable certain GPX files from this list
in order to speed up loading. In order to do so, just click the
icon (on N800/N810 and desktop use the
Import->Close in the menu instead). A dialog will pop up to ask you
whether you want to remove that entry completely from the list or
whether you only want to close it.

Close or Remove?
If you choose to close the file it will be displayed in "disabled" style
as visible in the GPX list screenshot above. These files will not be
opened at startup and thus don't affect the startup time of GPXView. The
containing cache files are not imported and are e.g. not found when using
the Search function and are not displayed on the map. To reenable a closed
entry just select it.
Importing entire directories
GPX files derived from pocket queries usually contain many geocaches
and it makes sense to maintain them as one big object in the main
view. But some GPX files only contain a single geocache and you might
have many of those seperate files stored on your device. To cope with
such a collection of single GPX files, GPXView provides the "Import
directory" feature. This collects all GPX files from a given directory
and treats them like one big GPX file.
When you select a GPX file in the GPX list
view, you'll be forwarded to the cache list view. This view lists
all geocaches of the selected GPX file sorted by distance from your
current GPS coordinate.
The cache list view
You can adjust details of this list and enable and disable selected
columns in the settings dialog.
Little markers at the cache icon will give you additional info
about the cache:
indicates that a cache has been marked as "found" by you or has a log from you in the GPX file
indicates that a cache has been placed by you
indicates that you've overridden the coordinate of that cache
indicates that you've entered notes into the note tab of the cache view
The cache list also tells you how far in which direction a cache
is. This of course changes when your position changes. GPXView can
thus update the cachelist periodically. This can be adjusted in the
settings.
Selecting a cache in the cache list will
forward you to the main screen of the cache view.
If the map window is open at the time you select
a cache, then the map switches into navigation mode and e.g. a compass
rose will be displayed for the selected cache.
Cache main view
The main view gives you a quick overview of the most important
aspects of a geocache. Among this information is the difficulty
and the terrain rating and of course the main coordinate.
Cache main view
This coordinate is displayed striked out if it was overridden on the
goto page. You'll also find various
informantion placed on buttons which are linked to the internet
browser. The waypoint id button will e.g. open the caches description
in the web browser.
Cache description view
The cache description usually contains the main part of the cache.
It's the important part when solving multi caches or mystery caches.
This description often comes in HTML format as it may contain all
kind of text formatting, tables, images etc ...
Cache description view
Images are usually not part of the GPS file itself. Instead the
description text is in HTML format and contains references to
the actual images stored somewhere on the internet. When being
asked to display such a description, GPXView downloads the images
and stores them internally for further usage. So once you had a
working internet connection while reading a cache description
and the images successfully got loaded everything is stored on
device. And the images are available to you afterwards in the field
even without internet connection.
Cache hint view
The hint is displayed in the typical encrypted form. Just click
the encrypt and decrypt buttons to toggle between the encrypted
and decrypted display,
Cache hint view
In some cases (e.g. in GPX files from opencaching.com) the hints
are tagged as html text or actually are encoded in html. In this
case GPXView is unable to encrypt the text. The hint tab will then
just display the decoded plain text.
Cache log view
Pocket query in GPX format usually contains the last 5 logs. If you
have found this cache and logged it, your log is included regardless
how recent it is. GPXView uses this fact to determine whether you
found a cache. In order to make this feature work, your username must
be specified in the settings.
Cache log view
If the geocaching id of the cache is known, GPXView is able to
create a browser button on top of the log view. Clicking this button
will open the browser with the appropriate log page for convenient
logging.
Cache waypoints view
Some caches contain additional waypoints. These are only included
in GPX files if they actually contain a valid coordinate (unlike e.g.
the stages of a multi cache which don't come with valid coordinates
as you are supposed to determine the coordinates yourself).
Cache waypoints view
When the selected cache has waypoints, these are also displayed
on the map.
Cache travelbug view
If GPXView is able to create a valid internet link for a travelbug
or goicoin the id will be displayed on a button. Clicking that
button will open the browser with the travelbugs homepage.
Cache notes view
The notes view is special in a way that it does not display
informantion from the GPX file. Instead it's meant to store
information that you enter manually. You might e.g. use the notes
page to solve a mystery cache or store your findings while solving
a multi cache.
Cache notes view
The cache notes page contains a coordinate tool. An alternative
("new") coordinate entered here (e.g. a solved mystery position or a
multi cache state). This can be used to overwrite the original one if
the "override" checkbox is enabled. This overridden coordinate will
then always be used instead of the original one.Icons derived from the
overridden cache position are overlayed by the
marker.
You can also mark the cache as "found" here. Found caches can then be
found in the search dialog or exported in
the garmin field notes or
garmin waypoints.
A common use case for the notes page is to
copy equations from the description page and fill them with
the correct values while on the go. Since PR1.2 Maemo5 supports
this with copy'n paste. Press and hold shift while viewing the
description and then drag the desired text marks it. The selelected
text can then be copied to the clipboard using CTRL-C and pasted
to the notes pages using CTRL-V.
All user generated content on this page is stored permanently on
the device. This data is not stored inside the GPX files.
You may at any time update or replace GPX files without affecting
the contents of the notes pages.
Cache goto view
The goto view helps you navigating to a geocache. It contains a compass
rose that is adjusted to your walking direction (the compass damping may
need adjustment in the settings). Furthermore
the compass needle always points to the geocache.
Cache goto view
Due to a lack of a real magnetic compass, GPXView needs to use the
GPS signal to determine your heading. This only works while you are
moving. And it works better if you are miving fast and in a straight
line. These conditions are usually not given when approaching the
cache on the last few meters. Once you are moving too slow for the
heading detection to work reliably, you can lock the compass in place
by tapping it. You'll then need some other means to determine where
north it. As long as you still know this, you can adjust the device
accordingly and the compass needle will still point to the geocache.
Another advanced feature is the voice
navigation. The small speaker icon
allows you to enable an accoustic distance announcement. This way you
don't need to look at the device all the time and the device will keep
you informed about the distance to the cache.
Whenever GPXView deals with coordinates it will use the coordinate
tool. This tool consists of two buttons displaying the coordinates
(on N810, N800 and desktop linux these are text entry fields) and
one or two additional buttons with icons.
The coordinate tool
You can change the coordinate directly by clicking
the coordinate buttons. On N810, N810 and desktop linux you can use
the text entry fields to enter a new coordinate. On the N900 the
coordinate picker will show up once you click one of the coordinate
buttons.
The coordinate picker
The coordinate picker is designed for finger friendlyness and allows
you to enter coordinates without using a keyboard.
You can also import one of the various coordinates GPXView already
knows. In order to do this you just habe to click the coordinate
import button
. A picker with then
show up allowing you to select a coordinate source.
Import a coordinate
The number of sources available depends on the state GPXView is in.
Possible sources include:
In some occasions also a export button
is present. This button opens the coordinate export tool.
Export a coordinate
Up to three choices may be present here:
Show the position on the map
Export the position to Maemo Mapper (needs to be supported by Maemo Mapper)
Copy the coordinate to the clipboard
Similar pickers also exist for distances
The distance picker
and directions (angles).
The direction picker
Main Menu
The main menu can be reached from the main screen (and e.g. not
from the map screen). It exact contents vary with the state of the
main screen and e.g. some menu entries may only be visible if the
main screen is in "GPX list" mode.

The main menu
The first thing selectable from the menu is the about dialog. The main
about screen will tell you version and comppile time. This is the way
to check whether you have the latest version of GPSView running.

Main about view
GPXView comes free of charge. You can install it on any device you want.
If you think you want to show your appreciation, you are welcome to
make a little donation via paypal.

Donations are appreciated
You may also actively contribute to the project by reporting bugs or
filing feature requests.

You can contribute
The settings dialog contains various global settings. Any change
made here is permanent.

The settings
Enable GPS
This settings controls GPS globally. The major reason for disabling
GPS is to save energy. Since geocaching without precise location
information is not possible, you usually want to have the GPS
enables. However, if GPS is disabled, an alternatice coordinate is
being used instead. As a default only a home coordinate is stored. You
might add an unlimited number of additional locations (like your
workplace or other places you often use). Just hit the add or edit
buttons while GPS is disabled to maintain this list. If GPS is
disabled, all coordinate calculation (e.g. in order to display the
distance of a cache) is then based on the selected alternative
coordinate in the list. In the example above the "Home" coordinate is
the active one.

Manually edit a location
The alternate positions are also useful while having GPS as they can easily
be reached via the coordinate tool.
Imperial Units
This settings changes the display between imperial (mi, in, ft) and
metric units (km, m). These only affect the display. Any input
accepts both formats at any time. So you may enter inches while in
metric mode and meters while in imperial mode. However, these are
immediately converted into display units while being processed.
Username
This is your geocaching.com user name. It's used to determine if
a geocache has been placed by you or has been found by you. The
caches are then marked using the appropriate icons as finds
and owned
.
Furthermore the username is being used when using the
geotoad feature.
Visible GPX list items
This setting allows you to enable and disable columns in the
GPX list view. The original file name
(as opposed to the GPX name stored in that file), the date
of creation and the number of caches stored in that GPX files
can be toggled independently.
Visible cache list items
This setting allows you to enable and disable columns in the
cache list view. The waypoint name,
the cache size and the caches rating can be toggled.
Cache list screensaver
The screensaver can be disabled while the
cache list is being displayed. This
is useful when e.g. driving with the cache list view active.
Since the cache list may optionally be sorted by distance,
the nearest cache is always the first one on screen.
Cache list refresh
As pointed out before, the cache list
can be refreshed automatically every 30 seconds. Since this
feature consumes CPU power (and thus battery), it can be
disabled.
Cache compass damping
The compass in the caches goto view uses
track information from the GPS signal to determine the
heading in order to re-create the functionality of a
magnetic compass. Depending on the precision of the GPS
receiver and the signal quality of the GPS signal the
tracking information may be rather inaccurate. Especially
when you are moving slowly the compass tends to jitter.
If you have this problem you might want to increase
damping. This makes the compass a little less responsive
but it increases stability of the compass display.
Use GCVote service
GPXView can retrieve cache quality ratings from the
GCVote service. If GCvote
is enabled, an additional line of stars is shown in the caches main view
describing the quality of a cache like difficulty and terrain are
already displayed by default.
Disable screen saver in goto view
Since the goto view can be used to navigate to the
cache, it may be handy to keep the screen on all the time. Be aware
that this may drain your battery if you leave the device for a longer
period in this mode with the goto view active.
GPXView can export data for use with other devices or applications.

Export
The export submenu lets you select the application you want to export data
to.

Export to Maemo Mapper POI
Maemo
Mapper is a popular mapping solution for maemo. GPXView can export
geocache locations as points of interest (POI) directly into a
database as use by Maemo Mapper. Selecting this database in Maemo
Mapper will make it display geocaches locations in its map. Since the
database export is rather slow, you might limit the radius around your
current GPS position, You can also prevent caches to be exported that
you already found or that are disabled or archived to further reduce
the number of exported caches.

Export garmin field notes
GPXView is able to export so-called Garmin field
notes. These are files containing information about all caches you
have marked as found. Also the text from the notes page of each found
cache is included. You can upload the resulting file via the upload page
at geocaching.com. Afterwards you can conveniently log all the
caches.

Export Garmin waypoints
GPXView can export waypoints of overridden
coordinates into a file suitable for use on garmin handheld gps
devices (tested with Garmin Colorado and Garmin Oregon devices). This
way you can transfer the coordintes of solved mystery caches or stages
of a multi cache to those Garmin handhelds.
The number of geocaches stored on your device may grow very fast. The
search feature allows you to search through all of the currently
active GPX files and to search for particular text fragements in the
caches name, description etc.

The search dialog
You can also search for caches that you found within the last few
days. This may be handy when logging at home and is meant to help you
remember which geocaches you've found recently.
The tools submenu is reached via the main menu. It can be used to
invoke various geocaching related tools. The tools act as if they were
seperate programs but are tightly integrated into GPXView and
typically import or export data to or from GPXView.

The tools submenu
Geomath
The geomath tool allows very basic geocoordinate calculations. Two coordinates can be entered as well as a distance and a direction.

The Geomath tool
Clicking the "Calculate" button calculates the distance between
the two given coordinates and projects the first coordinate (on the
screens left) by the given distance and direction. The resulting
projected coordinate is then be displayed in the bottom row.
The resulting coordinate can be used within GPXView from the
coordinate selector tool using the geocalc icon
. This icon also shows up in the map
if a valid geomath result is present.
Usage example: "Go 120m in 65°" from the given start coordinate
The cache description tells you to walk a certain distance into a
certain direction from a given coordinate. First you select the caches
main position
from the
coordinate selector tool
. The start
coordinate should then be displayed in the left column. Now enter the
requested distance and direction into the appropriate fields (on
Maemo5 using the picker tools). When done just
click "Calculate" and the "projection" row will contain your target
coordinate. This coordinate can now be selected in the caches "goto"
view and is also being shown in the map. You can even re-select the
projected coordinate in the Geomath dialog for further processing and
to e.g. walk another distance in another direction.
Geotext
The geotext tool allows two simple text operations often required to solve
a geocache. Many geocaches ask you to calculate the letter sum of a certain
text or word.

The Geotext tool
Just enter this word into geotext and the character sum
is being displayed while you type. Another common operation is the "shift"
letters. If you shift the letter "a" by one you get the next letter "b" (and
"z" becomes "a" again). If you shift by two "a" becomes "c" and so on. This
is the so-called cesar encryption. A special case is a shift by 13. This
encryption of shifting letters by 13 is named rot13 and is for example used
on the geocaching.com website to encrypt hints and spoilers.
Precise Position
The Precise Position is more for the hider than for the seeker. It is
supposed to be used when standing still. It allows you to average the
current position over some longer period of time.
The Precise Position tool
The tool will also
show you graphically how far all the positions received so far are
apart to give you an impression how precise the position really
is. The more coordinates you get and the smaller the radius of the
circle containing them all is the more precise is the resulting
coordinate. You can then copy the resulting coordinate to the
clipboard for further processing in other applications.
GeoToad is not part of
GPXView itself but has to be installed seperately. GeoToad is written
in the ruby language and as of this writing has to be installed
together with the ruby interpreter from the extras-devel
repository when using Maemo5.
GeoToad allows you to
download geocache information directly from the geocaching.com website. In order
to comply with the terms of that site, GeoToad intentionally runs
rather slow (about one cache request per second) to prevent to
overload that site with automated requests.
To use GeoToad you first have to enter your account information (you
don't need a premioum account!), the location you want to get geocache
information from and the size of the area you are interested
in. Please, start with an area of ~1km (0.6 mi) radius. Otherwise the
download may take rather long. You also have to select a place to
store the resulting file. You can choose any location, but it's
preferred to use a memory card to save precious root file system space
on a mobile device like the N900.
Setup of GeoToad
GeoToad is then invoked using the parameters you just entered.
Running GeoToad
After a few seconds the first information should be returned and
GeoToad starts reporting what it receives from geocaching.com.
Search results are coming in
Once geotoad is done it reports some statistics about its work and
GPXView tells you that the GeoToad job is done.
GeoToad download is done
You can now close the window and return to the main screen. You'll find that
the download has been added to the list of GPX files.
The resulting file
You can now use this file like any other GPX file you might have downloaded
from geocaching.com or similar sites.
Caches downloaded by GeoToad
GPXView comes with a built-in map. This map is downloaded on demand, but
all data being downloaded is caches locally. Once you've visited a certain
area on the map, the data will even be accessible without internet
connection.
The map
The map is tightly integrated into GPXView and always displays all active
caches with little icons. You can click these icons and get detailed
information of the cache in a "balloon". Clicking this balloon will cause
the main GPXView application to switch to that particular cache.
The map data can be taken from several sources. Clicking the little arrow
on the right screen side will extent a menu allowing you to select a
different map source.
Selecting the map source
The map always displays your current GPS position using a blue marker
surrounded by a circular gray area. This area displays your current
GPS precision. In the example below the precision of ~5km is extremely
low indicating that the position is likely not derived from the GPS
signal but of location information derived from the cell network or a
wlan position. Furthermore a small blue arrow on the GPS indicator
displays your current tracking.
Navigating to a cache
When there's a geocache selected in GPXViews main view, then all
caches except the selected one a displayed semi-transparent.
Furthermore a info display on the left side of the screen helps
navigating to the cache. Clicking on the coordinate in that info
display will center the map in that position. Clicking the compass
will toggle between GPS mode (blue compass arrow) and map center mode
(black compass arrow). In GPS mode, the distance and heading info is
displayed relative to the current GPS position. In map center mode the
distance and heading info is displayed relative to the map center.
Finally, the current map position can be used as coordinate input
in the coordinate tool.