KDE Geolocation Services

Aaron J. Seigo aseigo at kde.org
Thu Nov 4 17:01:05 GMT 2010

On Thursday, November 4, 2010, John Layt wrote:
> On Wednesday 03 November 2010 22:27:11 Aaron J. Seigo wrote:
> > that said, what dependencies does Geoclue have these days? it used to
> > depend on gconf, which would be a highly unfortunate dependency for
> > kdelibs to acquire. it was said a few years (!) back that this dependency
> > would be easy to remove and would likely be. has it been?
> Well, to be slightly clearer, the whole point of having our own phonon-like
> api would be that there would be no hard dependency on any backend, Geoclue
> or otherwise.  No Geoclue installed, we try a different backend, perhaps
> having a default hostip fallback.  If no backends are available (or can't
> determine your location) you get a null location.
> I've had a poke around, and there still is a partial GConf dependency, but
> apparently only in the Master Provider:
> http://cgit.freedesktop.org/geoclue/tree/src/main.c
> A quick explanation, Providers are the backends like gpsd or hostip that
> you can query for your location.  You can choose to query any one of these
> directly, but the Master Provider implements logic to decide for you which
> is the best one to query.  In theory, you don't need to install the Master
> Provider, or indeed any single Provider, if you don't want to (although I
> haven't checked how easy the build system makes this).
> In openSuse at least the Master Provider is packaged separately to
> libgeoclue and the the other Providers, allowing libgeoclue to rely 'only'
> on glib and gobject, leaving the Master Provider to pull in gconf.
> This makes it possible for us to choose not to depend on the Master
> Provider, but the base library only, and implement our own Master Provider
> in our api.

so we'd have to reimplement the core functionality, which leaves us with just 
the geoclue API and the design done for us. the only way this would be a win, 
imho, is if geoclue was already widely deployed on the target system. for the 
desktop, that doesn't seem to be the case (though i do see some dependencies 
on it on my system: google gadgets, gtk's stupidely named libwebkit).

to me, that's just another strike against using geoclue. we'd end up putting a 
layer on top of it to be future proof and gain portability. iow, what 
QtMobility's Location API is doing.

> Our api would already have been deciding which backend to
> call, Geoclue or something else, it would now also have to choose which
> Geoclue backend to call. 

that could be a hidden detail that wouldn't need to be exposed in the API? why 
does the API need to offer any control over the backend, versus have it 
configured at the system level?

> With regards to the roll-our-own vs QtMobility option, I wonder what
> QtMobility's dependencies are?  Is Geoclue a hard dependency, or does it
> also have its own Master Provider concept making Geoclue optional?

it doesn't seem to be a hard dep; there seem to be target-specific (e.g. 
maemo5, maemo6, symbian, etc) providers that get compiled in as appropriate.

i just took a look at the install of it, and libQtLocation is also an 
independant library with no deps on other parts of QtMobility. it apparently 
builds on its own and installs on its own. (at least i was able to do that 
here. :)

the Landmarks issues that Torsten raises seem valid. perhaps we should start 
talking with the people working on libQtLocation and see if we can't make this 
into exactly what we all need and want, as that seems like it could be the 
best route (excuse the pun ;) if we can get some things ironed out.

as an aside, the fact that something in Qt *Mobility* is of interest to 
desktop, etc. just underscores for me how utterly naive the idea of "this is 
for mobile, this is for desktop, this is for.." is. yes, some GUI differences 
exist. but beyond that a computer is a computer and it's all one big spectrum 
of capabilities. QtMobility is a stupid label imho, as would a QtDesktop 
module be.

Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Qt Development Frameworks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20101104/e79e95f0/attachment.sig>

More information about the kde-core-devel mailing list