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)
- Screen layout for overlays and menus is different depending on screen resolution
- Input is different for touchscreen vs buttons
- 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