-Software Projects
-=================
+Software Projects currently worked on
+=====================================
* [[projects/geojackal]] – A geocache management database
* [[projects/infopoint-html]] – A full screen web page viewer for info terminals
+Ideas for new software projects
+===============================
+
+Here I collect sketches for software that I still need to write (or that I
+would like to be seen written by someone other... ;-)), and features that
+IMHO still need to be implmented in existing software.
+
+This section should serve as a source of inspiration for people that have too
+much time on their hands.
+
+OpenStreetMap editor for mobile devices
+---------------------------------------
+[JOSM](http://josm.openstreetmap.org) and [Merkaartor](http://merkaartor.be/)
+are really nice programs for editing OpenStreetMap data on the desktop, and
+[OSMTracker](http://wiki.openstreetmap.org/wiki/OSMtracker) is acceptable for
+Windows Mobile devices. However, OSMTracker is very inflexible when it comes
+to tagging abilities. So a perfect mobile application would combine the best
+of both worlds:
+
+ * displaying the raw XML data, maybe in real-time via mobile internet
+ connection
+ * displaying the rendered map
+ * recording a GPX track
+ * take pictures if the mobile device features a camera
+ * serve as a voice recorder
+ * adding and tagging nodes, ways, and maybe relations in a key=value manner
+ * maybe allow presets for different objects, like JOSM has. These could be
+ implemented like the customizable buttons in OSMTracker.
+ * auto-completion for keys and values would be great for people like me
+ who cannot remember actual tag names...
+ * The absolute killer feature would be the ability to automatically import
+ the changed data into desktop software like JOSM/Merkaartor, and export
+ diffs.
+
+JOSM: Nice-to-have
+------------------------
+* Raw diff view of the changed XML data. The current preview in the upload
+ dialog is too simple.
+* A function to copy a bunch of tags from one object to another. Example: I
+ have a node tagged with `shop=florist`, `opening_hours=...` and want to
+ transfer these tags to the surrounding building to delete the node
+ afterwards.
+