[Geopriv] [Fwd: [Uri-review] First draft, "tomtomhome" URI scheme]

From: Hannes Tschofenig ^lt;Hannes.Tschofenig@gmx.net>
Date: Mon May 07 2007 - 03:53:15 EDT

Another geo URI scheme....

-------- Original Message --------
Subject: [Uri-review] First draft, "tomtomhome" URI scheme
Date: Fri, 4 May 2007 13:57:27 +0200
From: Michiel Salters <Michiel.Salters@tomtom.com>
To: <uri-review@ietf.org>

Hi,

The TomTom HOME application has implemented a tomtomhome: URI scheme
which
we'd like to officially register. We'd appreciate feedback on the
scheme.

We are aware of the early draft of the geo: URI scheme that was
circulated March 1st 2007.
The tomtomhome: scheme was included in TomTom HOME version 1.5 which was
first
released in January 2007. This has caused an overlap in functionality.
For example,
the <geo:48.208333,16.372778> URI is similar to
<tomtomhome:///location?48.208333,16.372778> but there is no equivalent
for
<tomtomhome:///showonmap?48.208333,16.372778>

Background:
TomTom HOME is the management application for all TomTom Portable
Navigation Devices.
The latest version of TomTom HOME is available from
http://www.tomtom.com/home
for Microsoft Windows (XP/Vista) and Mac OSX (10.3.9+)
HOME will run with limited functionality if no TomTom PND is connected.

Regards,
Michiel Salters | Technical Lead, HOME Client | TomTom |
Michiel.Salters@tomtom.com

--- 1st Draft, tomtomhome URI scheme ---

   URI scheme name: tomtomhome
      
   Status: Experimental

   URI scheme syntax:
        ABNF rules refered but not mentioned here are per RFC-3986 and
RFC-2616
        hier-part = "//" authority "/" command
        authority = ""
        scheme = "tomtomhome"
        command = "install" / "address" / "location" / "navigateto"
                / "showonmap" / "addfavourite" / "execute"
                / *(unreserved)
        query = argument *("&" argument)
        fragment = command "?" query [ "#" fragment ]
        argument = http-url / city / street / housenumber
                 / longitude-latitude
                 / *(unreserved / escaped / unwise)
        city = *(unreserved / escaped)
        street = *(unreserved / escaped)
        housenumber = *digit
        longitude-latitude = longitude "," latitude
        longitude = [-] 1*digit ["." 1*digit] ["E" / "W"]
        latitude = [-] 1*digit ["." 1*digit] ["N" / "S"]
        
   Justification:
        <path-absolute> specifies the possible commands encoded by
        such URIs.

        We use an empty authority initially to allow for
        non-TomTom commands later on which would obviously have an
        non-empty authority. Plus, experience has shown this is
        better supported in todays Webbrowsers. [Violates RFC4395
        Section 2.2]

        # is used to allow concatenation; it allows for
        tomtomthome:///<command>?<arguments>#<command>?<arguments>
        
URI scheme semantics
        A tomtomhome:/// URI can be split in a list of commands,
        each of which has arguments. The list semantics is a simple
        sequential execution of commands, where a failure of one
        command stops the processing of the rest.

        All commands have requirements on their arguments, both on
        the number and content. If these aren't met, the command
        fails directly.

        The Install command has one argument; which must be an HTTP
        URL refering to a TOC file (Table Of Content file, as
        created by e.g. HOME). The Install command will install the
        content referenced by the TOC, by obtaining the archive(s)
        referenced by the TOC, extracting the files from them, and
        copying those files to the TomTom device. To comply with the
        argument grammar, escaping of reserved characters is
        necessary.

        The address command has three arguments. The first argument is
        a <city> name, the second is a <street> name, and the third is
        a <housenumber> in the street. Semantics are left to the
        implementation, which may offer the user a list of uses for
        the address.

        The location command has one or two arguments. In both forms,
        the first argument is a <longitude-latitude> pair.
        The second argument, where present, is a description of the
        longitude-latitude pair, meant for presentation to the user.
        The numbers are interpreted as degrees with an optional
        decimal fraction. Longitude is East or West of Greenwich,
depending
        on the suffix. If no suffix is present, East is assumed. If a -
sign
        is used, no suffix should be present and the point is in the
western
        hemisphere. Latitude is similar, except it's relative to the
equator,
        North is assumed, and negative longitudes are South of the
equator.
        (The sign convention is thus Cartesian)
        Semantics are left to the implementation, which may offer the
        user a list of uses for the location.
        
        navigateto takes the same arguments as address and location,
        but suggests to the implementation that the address or location
        is a destination.

        showonmap takes the same arguments as address or location,
        but suggests to the implementation that it should show a
        map of the surroundings of the address/location.

        addtofavourite takes two or four arguments. The first is a
        suggested name for the address or location, and is free-format
        text. In the 2-argument form, the second argument is a location;
        in the 4-argument form it is an address. This command is a
        suggestion to the implementation to store the address in some
        kind of address book. Note that in this case, unlike the
location
        command, the description is mandatory and precedes the
        <longitude-latitude> argument.

        execute takes one argument, an HTTP URL. If an HTTP GET of that
        URL returns a document with text/plain MIME type, each line of
        that document is interpreted as a <fragment> (i.e. a list of
        commands and arguments). This may be used to encode long
        address lists.

Encoding considerations
UTF-8, escaped as needed, per RFC-3986 Section 2.5

   Applications/protocols that use this URI scheme name.

TomTom HOME, version 1.5 and later.
TomTom HOME is an application for the management of Portable Navigation
Devices (PND) sold by TomTom. HOME is included in the purchase, but can
also be downloaded for free from http://www.tomtom.com/home
The webserver http://addto.tomtom.com/ will redirect to tomtomhome:///
URIs. The path and query used in the http URI will be rewritten as
the comamnd and arguments in the tomtomhome URI.

   Interoperability considerations.
      
TomTom is not aware of any interoperable application or
any party trying to become so. We do expect people to use
tomtomhome: URIs on webpages.
Patents are pending on implementation of such named URI's
in relation to navigation devices.

Applications should consider addresses in a fuzzy way, ignoring case
and diacritics. Also, there may be multiple ways of naming a city,
depending on many factors including political. City names do not
appear in isolation; streetnames can be used for disambiguation.

The addtofavourite command will accept a longitude/latitude pair,
which typically requires reverse geocoding to store the address
as a city/street/housenumber

   Security considerations.

Applications interpreting an install command should validate
the content before being installed. Applications interpreting
an execute command should not try to read the entire document
into memory.

      
   Contact.
   Tom Tom Int BV
   Michiel Salters (michiel.salters@tomtom.com)
   Phone: + 31 (0)20 - 8500800
   Fax: +31.208501099
   Rembrandtplein 35
   Amsterdam, 1017 CT
   NL

      Person (including contact information) to contact for further
      information.
   Author/Change controller.
   Tom Tom Int BV
   Michiel Salters (michiel.salters@tomtom.com)
   Phone: + 31 (0)20 - 8500800
   Fax: +31.208501099
   Rembrandtplein 35
   Amsterdam, 1017 CT
   NL

      Person (including contact information) authorized to change this,
      if a provisional registration.
  Michiel Salters (michiel.salters@tomtom.com)

   References.

RFC 3986
RFC 4395
RFC 2616

This e-mail message contains information which is confidential and may be privileged. It is intended for use by the addressee only. If you are not the intended addressee, we request that you notify the sender immediately and delete or destroy this e-mail message and any attachment(s), without copying, saving, forwarding, disclosing or using its contents in any other way. TomTom N.V., TomTom International BV or any other company belonging to the TomTom group of companies will not be liable for damage relating to the communication by e-mail of data, documents or any other information.

_______________________________________________
Uri-review mailing list
Uri-review@ietf.org
https://www1.ietf.org/mailman/listinfo/uri-review

_______________________________________________
Geopriv mailing list
Geopriv@ietf.org
https://www1.ietf.org/mailman/listinfo/geopriv
Received on Mon, 07 May 2007 09:53:15 +0200

This archive was generated by hypermail 2.1.8 : Mon May 07 2007 - 03:53:33 EDT