15 June 2009

Geolocation in Empathy: now real

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!

Comments (17)

  1. 15 June 2009
    waldo said...

    This. Is. Hot.

  2. 15 June 2009
    James Henstridge said...

    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.

  3. 15 June 2009
    codebeard said...

    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).

  4. 15 June 2009
    John Stowers said...

    Good work!

  5. 16 June 2009

    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.

  6. 16 June 2009
    Spike said...

    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?

  7. 16 June 2009
    andre klapper said...

    Congratulations. Great to see progress in this area.

  8. 16 June 2009
    Michael said...

    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.

  9. 16 June 2009
    sam said...

    +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.

  10. 16 June 2009

    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.

  11. 16 June 2009
    codebeard said...


    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.

  12. 18 June 2009
    Chris Hills said...

    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.

  13. 25 June 2009
    Christoph said...

    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.

  14. 25 June 2009

    [...] 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. [...]

  15. 4 July 2009

    [...] 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! [...]

  16. 25 May 2010
    Ronald Tindale said...

    Hi there

    I have owned a Nokia N900 2 months now!
    I recently read about the Empathy application and was intrigued by the feature of sending ones location details to contacts.

    I downloaded Azimuth, as the article the website, …. “Your contacts on a map with your N9002″ states I need to download two packages. Where do I download Map Buddy 0.3 and Emapthy?

    I would very much appreciate your help!


  17. 25 May 2010
    Alban said...

    @Ronald Tindale: The website you mention is a copy of “Planet Maemo” without mentioning the original authors and it also removes all the links. The website is registered with a fake address according to whois, so it looks like a scam to me.

    I wrote the original article on my blog and it is copied with my permission on Planet Maemo . I suggest you read information about the N900 on Planet Maemo instead of the website you mention :-)

    You can download Azimuth and Map Buddy on Maemo Extras-devel. Find how to enable Maemo Extras-devel here: . Notice the warning :-)

    Empathy is not a software for N900, there is no need to install it on your phone.