Om 2008 Locations

From Openmoko

Revision as of 07:21, 26 September 2008 by Olv (Talk | contribs)

Jump to: navigation, search


Contents

Introduction

Locations (codenamed Splinter) is a location sharing application based on GPS and SMS. It uses OpenStreetMap as its map source and allows users to manage and share saved locations.

Main.png
Edit1.png
Om locations4.png
List.png

Usage

In addition to downloading map images from the OSM server, Locations also supports local maps, which can be downloaded through the Installer. You can also create your own maps if your city is not available. For more information, refer to the #Create Your Own Maps section below.

Map

Use the MAP view to manage Tags with options to save, edit or send. MAP view also allows users to browse maps with zoom in and zoom out for accurate locating. If you get lost while browsing, simply tap the REFRESH button to return to your current position. It's that easy.

List

LIST view is a a centralized place to view all of your Tags. The LIST view is a combination of your own saved Tags and Tags received by friends. Selecting a Tag takes you to the exact position of the Tag in the MAP view.

Save & Send Tags

Once you are connected to GPS, saving and sending tags to friends is fun and simple.

  • Save a Tag
  1. Press the touch me bubble that hovers above your current position.
  2. After the message box appears, tap directly into the text boxes under Edit Title and Edit Messages to add your Tag title or message.
  3. After entering your title or message, press SAVE, at which point your newly created Tag will appear in both MAP and LIST views.
  4. In the MAP view, tapping on the text of your Tag provides further options to edit or send your your Tag to a friend.
  • Send a Tag
  1. In the MAP view, tap on the text of your Tag, launching the edit * send bubble.
  2. Pressing on send will launch the Send a Tag message box
  3. Tap directly within the text boxes to edit your Tag before sending, or press Send and your Tag will be on its way.

Maps

A map (.eet) is a collection of tiles. You can install maps through Installer or create your own maps. When looking for tiles to use, Locations will first try downloaded (cached) tiles. If it fails, it will look for them in the available maps. If it still fails, it will ask diversity-daemon to download, and cache them. The following subsections provide instructions and tricks you can apply.

Installation

Maps can be installed from Installer.

catogory
choose map
install map

Create Your Own Maps

NOTE: om-locations-map-pack comes with Om2008.9 (and before) eats lots of memory to pack tiles and fails easily on NEO.


Locations comes with a tool called om-locations-map-pack. It can be used to pack tile images downloaded from the OSM server into a map package:

om-locations-map-pack -v /tmp/diversity-maps my_map.eet

Place my_map.eet in either of the directories

/usr/share/om-locations/maps
/media/card/om-maps

and Locations will find it automatically.

Share Maps

To share maps for other Neo users to install, see directions on how to * Add a package to Openmoko Repository

Use SD Card for Tile Storage (Om2008.9)

By default, tiles downloaded from the OSM server are stored in /tmp/diversity-maps. They disappear after rebooting. This default path can be changed to, for example, use SD card by adding/editing one line

tile_path = /media/card

to ~/.om-locations/config/om-locations.cfg.

Download Tiles of a Region (Om2008.9)

You can download tiles of a region by specifying -d option in om-locations-map-pack. The usage is

om-locations-map-pack -d version,source,min_level,max_level,lon,lat,width,height <tile-path>

version can be any integer and source should be "osm".

The easiest way to generate the description is through Description Generator. But you can also specify it manually. For example, to download tiles of Taipei and store them on the SD card, one can

om-locations-map-pack -d `date "+%Y%m%d"`,osm,5,16,121.5,25.0,0.1,0.1 /media/card

In this example, a region of longitude between 121.5 to 121.6 and of latitude bwtween 25.0 to 25.1 is specified. Tiles in this region and of levels from 5 to 16 are downloaded to /media/card. By instructing Locations to use /media/card as its tile path, one could pre-download tiles of any region and have Locations use them.

GPS

Locations relies on diversity-daemon to communicate with the GPS device. By default, the GPS device (/dev/ttySAC1) is opened directly. However, it is possible to configure diversity-daemon to talk to gpsd.

Using gpsd (git only)

After gpsd is installed and started, it listens on port 2947 by default. To make diversity-daemon talk to gpsd, one could add/change:

gps_device = 127.0.0.1:2947

to ~/.om-locations/config/om-locations.cfg.

Logging (git only)

It is possible to turn on GPS logging by adding

gps_log = /home/root/GPSLogs

in ~/.om-locations/config/om-locations.cfg.

Development

Locations is written in C and EFL. It talks to diversity-daemon through D-Bus to, for example, send tags and download tiles.

To compile diversity-daemon,

$ svn checkout svn://svn.projects.openmoko.org/svnroot/diversity/trunk/diversity-daemon
$ cd diversity-daemon
$ ./autogen.sh
$ ./configure --enable-session-bus
$ make
$ sudo make install

Please ensure that at least Control and OpenStreetMap backends are enabled. If not, check that you have libdbus-glib-1-dev and libcurl4-gnutls-dev (on debian) or similar packages installed.

To compile Locations,

$ git clone git://git.openmoko.org/git/om-locations.git
$ cd om-locations
$ ./autogen.sh
$ make
$ sudo make install

Locations depends directly on recent versions of eet, evas, ecore, edje, and etk from EFL. Please consult its website for instructions to build them.

Using Toolchain

NOTE: More tests needed on a clean machine. At least, edje_cc is missing in this setup.


After the recent release of the Toolchain, it is possible to cross-compile Locations by following some simple steps.

First, one need to get the Toolchain,

$ wget http://downloads.openmoko.org/toolchains/openmoko-i686-arm-linux-gnueabi-toolchain.tar.bz2    # for x86
$ wget http://downloads.openmoko.org/toolchains/openmoko-x86_64-arm-linux-gnueabi-toolchain.tar.bz2  # for x86_64
$ tar -C /tmp -jxf openmoko-i686-arm-linux-gnueabi-toolchain.tar.bz2
$ sudo mv /tmp/usr/local/openmoko /usr/local

and install the dependencies,

$ . /usr/local/openmoko/arm/environment-setup
$ opkg-target install libdbus-glib-1-dev curl-dev            # requirements for diversity-daemon
$ opkg-target install libetk-dev edbus-dev libts-dev         # requirements for om-locations

You are ready to compile diversity-daemon and om-locations now. To compile diversity-daemon,

$ . /usr/local/openmoko/arm/environment-setup
$ svn checkout svn://svn.projects.openmoko.org/svnroot/diversity/trunk/diversity-daemon
$ cd diversity-daemon
$ ./autogen.sh
$ ./configure --host=arm-angstrom-linux-gnueabi --enable-session-bus
$ make

The binary is available at src/diversity-daemon. To compile om-locations,

$ . /usr/local/openmoko/arm/environment-setup
$ git clone git://git.openmoko.org/git/om-locations.git
$ cd om-locations
$ ./autogen.sh --host=arm-angstrom-linux-gnueabi
$ make

The binary and theme could be found at src/om-locations and data/themes/default.edj.

Feedbacks

Locations uses Trac for bug tracking. When report bugs, please choose category Locations so that they go to the developers directly. There is no mailing list specific for Locations. Please use http://lists.openmoko.org/mailman/listinfo/ for discussion.

Translations

Locations will be I18N-aware (support multi-languages) in the next release. To have your language(s) in the supported list, one can take this POT file and upload your translation to Trac by creating a new ticket.

Reference

[1] git repository of Locations - http://git.openmoko.org/?p=om-locations.git;a=summary

[2] Diversity project - http://diversity.projects.openmoko.org/

[3] Assassin project - http://code.google.com/p/om-assassin/

[4] OpenStreetMap - http://www.openstreetmap.org/

Personal tools
Key pages on:
Om 2008


Introduction

Locations (codenamed Splinter) is a location sharing application based on GPS and SMS. It uses OpenStreetMap as its map source and allows users to manage and share saved locations.

Main.png
Edit1.png
Om locations4.png
List.png

Usage

In addition to downloading map images from the OSM server, Locations also supports local maps, which can be downloaded through the Installer. You can also create your own maps if your city is not available. For more information, refer to the #Create Your Own Maps section below.

Map

Use the MAP view to manage Tags with options to save, edit or send. MAP view also allows users to browse maps with zoom in and zoom out for accurate locating. If you get lost while browsing, simply tap the REFRESH button to return to your current position. It's that easy.

List

LIST view is a a centralized place to view all of your Tags. The LIST view is a combination of your own saved Tags and Tags received by friends. Selecting a Tag takes you to the exact position of the Tag in the MAP view.

Save & Send Tags

Once you are connected to GPS, saving and sending tags to friends is fun and simple.

  • Save a Tag
  1. Press the touch me bubble that hovers above your current position.
  2. After the message box appears, tap directly into the text boxes under Edit Title and Edit Messages to add your Tag title or message.
  3. After entering your title or message, press SAVE, at which point your newly created Tag will appear in both MAP and LIST views.
  4. In the MAP view, tapping on the text of your Tag provides further options to edit or send your your Tag to a friend.
  • Send a Tag
  1. In the MAP view, tap on the text of your Tag, launching the edit * send bubble.
  2. Pressing on send will launch the Send a Tag message box
  3. Tap directly within the text boxes to edit your Tag before sending, or press Send and your Tag will be on its way.

Maps

A map (.eet) is a collection of tiles. You can install maps through Installer or create your own maps. When looking for tiles to use, Locations will first try downloaded (cached) tiles. If it fails, it will look for them in the available maps. If it still fails, it will ask diversity-daemon to download, and cache them. The following subsections provide instructions and tricks you can apply.

Installation

Maps can be installed from Installer.

catogory
choose map
install map

Create Your Own Maps

NOTE: om-locations-map-pack comes with Om2008.9 (and before) eats lots of memory to pack tiles and fails easily on NEO.


Locations comes with a tool called om-locations-map-pack. It can be used to pack tile images downloaded from the OSM server into a map package:

om-locations-map-pack -v /tmp/diversity-maps my_map.eet

Place my_map.eet in either of the directories

/usr/share/om-locations/maps
/media/card/om-maps

and Locations will find it automatically.

Share Maps

To share maps for other Neo users to install, see directions on how to * Add a package to Openmoko Repository

Use SD Card for Tile Storage (Om2008.9)

By default, tiles downloaded from the OSM server are stored in /tmp/diversity-maps. They disappear after rebooting. This default path can be changed to, for example, use SD card by adding/editing one line

tile_path = /media/card

to ~/.om-locations/config/om-locations.cfg.

Download Tiles of a Region (Om2008.9)

You can download tiles of a region by specifying -d option in om-locations-map-pack. The usage is

om-locations-map-pack -d version,source,min_level,max_level,lon,lat,width,height <tile-path>

version can be any integer and source should be "osm".

The easiest way to generate the description is through Description Generator. But you can also specify it manually. For example, to download tiles of Taipei and store them on the SD card, one can

om-locations-map-pack -d `date "+%Y%m%d"`,osm,5,16,121.5,25.0,0.1,0.1 /media/card

In this example, a region of longitude between 121.5 to 121.6 and of latitude bwtween 25.0 to 25.1 is specified. Tiles in this region and of levels from 5 to 16 are downloaded to /media/card. By instructing Locations to use /media/card as its tile path, one could pre-download tiles of any region and have Locations use them.

GPS

Locations relies on diversity-daemon to communicate with the GPS device. By default, the GPS device (/dev/ttySAC1) is opened directly. However, it is possible to configure diversity-daemon to talk to gpsd.

Using gpsd (git only)

After gpsd is installed and started, it listens on port 2947 by default. To make diversity-daemon talk to gpsd, one could add/change:

gps_device = 127.0.0.1:2947

to ~/.om-locations/config/om-locations.cfg.

Logging (git only)

It is possible to turn on GPS logging by adding

gps_log = /home/root/GPSLogs

in ~/.om-locations/config/om-locations.cfg.

Development

Locations is written in C and EFL. It talks to diversity-daemon through D-Bus to, for example, send tags and download tiles.

To compile diversity-daemon,

$ svn checkout svn://svn.projects.openmoko.org/svnroot/diversity/trunk/diversity-daemon
$ cd diversity-daemon
$ ./autogen.sh
$ ./configure --enable-session-bus
$ make
$ sudo make install

Please ensure that at least Control and OpenStreetMap backends are enabled. If not, check that you have libdbus-glib-1-dev and libcurl4-gnutls-dev (on debian) or similar packages installed.

To compile Locations,

$ git clone git://git.openmoko.org/git/om-locations.git
$ cd om-locations
$ ./autogen.sh
$ make
$ sudo make install

Locations depends directly on recent versions of eet, evas, ecore, edje, and etk from EFL. Please consult its website for instructions to build them.

Using Toolchain

NOTE: More tests needed on a clean machine. At least, edje_cc is missing in this setup.


After the recent release of the Toolchain, it is possible to cross-compile Locations by following some simple steps.

First, one need to get the Toolchain,

$ wget http://downloads.openmoko.org/toolchains/openmoko-i686-arm-linux-gnueabi-toolchain.tar.bz2    # for x86
$ wget http://downloads.openmoko.org/toolchains/openmoko-x86_64-arm-linux-gnueabi-toolchain.tar.bz2  # for x86_64
$ tar -C /tmp -jxf openmoko-i686-arm-linux-gnueabi-toolchain.tar.bz2
$ sudo mv /tmp/usr/local/openmoko /usr/local

and install the dependencies,

$ . /usr/local/openmoko/arm/environment-setup
$ opkg-target install libdbus-glib-1-dev curl-dev            # requirements for diversity-daemon
$ opkg-target install libetk-dev edbus-dev libts-dev         # requirements for om-locations

You are ready to compile diversity-daemon and om-locations now. To compile diversity-daemon,

$ . /usr/local/openmoko/arm/environment-setup
$ svn checkout svn://svn.projects.openmoko.org/svnroot/diversity/trunk/diversity-daemon
$ cd diversity-daemon
$ ./autogen.sh
$ ./configure --host=arm-angstrom-linux-gnueabi --enable-session-bus
$ make

The binary is available at src/diversity-daemon. To compile om-locations,

$ . /usr/local/openmoko/arm/environment-setup
$ git clone git://git.openmoko.org/git/om-locations.git
$ cd om-locations
$ ./autogen.sh --host=arm-angstrom-linux-gnueabi
$ make

The binary and theme could be found at src/om-locations and data/themes/default.edj.

Feedbacks

Locations uses Trac for bug tracking. When report bugs, please choose category Locations so that they go to the developers directly. There is no mailing list specific for Locations. Please use http://lists.openmoko.org/mailman/listinfo/ for discussion.

Translations

Locations will be I18N-aware (support multi-languages) in the next release. To have your language(s) in the supported list, one can take this POT file and upload your translation to Trac by creating a new ticket.

Reference

[1] git repository of Locations - http://git.openmoko.org/?p=om-locations.git;a=summary

[2] Diversity project - http://diversity.projects.openmoko.org/

[3] Assassin project - http://code.google.com/p/om-assassin/

[4] OpenStreetMap - http://www.openstreetmap.org/