This is a (definitely incomplete) list of features/improvements for gpsdrive.
This file helps us keep track of what can be done and who is interested in doing it.
Everyone is invited to catch one of the tasks and start development.

Currently Worked on for Release gpsdrive-2.10pre4:
--------------------------------------------------
- Vektor Maps with Mapnik and Data from OSM
   - Integration of lib-mapnik (loom)
   - Creating osm-data-mapnik debian Package (tweety)
   - remove QT-Dependency
- POI Management (D.S.E)
   - POI GUI
- GUI
   - Make the Mapwindow resizable (maybe) (D.S.E)
- Cleaning Up the debian package Content



Ideas for gpsdrive improvement: (unassigned, unrated)
-----------------------------------------------------
- Documentation:
    - writing lots of useful comments to the existing code.
	- Writing/improving man Pages
	- Translate man Pages
	- Translate in Programm Text (translate in the po/*.po Files)
    - writing and correcting text for the FAQ/man pages
    - Better "hacking" documentation (e.g. documentation describing how to generate
      a "GPSDrive-compliant" raster map from outside of GPSDrive, clear
      documentation on the size and shape of custom icons, etc.).
	- Help translate the gettext strings (po-Files) in to your native language

- Makefiles/Distribution:
	- include generation of icon Directory while installing gpsdrive
	- update the distribution dependant Files (debian, suse, ...)

- Modularising:
	- Put every drawing layer into a seperate sourcefile.
	- moving configuration Data into a structure (already started)
	- moving actual settings into another structure (already started)
	- move more stuff from gpsdrive.c into meaningful standalone Files
		examples:
		- poi.{c,h}
		- gps_handling.{c.h}
		- icons.{c.h}

- Autosave Tracks periodically
	- started: savetrack was seperated and got 
	  option to save only aktual Track an not track_ALL.sav

- Finding and correcting Bugs in the existing Code.

- make the code more error resistant

- Changing User Interface:
	- move to setup menu:
		save Track

	- move to pulldown menu:
		Start gpsd 
		Download Map
	- rewrite the UI using glade-2 (see above)
	- include POI-Management

- Point and measure Mode: Show the lat/lon of a point you clicked on. 
  Click an another point and then show the distance between those two points.

- write routines to import gps Tracks into the Database. The difficulty 
  here is to classify the Data and find corresponding tracks and merge 
  them together. Also to find gaps in the tracks and split them at 
  this point.

- make gpsdrive compile inside eclipse.
  should work

- refactor the variable names inside gpsdrive.

- write an interface to use functions like gpsbabel gpstrans from inside
  gpsdrive.

- Move part of the user interface to a Pulldown menu.

- write track data in smaller steps (every point comming from gps). This 
  would enable us to use these tracks as a data Pool for gernerating our 
  own vector maps

- add an Mode for Displaying position under the cursor and measure distances

- add support for moving the map with the cursor keys if in POS-Mode

- Correct/complete/add-new translations in the po Files

- Writing code for the handling the POI(Point Of Interest) Data 
  inside the Database.
     - this would be searching an point of interest in 
       the Database and displaying it on the map
     - having an interface to select what kind of POIs to 
       display at the moment

- Store poi-type-specific information in a separate poi_extra table
  (e.g. macaddr, wep, etc. for wlan entries; classification, features, pricing,
  rooms, etc. for hotels, etc.).
  GPSDrive would only need to access the basic data in the core poi table for
  search and display of pois, but when a poi is clicked, the additional data
  can be displayed formatted in a (pop-up) window.
  Also external programs could make use of the extra data.

- Make it work with MySQL 4.1 (afore mentioned "select(): bad file descriptor" 
  problem, plus see below).

- Devise a "standard" set of tables for OpenGIS data (lines, polygons, etc) 
  which can be drawn atop the existing raster maps if desired (or used to
  populate a "blank" raster map.)  Someone could work up an import routine
  from the US Census Bureau "TIGER/Line[1]" data, import from Shapefiles, etc.
  [1] http://www.census.gov/geo/www/tiger/tiger2003/tgr2003.html  There's
	  actually supposed to be a new release of this data sometime this month as
 	  well.  I personally have a sloppily-done but functional script that generates
	  GPSDrive raster maps by rendering TIGER/Line "Type 1" (roads) data atop
	  the satellite photo data at various scales.  I'll share it with anyone
	  that wants it, if they promise not to laugh in my face at my really slovenly
	  code.

- Split the database backend out into "plugins" so that users of mapd
  or people who just passionately hate MySQL for whatever reason can use
  PostGRES instead (or maybe Oracle if they're wealthy).  (Presumably a bigger
  challenge, but I think it'd be worthwhile, even if MySQL is plenty for my own
  uses...)

- Have the database fetch waypoints in order from nearest waypoint to current
  location to furthest, and add a configurable limit to the number retrieved - 
  should lighten the load on GPSDrive considerably for those of us with huge
  waypoints tables... (I can supply a very crude patch for this, with a 
  hard-coded limit of total waypoints fetched at any one time.  It has worked
  fine for me and is a very small change to GPSDrive, but isn't very elegant).
  I've been importing USGS GNIS data[2] as waypoints, so even with just a few
  states worth of waypoints it's easy to end up with hundreds of thousands of
  them.
  [2] http://geonames.usgs.gov/geonames/stategaz/index.html  I have a script 
	  to import these into GPSDrive's waypoint table (as modified by myself - see
	  the suggestion about added fields...), and a start on custom waypoint icons
	  for a few of the types.  Eventually I hope to have waypoint icons for all of
	  them.  I'll share these if anyone wants them, too.  Note that the GNIS also
	  has a link to "Foreign" (relative to the U.S.) names: I haven't looked too
	  deeply into these yet, but the files do have a different structure than the
	  GNIS datafiles last time I looked.  However, they should be pretty easy to
	  reconcile with the GNIS waypoint types and write an import script for.  That's
	  on my "to do" list sometime soon, and would give non-U.S. people a possibly
	  useful source for some geographic waypoints.

- Remove fetching of expedia maps (however, see below).  The terms of use 
  for the expedia map servers appear to explicitly forbid what we do with
  GPSDrive, and I'm a bit uncomfortable with what amounts to a "break the law" 
  button built into the program...(see, told you at least one idea would
  be downright blasphemous...)

- HOWEVER...split map fetching out into external programs.  Even simply having
  a field in the configuration to supply program names which get run (with 
  environment variables for lat, lon, altitude, etc. set appropriately by
  GPSDrive when it calls them.)  Anyone with the time, talent, and inclination
  to do so can then easily contribute independent "fetch a map" programs for
  various purposes, in whatever programming language they prefer, without
  needing to mess with the core of GPSDrive itself.  No doubt some horrible, 
  horrible person would make an expedia download program to replace the 
  "built-in" function and thus allow people to commit the terrible sin of 
  robbing Bill Gates of an uncountably-small fraction of a penny of profit by
  downloading maps without permission once again, but what can you do? :-)

- Increase the possible size of the waypoint labels on the map (minor cosmetic
  issue, I just keep running into placenames that get cut off because they're
  too long).


- Make it easier to find waypoints that are not currently within the range
  specified in preferences (i.e. if one is travelling a long way and wants to 
  find and select the destination, while the range is set fairly low because 
  there are a lot of waypoints in the area...)

- ADD SUPPORT FOR UTM PROJECTION MAPS!  Possibly remove the "street" and "topo"
  distinctions and instead have selections for UTM, ORTHO(?), and LATLON,
  perhaps?
  I've been trying for some time now to find out what projection the
  Expedia(tm) maps are in, so that I can use gdalwarp to convert UTM maps
  that will work correctly as "street"-type maps, but nobody seems to know.
  Best guess I've heard so far is that they are an "Orthographic" projection.

- Improve Kismet connection robustness.  GPSDrive still locks up for me
  if Kismet dies while GPSDrive is connected to it.  Even better, add a
  "check for Kismet" button and allow GPSDrive to connect to Kismet
  AFTER being started - or to re-connect if Kismet gets stopped and restarted.

- A function to overlay raster data atop the existing displayed map - for 
  example if I find a way to fetch weather radar data while driving around, 
  maybe I could have GPSDrive draw the weather activity atop the current
  map, so I can tell if I'm going to outrun the storm...

- Implement direct GPX support
  - replace way.txt by way.gpx (or remove this file completely)
  - support import of POIs/Waypoints in gpx format
  - support also import/export of tracks and routes in gpx format

-----------------------------------------------------------------------------
D.S.E <d.s.e@sordidmusic.com>

my personal TODO-List (for after the pre4 release) :-)

- extend (poi-)databases to handle additional information for POIs.
- add navigation mode (optimized gui for small car touchscreens)
- make displayed map draggable with mouse

-----------------------------------------------------------------------------
Koji <koji@e-mail.jp>

- making 2.10pre2's ja.po. 

- Tokyo maps:
  This URL contain the position (deg/mm/ss), map scale(1/7000) and 
  map size(1280x1024). And a lot of scales can be obtained.
  This is very convenient for me. :-) Only one probrem is not WGS84 position,
  this positioning is named "Tokyo". So I need excange the position. :-(

  http://www.mapion.co.jp/c/f?el=139/36/45.600&scl=70000&size=1280,1024&uc=1&grp=MapionBB&nl=35/31/36.300


-----------------------------------------------------------------------------
Rob Stewart <rob@groupboard.com>

I've already looked at the festival speech stuff and I think I could 
make a change for the better there. However, the biggest thing I would 
suggest is setting a good coding standard, I think what currently exists 
is a little scary! Here's my top suggestions...


-----------------------------------------------------------------------------

Old (has to be checked):
------------------------

Command line switch to set gpsd hostname and port for remote control.

Add load of trackings (i.e. stored in the GPS and
converted with a nice perl script anyone will write).

Servermode to display different positions provided over Internet
server.

resizing of window
centering of map to selected points

render maps in greyscale

create ~/.gpsdrive directory and files if missing.


