Difference between revisions of "Mobile Solutions"

From OSGeo
Jump to navigation Jump to search
Line 279: Line 279:
 
* [http://www.navlet.org Navlet] - it is a navigation system for mobile devices, gets the positioning from a GPS receiver and displays it on a digital map.  
 
* [http://www.navlet.org Navlet] - it is a navigation system for mobile devices, gets the positioning from a GPS receiver and displays it on a digital map.  
 
* [http://www.skylab-mobilesystems.com/en/products/spot.php Spot] - combine the power of GPS with worldwide maps and a flexible waypoint management on mobile phone or PDA.
 
* [http://www.skylab-mobilesystems.com/en/products/spot.php Spot] - combine the power of GPS with worldwide maps and a flexible waypoint management on mobile phone or PDA.
 +
* [http://www.geotracing.com GeoTracing] - GPS/Mobile tracking, tracing with locative media platform
  
 
=== Closed Source ===
 
=== Closed Source ===

Revision as of 03:30, 1 August 2006

Overview

This is not a formal OSGeo project, just a spot for a few OSGeo folks to share some ideas. The idea is to elaborate foundations of design and implementation of Open Source GIS application(s) for mobile devices.

Our main objectives are to discuss:

  • principles of mobile software design
  • high usable User Interface on mobile devices
  • key functions automation
  • usage of latest communication techniques
  • portability

Hardware

TODO: What is the best device for mobile GIS application?

Operating Systems / Platforms

This section is devoted to discuss features as well as pros and cons (+/-) of various mobile operating systems and software platforms.

Here are listed platforms we have discussed, in alphabetical order:

Linux

From OpenEmbedded Overview:

OpenEmbedded is a full-featured development environment allowing users to target a wide variety of devices.(...)OpenEmbedded is a tool which allows developers to create a fully usable Linux base for various embedded systems. It has been designed to be able to handle different hardware architectures, support multiple releases for those architectures, and utilize tools for speeding up the process of recreating the base after changes have been made. Currently it can run on any Linux distribution, and plans are in place to allow it to work under Windows.

Note: Familiar's Linux distribution is entirely based on OpenEmbedded system.

See:

See also:

Pros and Cons
  • -
    • less popular

Palm OS

See:

Pros and Cons
  • +
    • available Open Source tool chain - called
    • available JVM
    • C/C++ programming language
  • -
    • dedicated for a very specific hardware platform designed entirely by Palm Inc.
    • no choice of user environments
    • no multitasking support in versions prior to Palm OS Cobalt, version 6.x
    • proprietary

Symbian OS

See:

Pros and Cons
  • +
    • dedicated to devices with very limited resources
    • good support for popular IDEs on Linux, Mac OS and Windows
    • open in terms of Open Standards
    • very popular on smartphones
    • very well documented APIs
    • very good support for Java
    • wide variety of programming languages: C++, Java, Perl, Python, OPL, Visual Basic
  • -
    • no choice of user environments
    • proprietary

Windows CE

See:

See also:

Pros and Cons
  • +
    • Real-Time Operating System, with full multithreading and multitasking support
    • supports wide range of hardware
    • very popular on PDAs currently on the market / widely used
    • very well supported by Visual Studio 2005
  • -
    • no choice of user environments
    • not compatible with POSIX
    • No good free JVM available, both recommended machines IBM J9 JVM and NSICOM CrEme JVM are commercial
    • proprietary
    • very limited version of C Run-Time library
    • Visual Studio 2005 is expansive / no replacement

Windows XP Embedded

From About Windows XP Embedded:

Windows XP Embedded is a componentized version of Windows XP Professional that contains all of the features, functionality, and familiarity of Windows XP Professional.

See:

Pros and Cons
  • +

TODO

  • -
    • proprietary

Development Platforms/Languages

TODO: Different options for development platforms on which the software can be developed for maximum portability

C/C++

Pros and Cons

  • +
    • Excellent performance
    • An industry standard for developing application
    • Quite portable, as long as portability is taken into account throughout development
  • -
    • Requires more work to compile on various OS
    • GUI is not portable to various OS, so it would most likely need to be developed separately for several different OS's

Java

Pros and Cons

  • +
    • Excellent portability
    • Should technically work on any Operating System as long as a Java VM is available for it
    • Should work with Java-enabled cell phones as well
  • -
    • Worse performance than C/C++
    • Not all Mobile hardware has Java VM pre-installed

wxWidgets

TODO: Anyone with experience using wxWidgets, please add your thoughts

  • http://www.wxwidgets.com
  • Seems an excellent GUI toolkit which is highly portable
  • Usable from variety of languages such as C++, Python, Perl, and C#/.NET.

Open Source GIS for Mobile Devices

TODO: Details of mobile GIS application design and implementation

Key Features

TODO: List of key features

Brainstorm

Note: Please, feel free to extend the list of features here.

Question: What do you think about rank features listed in this brainstorm section? It could be achived by putting asterix (*) next to features you think are important. Any other ideas?

This section is devoted to a summary of our discussion on the OSGeo mailing list. List of ideas of Open Source Mobile GIS features:

  • User Interface
    • configurable UI: turn on/off UI elements, switch to kiosk mode
    • create a wizard type tool for the desktop (for example in QGIS) to create data collection forms, etc. to be transported to the handheld device (similar to as ArcPad Forms)
    • binding UI action to hardware elements, for example zooming with hardware keys or scrolls
    • use of voice capabilities
      • ask for operation confirmations (Yes, No, Cancel) and accept answering by speech recognition or by pushing hardware keys
    • use of LEDs, for example to indicate states of various operations: GPS location accuracy/low PDOP, edited layer has not been saved, no network connection, synchronization is in progress, catching tracklog/feature vertices with GPS, etc.
    • Internationalization
  • GIS functionality
    • map tools: zoom-in, zoom-out, pan
    • integration of map and attributes database
    • data query tool
    • features editing
      • automated and configurable functions like: snapping, polygon closing, layers autosave
    • measures
    • projections, for example PROJ.4 for Windows CE
  • data synchronization
    • network-based:
      • on-demand - temporal network connection required
      • continuous - permanent network connection required
    • file-based:
      • with files copied from flash memory card
      • with files transfered by IrDA, Bluetooth or cable
  • GPS functionality
    • navigation
    • routing from current position
    • querying data based on current position
    • catch location from GPS, for example to create point on a layer
    • signal/protocol logging
    • automated map large-scale switching while measuring/catching features with GPS, for example from 1:500 or 1:1000
  • Other
    • some kind of integration with external devices, for example laser range finder, camera

Spatial Data Formats

This section discusses data formats considered for local spatial datastore on a mobile device. Proposed formats are listed in alphabetical order.

Spatial Data File (SDF)

From Autodesk's FAQ about the SDF format:

Autodesk’s new spatial data file (SDF) is a powerful single file that provides many of the capabilities of a relational database (RDBMS). Each SDF file can contain multiple geometry types (lines, polygons, and points) as well as feature attributes. A spatial data file enables you to organize and manage your data as GIS features, providing a solid foundation for a smooth transition to an RDBMS in the future if the need arises.

Some additional info on the SDF format available at https://fdo.osgeo.org/nonav/docs/SDF/index.html

TODO: We need more details about SDF format! If you know anything about this format, please share your knowledge here. Thanks!

TODO: Is there any specification available to download?

ESRI Shapefile

ESRI Shapefile is a file-based format, simple and easy to use in mobile application, though it does not support complex data relations natively. Important features of ESRI Shapefile format:

  • availability of portable libraries: Shapelib and OGR, both work on Windows CE and Linux
  • easy to use and create on mobile devices
  • very popular format in GIS world
  • well-documented format

See:

SQLite

From the SQLite website:

SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine.

SQLite engine seems to be a good candidate for a local geospatial database managed on a mobile device. SQLite features which are mostly interesting for Open Source GIS system for mobile devices include:

Existing Projects

Here is the list of various existing GIS projects for mobile platforms:

Open Source

  • GRASS Server by Radim Blazek and Luca Nardelli - client-server system providing access to geographic information from different kinds of devices: PCs, PDAs, mobile phones; with speech recognition support.
  • GRASS Server Video by Radim Blazek and Luca Nardelli - Video Demo (AVI File 31MB).
  • J2ME OGC WMS Client - it is a tool, implemented in J2ME, to communicate with OGC conform WMS servers and display the requested maps.
  • mapview - mapview is a package for viewing maps on a Palm OS handheld.
  • Navlet - it is a navigation system for mobile devices, gets the positioning from a GPS receiver and displays it on a digital map.
  • Spot - combine the power of GPS with worldwide maps and a flexible waypoint management on mobile phone or PDA.
  • GeoTracing - GPS/Mobile tracking, tracing with locative media platform

Closed Source