RFC: How to decide which backend(s) to use

Andrew Turner ajturner at highearthorbit.com
Tue Jun 19 15:22:24 PDT 2007


My understanding of Dbus was that a backend would publish the service
when it was 'activated' (application run, whatever). GeoClue would get
the location from all backend providers. This would include lat/lon,
civic, and some "degree of precision". Each service determines it's
relatively precision (GPS can use DOP, HostIP would be low (say 5/10),
etc)

GeoClue now has a list that can be configured via an interface on
order preference (please use GPS whenever it is available and > .6
accuracy) or optionally some filtering algorithm

avg(GPS * GPS_accuracy + HostIP * HostIP accuracy)

or something (there are algorithms to be looked at/played with)

And to your last question - yes, geoclue would then provide just a
lat/lon, civic location (and maybe guestimated accuracy of that
location) for any app that asks.




On 6/19/07, Jussi Kukkonen <jhkukkon at cc.hut.fi> wrote:
> This RFC is actually somewhat related to the earlier (hopefully even
> ongoing) discussion on interfaces.
>
>
> Selecting the backend to use is not just a matter of choosing the
> default one, if we want to do it right. Example: Let's say the user has
> the following position backends installed
>    1. GPS
>    2. Hostip
>
> Scenario 1. Application wants to know the city/country (assume civic
>             location is now included in the position-interface).
> Scenario 2: An application wants coordinates. User does not have a GPS
>             device with her (or she is indoors).
>
> In both scenarios the default GPS backend is unusable. Problem in
> scenario 1 is something that could be avoided with having separate
> interfaces for civic/coordinate location, but that is just a special
> case. Scenario 2, and many other situations like it, would require the
> application to call get_all_position_providers() and try another backend
> if the current_position()-method of the first backend failed... This is
> not friendly at all.
>
>
> Conclusions/questions:
>
> * There should be an order of preference for backends
>   (a list in gconf instead of just the default backend?)
>
> * Getting information from the several backends should be as seamless as
>   possible. I don't see why we couldn't totally abstract this in the
>   bindings / wrapper library?
>      If a method (e.g. current_position()) fails, and
>      if no backend was initialized with generic init-method and
>      if there are backends still left on the list of backends
>           Initialize the next backend in the list and
>           call the current_position method() on the new backend
>
> Is there something seriously wrong with this idea? If it works,
> applications could just say
> "I want [Coordinates|City Name|Street Address|...]"
> and get that information without knowing any details.
>
>
>   -jussi
>
>
> _______________________________________________
> GeoClue mailing list
> GeoClue at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/geoclue
>
>
>


-- 
Andrew Turner
ajturner at highearthorbit.com      42.2774N x 83.7611W
http://highearthorbit.com              Ann Arbor, Michigan, USA


More information about the GeoClue mailing list