»
S
I
D
E
B
A
R
«
Geolocation in Empathy: now real
June 15th, 2009 by Pierre-Luc Beaudoin

Last January, I announced Geolocation in Empathy.  All pending branches have now been merged and released in Empathy 2.27.3.

It took quite a lot of time to finalize it because we were quite busy and quite frankly while this is sexy, it isn’t a very important feature in Empathy :-).  In the following screenshots, you’ll discover that things have changed a lot since the original announcement.

First of all, the markers now include more information about the contact.  This uses the new markers in libchamplain.  It works nice for now (as I only have 3 or 4 contacts publishing their location), we’ll see with usage if the markers are just too big.

The map is now interactive: right clicking on a contact will bring up the same context menu you get on the contact list.

The Preferences UI was reworked to be simpler.  The previous UI left space for an hypothetical Manual address mode which was dropped.  The rationale is that Empathy shouldn’t have to care about addresses.  If you want to change the address, change it in Geoclue.

This is new since January: the tool tip now include your contact’s geolocation information.  This is the only part of all the geolocation changes that are present even if you don’t build with Geoclue or libchamplain.  It was impossible to display a map there as ClutterGtk doesn’t seem to like such windows hehe. We already know it is partly ugly and contains duplicate information :-) It will be improved before final release.

Finally, the contact information dialog now displays a map and the detailed information about the contact’s location.

Don’t miss the FAQ that I populated with questions I was often asked during development.  Report bugs on the Geolocation component of Empathy (you can also see that we have work left to do).

I am not the only one who worked on this exiting feature, here are the details:

  • Alban Crequy worked on the XMPP support and reviews;
  • Dafydd Harries did the early work on the XMPP support;
  • Guillaume Desmottes wrote the XMPP PEP code (the same used for OLPC) and reviewed the code;
  • Pierre-Luc Beaudoin did the UIs, the libchamplain and geoclue integration and pursued the XMPP support;
  • Xavier Claessens reviewed many times.

I can’t wait to see more people using this and show up on my map!


15 Responses

waldo writes:
June 15th, 2009 at 22:03

This. Is. Hot.

James Henstridge writes:
June 15th, 2009 at 22:13

Looks pretty good. Is the user supposed to know what “Geoclue” means? If not, then perhaps it’d be worth changing the heading in the preferences page to something like “Location sources” or similar.

codebeard writes:
June 15th, 2009 at 22:43

Looks great.

Just wondering about the 0.25 deg random perturbation… It seems to me that by analysing the distribution of reported locations over time, particularly for people who spend a lot of time in a given place (i.e. at home), it would be possible to narrow down the location. You probably wouldn’t be able to narrow it down to a single house using this, but you could potentially narrow it down to a suburb.

For this reason, I think it would be safer to just report the GPS coordinates of nearest city (corresponding to the city that is reported).

John Stowers writes:
June 15th, 2009 at 23:22

Good work!

James Livingston writes:
June 16th, 2009 at 0:48

Looks awesome.

As codebeard said, you can extract much more detailed information from a series of randomly perturbed values - it all depends on how often the location is re-randomised.

Either using the co-ordinates of something well-known and nearby (e.g. the nearest city) or just rounding to the nearest 0.25 degrees would give away a lot less information.

Spike writes:
June 16th, 2009 at 1:34

Nice addition!

By the way, maybe you Empathy/Telepathy developers should consider asking Ralph Meijer to add you to either http://planet.jabber.org/ or http://planet.jabber.org/news/

This way, you will get more exposure. :)

Now I only hope Pidgin, Psi and Empathy will have interoperable Jingle audio/video voice calls. Have you guys tried any interop testing?

andre klapper writes:
June 16th, 2009 at 3:37

Congratulations. Great to see progress in this area.

Michael writes:
June 16th, 2009 at 3:43

Looks great!

One problem though, currently libchamplain seems to depend on clutter 0.8.x while many other modules already depend on 1.0 (well, 0.9.2 or something). It would be great to see this all ported soon.

sam writes:
June 16th, 2009 at 6:42

+1 on comments about randomising the GPS value. rounding would be better.

the only issue would be if you live right on a boundary where the rounded value would oscillate between 2 values. maybe it could keep repeating the original value until you move a certain distance.

Pierre-Luc Beaudoin writes:
June 16th, 2009 at 9:38

Regarding GPS “reduced accuracy”: most users won’t be using this with a GPS. Therefore, the coordinate they’ll publish will already be of reduced accuracy based on the data source used to determine their location.

Secondo, the “random value” added is the same as long as Empathy is running. Therefore, for someone relatively static, it will not be possible to get a more precise position (unless he keeps restarting Empathy, which he’ll probably do over weeks. That can probably be helped by making this value more permanent). Thanks for your concerns.

codebeard writes:
June 16th, 2009 at 21:03

@Pierre-Luc

A potential issue with a fixed random value is that if the user is ever somewhere with a known location, the offset can be trivially calculated and then later used to find the user’s location at other times. That is, if I know person X is current at the library, but they are reporting a location +/- some offset, the offset is easy to determine and I can then subtract that from their reported location at another time.

I think I like sam’s suggestion of rounding but with requiring a movement of a certain distance before updating.

Chris Hills writes:
June 18th, 2009 at 7:20

I would like to suggest a menu somewhere, that when clicked on, shows a list of nearest contacts, sorted by distance. For example:

Who’s near me
—————-
John (2km)
Fred (5km)
Sheila (20km)

Or perhaps it could drop down a map of the local region with a radar and the contacts plotted on it.

Christoph writes:
June 25th, 2009 at 16:41

Nice feature and I’d like to blog about it. But i can’t make the geolocation feature work, so that I can take my own sceenshots. May I use your pictures in my blog? I can’t find a note under which license your blog runs.

Ein kurzer Blick auf Empathy 2.27.3 | Linux und Ich writes:
June 25th, 2009 at 18:36

[...] Bei mir konnte ich die Funktion jedoch noch nicht zum Laufen bewegen. Obwohl ich zwei Kontakte habe, die Empathy in dieser Version benutzen und die Option aktiviert war, tauchten in den Kontaktlisten keine Geoinformationen auf. Die Bilder stammen aus Pierre-Luc Beaudoins Blog. [...]

Pierre-Luc Beaudoin » Blog Archive » At the Gran Canaria Desktop Summit writes:
July 4th, 2009 at 20:31

[...] Any how, I am giving a talk tomorrow (Sunday the 5th) with Henri Bergius about the Location aware desktop. Don’t miss it 11:30, Room 2 “Cámara”.  The slot is quite short so don’t really expect demos Who needs demos when you can try it by yourself! [...]

Leave a Reply

»  Substance: WordPress   »  Style: Ahren Ahimsa