Rana/Plans

From OpenStreetMap Wiki
Jump to navigation Jump to search

Other devices

Currently everything is optimised for the Neo Freerunner. There has been some interest in porting it to:

  • Asus eee (800x600 or 1024x600, keyboard, mouse, no touchscreen)
  • Nokia N800 (800x480, touchscreen, 5-way joystick and 2-way rocker switch, with camera)
  • Regular smartphone (presume this means the N95, i.e. 240x320 without touchscreen with joystick + ancillary buttons and option to use 12-way keyboard, with camera, with accelerometers)

Issues:

  • Screen layout for overlays and menus is different depending on screen resolution
  • Input is different for touchscreen vs buttons

Solution:

  • Create device-specific versions of modules.
    • e.g. mod_infoOverlay displays text at the bottom of a portrait-format screen for the neo. Create a separate mod_sidebar for landscape screens which would display information vertically down the left/right sides
    • e.g. mod_menus displays a 3x4-button touchscreen menu for the neo. Create a separate mod_laptopMenu that allows using a full laptop screen with rich use of keyboard for input (e.g. type an option name to search for it)
  • Mark what devices each module is applicable to. Export a "this module for use only on laptops", "this module for use on things with keyboards". The top-level rana.py then would not load any module unsuitable for the device being used

note: some modules will be adaptable within themselves.

    • e.g. the touchscreen menu could have a "selected item" outlined in red and controlled by a 5-way joystick
    • e.g. most of the touchscreen menu would rearrange itself nicely to fit on a landscape screen or larger screen by changing the number of rows/columns, while only a few things (e.g. lists) would need to be aware of screen orientation