OSMtracker (Windows Mobile)/Refactoring

From OpenStreetMap Wiki
Jump to navigation Jump to search

A complete refactoring is planned based on the 0.11 code base. Please put any short and mid term goals here that shall be taken into consideration during this process and sign them (helpful for discussions later on).

Refactoring goals

Comprehensive

  • sum up related objects in dedicated assemblies --PVitt 19:13, 30 December 2009 (UTC)
  • use namespaces more widely --PVitt 19:13, 30 December 2009 (UTC)
  • Check the use of floating point values for performance reasons and switch to fixed integers as applicable. --PVitt 21:27, 11 January 2010 (UTC)

Slippy Map

  • make OSMTileMap an interface which can easily exchanged (e.g. for long term "real time rendering") --MrTux 02:28, 31 December 2009 (UTC)
  • Possibility to show more than one data source (e.g. current track and planned track which is loaded from a gps file) --PVitt 19:13, 30 December 2009 (UTC)
  • More generally: overlay-plugins (e.g. for OSMbugs) --MrTux 02:28, 31 December 2009 (UTC)
  • Make common events like Click, DblClick, Move, Drag also available outside OSMTileMap atleast in 2 modes: map mode (current behavior), edit mode (events handled outside OSMTileMap) --didoa 20:36, 30 December 2009 (UTC)
  • I think we should keep the "moving canvas" and perform update requests to always fill it --MrTux 17:59, 8 February 2010 (UTC)

Audio recording

  • perhaps a redesigned thread handling could reduce the very many very small gaps in the audio files that reduce the comprehensibility in WM6.1 phones (see mail on the list from Peter Vitt on 2009-06-07 18:25). --gzin 19:38, 30 December 2009 (UTC)

Settings

  • Make the settings available on one centralized place and set up the used components within their constructors or due to specialized methods. --PVitt 19:13, 30 December 2009 (UTC)
    • Thinking of Config transfer objects (committed in rev.716) --MrTux 02:28, 31 December 2009 (UTC)

Namespaces

Overview (first idea) about future namespaces and their content.

  • GPS - Classes and interfaces for the work with GPS (e.g. NMEA parser, specific data structures etc)
  • GPX - Provides objects that enables the creation of and the work with gpx files
  • OSM - Most common used objects that are OpenStreetMap-specific
    • OSM.Data - Classes and Interfaces for OSM-specific data handling
    • OSM.OSMTracker - OSMTracker-specific classes and interfaces
      • OSM.OSMTracker.UI - User interface objects
    • OSM.Tiles - Classes and interfaces for the work with TileMaps (e.g. calculation routines for the tile number at a given position, etc.)
    • OSM.Windows - OSM-specific enhancements for Windows/Windows Mobile, e.g. Bluetooth, GPS (Intermediate Driver), etc.
  • SlippyMap - Objects for the use of the SlippyMap

Discussion

  • I'm not sure if a namespace SlippyMap is used. The SlippyMap-component can also be placed in OSM.Tiles. The idea of using a new and separate namespace is, that a SlippyMap-component can also be used by other, non-OSM projects. --PVitt 12:56, 3 January 2010 (UTC)