FoxtrotGPS
Notes on FoxtrotGPS, the usual Wildsong page -- I write until I have a basic understanding, then leave you hanging.
User guide
Sidebar
there are 7 buttons on the left sidebar
Show info - toggle a panel on the right side on/off
Fullscreen
Zoom in
Zoom out
Autocenter - Keeps the map centered on the current GPS position.
Next - Selects the next map source - the list of map sources is set in the Configuration panel
Prev - Selects the previous map source
Map
Context menu
this point
show friends
show POIs
show photos
ways & routes >
POIS >
photos >
my position >
map download
map detail >
Right panel
Toggled on/off with the i button.
Arrows at top rotate through 4 panels:
1 Trip Meter
2 Friends
3 Tracks
4 Configuration
Friends
Looks like you can register at a central web server, and send updates on your position at a selectable interval (default 5 minutes). You can set a status ("What are you doing")
Peeking at the code, it looks like it's using "curl" to send messsges to a Web server.
The projects list at FoxtrotGps.org suggests that standards would be better and that a couple possibilities are XMPP (Jabber) and YouLoc.net
I am looking at GeoRSS and wondering if it's applicable. GeoRSS supports drawing shapes (not just points) on a map, so for example the extent of a flood could be transmitted as a polygon.
I am also wondering how to fit APRS into the picture. I'd like to have APRS stations appear on my FoxtrotGPS map.
The bits and bobs
FoxtrotGPS builds on a rich foundation of open source components.
Building on Ubuntu 10.04
Prequisites
Taken straight from the source
- pkg-config <http://pkg-config.freedesktop.org/>
- GLib 2.x <http://www.gtk.org/>
- GTK+ 2.x <http://www.gtk.org/>
- libglade 2.x <http://ftp.acc.umu.se/pub/GNOME/sources/libglade/2.6/>
- GConf 2.x <http://www.gnome.org/projects/gconf/>
- libcurl <http://curl.haxx.se/>
- SQLite 3 <http://www.sqlite.org/>
- libexif <http://libexif.sourceforge.net/>
- libxml2 <http://xmlsoft.org/>
- libgps >= 2.90 <http://gpsd.berlios.de/>
What I had to install
Starting with a machine that's been used to compile and build projects, I still had to install some stuff.
I downloaded and built curl and gpsd from source, Ubuntu version is outdated.
sudo apt-get install libgconf2-dev libglade2-dev curl sqlite3 libsqlite3-dev \ libxml2-dev libexif-dev libcurl3 sudo apt-get install bzr sudo apt-get install autoconf intltool libtool bzr branch http://www.foxtrotgps.org/branches/foxtrotgps-dev/
cd foxtrotgps-dev/ ./autogen.sh ./configure make sudo make install foxtrotgps
It runs!
Contributing changes
- Create a branch
- Make your one change on the branch (to keep the ChangeLog sensible)
- Commit the files that changed
- Josh will evaluate your change and hopefully merge them into the trunk
- Update your source code
Creating a branch is just the first step to building from source. Like this
bzr branch http://www.foxtrotgps.org/branches/foxtrotgps-dev/
Make your change or addition or whatever. "One change" means you want to do the minimum necessary to, for example, fix just one bug, not several bugs. This makes evaluating the work you did easier for the maintainers.