| Subcribe via RSS

Geolocation in Empathy: now real

June 15th, 2009 | 15 Comments | Posted in Gnome, OpenStreetMap, Technologie, libchamplain

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!

Python’s hidden poisoned apple for GPL applications

May 12th, 2009 | 15 Comments | Posted in Gnome, Maemo, OpenStreetMap, Technologie

I’d like to make people aware of something my colleague Daf pointed out to me: one cannot use Python’s SSL code (this also applies to other Python projects such as M2Crypto) in a GPL licensed application because it uses OpenSSL.

The problem resides in OpenSSL’s license which requires :

3. All advertising materials mentioning features or use of this software
must display the following acknowledgement:
“This product includes cryptographic software written by
Eric Young (eay@cryptsoft.com)”
The word ‘cryptographic’ can be left out if the routines from the library
being used are not cryptographic related :-).

and (because of its dual license)

3. All advertising materials mentioning features or use of this
software must display the following acknowledgment:
“This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit. (http://www.openssl.org/)”

This requirement as been marked as GPL incompatible.  Therefore, any GPL application using it is in license violation. While the OpenSSL FAQ stipulates that you can use it with GPL applications, this opinion is not shared by everyone. This is a quite big unadvertised licensing problem.

Now, I am not a lawyer but I can point to some existing solutions to this problem:

  1. Fix Python to not use such a poisonous (to GPL) licensed library.
  2. Do not use Python’s SSL code and use other implementations such as python-gnutls.  This solution less appealing as replacement libraries often don’t completely cover python’s API.
  3. Relicense your GPL application to “GNU GPL  with the OpenSSL special
    exemption.” (as wget did) and add mentions to OpenSSL in your advertising materials. This solution is sometimes hard to implement as you have to contact all past contributors.

libchamplain 0.3 released!

May 4th, 2009 | 3 Comments | Posted in Gnome, Maemo, OpenStreetMap, Technologie, libchamplain

I am proud to announce the release of libchamplain 0.3, the first development release toward 0.4.  libchamplain is a map widget.  It is the work of many months (as far as November) and many contributors since FOSDEM.  Here is a short list of what you get:

  • Support for proxies
  • Support for custom map sources
  • A way to list the available map sources
  • Support for 2 new built-in map sources: Cycle Map and Osmarender
  • A bunch of new function to allow more control on the UI
  • A nicer, more flexible Marker API
  • Nicer default markers: they are now grey, have rounded corners and cast a shadow!
  • Notification when the view is loading content and when it’s done
  • Support for locking down available zoom levels
  • A more intelligent cache that can be purged
  • Bindings (in the works): Perl, Python, C# and C++

Of course being a development release, the API isn’t entirely stable yet.  For instance, the code surrounding the ChamplainMapSourceDesc introduced this weekend is subject to be reviewed in the next weeks.

Yet, this release is a big step forward introducing a lot of the desired features while leaving some for an upcoming release (such as the ability to draw lines on the map).

You can grab the tarball or clone the source code.  You can read the NEWS or read about the API.

On a side note, libchamplain as been officially proposed as an external dependency for GNOME 2.28.

libchamplain has got a SoC project

April 20th, 2009 | 3 Comments | Posted in Gnome, Maemo, OpenStreetMap, Technologie, libchamplain

There will be a Google Summer of Code project for libchamplain - your Clutter based Map Widget for your Clutter or Gtk+ based applications. This project will be realized by Simon Wenner.  He will be working on getting the map rendered locally (using OpenStreetMap xml data) as opposed to downloading the pre-rendered tiles as libchamplain currently does.  At the end of the summer, libchamplain will support both for best flexibility.

This functionality means a lot of possibilities for libchamplain: better accessibility, smaller bandwidth needs, smaller cache footprint, more context data and finally themable maps.  These can be very useful if you are running on different platforms such as Maemo 5 or a desktop: bigger fonts, more contrast, tango colors!

(oh and by the way, this is the new default markers: more on them in a later post)

Unfortunately, another very interestant SoC idea didn’t make it to selected list: a glib based OSM data API.  That would have made it very useful to access the downloaded data.  But hey, that will be for later!  Thanks to all the students that submitted a project idea on libchamplain :-)

Bringing geolocation into Gnome

February 8th, 2009 | 13 Comments | Posted in Gnome, Maemo, OpenStreetMap, Technologie, libchamplain

This week-end, I presented a talk at FOSDEM about how “Bringing geolocation into GNOME”.  While giving some background definitions and ideas for geolocation, it mostly covered what are technologies currently available to achieve these goals.

I have the impression that the talk was well received, it certainly boosted my interest into spending long nights infront of the screen pushing libchamplain forward much more!

Bringing geolocation into GNOME

All of the demonstrated code is already available.  For EOG plugin, see the EOG-plugins svn repo, a release should be available in the Gnome 2.28 timeframe.  For the Empathy Geolocation, it is available in my empathy repo, and the telepathy parts already have been released.  This feature should be merged first thing in the 2.27 development cycle, allowing a smooth testing period before 2.28.  As for Emerillion, it was the first public mention of this promizing application.  It shall be announced in a close future.

To make this presentation, I used clutter-toys/opt, a clutter based presentation tools.  The slides are defined in a xml file.  I enhanced it to support embedded maps.  So if you add the following xml code, you’ll have an interactive map of Brussels, with very usefull places marked, right into your slide! Grab the branch into my clutter-toys repo.

<map width="600" height="500" zoom-level="13" latitude="50.84" longitude="4.37">
      <marker latitude="50.842966" longitude="4.35153">Porte Noire</marker>
      <marker latitude="50.845127" longitude="4.349878">Mannequin Pis</marker>
      <marker latitude="50.848548" longitude="4.353633">Délirium Café</marker>
      <marker latitude="50.821391" longitude="4.39393">Université Libre</marker>
</map>

libchamplain and libchamplain-gtk 0.2.8 released

January 10th, 2009 | 2 Comments | Posted in Gnome, Maemo, OpenStreetMap, Technologie, libchamplain

Libchamplain is a C library providing a ClutterActor that displays maps such as OpenStreetMap.  You can also have markers.  These markers can be animated or not and are interactive. Libchamplain-gtk is a Gtk+ widget that wraps around libchamplain’s ClutterActor.

This release introduces small API additions from contributors and fix to 0.2.7’s changes.

Grab the release here.

Pictured above is the Map View plugin for EOG.

libchamplain 0.2.8 (2009-01-10)

Enhancements:

  • Add a new constructor for ChamplainMarkers made of an image. (Lorenzo Masini)

Fixes

  • Fix map recenter
  • Fix licence hiding
  • Fix map centering on startup

libchamplain-gtk 0.2.8 (2009-01-10)

Enhancements:

  • libchamplain can now be installed in more exotic locations (Packz Enoch)

libchamplain 0.2.7

November 16th, 2008 | No Comments | Posted in Gnome, Maemo, OpenStreetMap, Technologie, libchamplain

I am announcing the release of libchamplain 0.2.7. Libchamplain is a ClutterActor to display maps.  Libchamplain-gtk is a Gtk+ widget wrapping it.

This is a screenshot of the demo launcher displaying OpenStreetMap data for Helsinki (Finland).

This is a screenshot of the demo launcher displaying OpenStreetMap data for Helsinki (Finland).


Enhancements:

  • Double clicking on the map will now zoom and recenter.
  • When resizing a ChamplainView, the centered content will still be centered after the resizing.  Can be disabled.
  • The Map’s license is displayed by default on the lower right corner. Can be hidden.

Fixes:

  • Fix a memory leak
  • Some code clean-up
  • Fix Bug 558026 – zoom in + center_on != center_on + zoom in
  • Fix missing zoom level in OpenStreetMap Mapnik

libchamplain-gtk has been version bumped to 0.2.7 - no changes since 0.2.6.

This should be the last release of the 0.2 series.  I plan to rewrite part of the internals to better follow the MVC principle, which will improve the code’s readability and allow for more complex features to be introducted in the future.

More info on the project page.

Ma première contribution à OpenStreetMap

September 16th, 2008 | 2 Comments | Posted in OpenStreetMap, Technologie

À part rajouter une boîte postale et quelques arrêts de bus à Montréal, je n’avais pas encore contribué en masse à OpenStreetMap.  C’est maintenant résolu: j’ai profité de mon voyage au chalet la fin de semaine dernière pour tracer les rues manquantes sur mon trajet.  J’ai donc ajouté pas loin de 15 rues sur la Côte-de-Beaupré.

J’ai utilisé JOSM car bien que Potlach est bien, c’est une solution en ligne qui selon moi devrait être un dernier recours. JOSM est très rapide et on s’habitue aux raccourcis claviers.  Par contre, j’ai pas encore trouvé comment avoir les images satellites dans JOSM et ça serait apprécié si quelqu’un me disait comment.

J’ai fait les traces avec Maemo Mapper et j’ai simplifié le fichier gpx avec la commande suivante:
gpsbabel -r -i gpx -f ../beaupre.gpx -x simplify,error=0.001k -o gpx -F beaupre.gpx

Il ne reste plus qu’à attendre que les tiles soient regénérées (j’ajouterai un screenshot avant/après)!

Note: ce liens est très utile pour connaître l’orthographe officiel des noms de rues: Commission de toponymie du Québec.