| Subcribe via RSS

Interesting product, but…

November 27th, 2008 | 1 Comment | Posted in Gnome, Technologie, libchamplain

So Nikon has a geotagger in its sleeves and it is soon to be available.  Unfortunately it won’t be compatible with my D40.  Reading the review and the technical specifications, I am not so sorry.

The device seems small, fast and it doesn’t required its own power source.  That’s the pros.  The con is that you need to use a software to geotag your pictures afterwards.  I mean: come on, you can easily put that directly into the EXIF data right at the moment your are taking the picture!  No need to do that afterwards!

So while this is a very interesting products, we’ll have to wait a bit more to have something that just works and isn’t a more work.

On a side note, this means that my EOG Map plug-in will be much more useful in the next years!

Designing libchamplain 0.4

November 24th, 2008 | No Comments | Posted in Gnome, Technologie, libchamplain

As more and more people are using and asking for features in libchamplain, I face a difficult challenge getting the current design to do new extraordinary things.

Here are the top features that can (or can’t) only be hacked into the current design:

  1. To be able to replace the Clutter front end;
  2. To have a global state for the library (ie. loading or done);
  3. To have the tiles rendered on demand;
  4. To have our own map sources;
  5. To have a smooth animation when recentering the map;
  6. To have a zoom in/out animation.

The first feature is really the one that calls for a new architecture.  The current design relays heavily on Clutter, even for internal data representation.  This breaks the golden MVC rule and it is my first goal in this redesign.

Having the tile loading code interweaved with the model really makes it more ugly to have feature #2 and #3.  With a controler actually building the model, the tiles could come from elsewhere without making the model much more complex and the loading code can be placed together resulting in less places where the states change.

And finaly, since the view is also the controler which modifies the model, having the animations code inside the view makes some animations tricky.

While at it, why not take into account some special requirements, such a non blocking calls.  Clicking on the zoom in button should call the zoom in function, which should return as fast as possible not to block the UI.

First design steps

First I thought about the visibility of each objects.  Since I want minimal impact on the current API, I will keep the View as the main interaction point between an application and libchamplain.  To fulfill feature #4, a ChamplainMapSource interface will be created.  This is how it works internally right now, but instead of an interface, there is a struct of function pointers.

The whole data model will be available to an application wishing to implement its own map source. It will have helper controler classes such as a map loader, and eventually a map renderer.

The view should be sending the user’s actions to the main controler, which will be called ChamplainEngine.  This engine will be in charge of keeping the global settings, state and a reference to the model.  When the model changes, the view will be informe through different signals and notifications on properties’ changes.

Trying the design on paper

So I went on use this very good online sequence diagram generator to define precisely who will be responsible for instanciating objects, notifying the view and loading stuff.  I tried to stick to this rule: all model changes should happen from ChamplainEngine.

So here some of the diagrams I created.

Those diagrams enabled me to test the task division and define very precisely how the view will get informed of the model’s changes.  Implementing this design should now be very fast, granted I don’t run into unattended issues!

libchamplain 0.2.7

November 16th, 2008 | No Comments | Posted in Gnome, 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.

12 months

November 14th, 2008 | No Comments | Posted in Gnome, Maemo, Technologie

I did miss my anniversary too, but only by 2 days :)  On November 12 last year, I joined Collabora in the Montréal office.  It has been a very interesting year.  While there is half a ton of things I can’t discuss here, I can talk about why I like being at Collabora ;)

While my task did change a lot during the last year, the nature of my job didn’t.  I am still writing Open Source software.  Everything I do is available to the public and licensed in a proper way.  This is a very important aspect of my job and I like it.  But how do they make money, you ask? By finding and convincing customers that contributing to open source software is for their best.

With Collabora, I was able to travel across Western Europe (and more very soon) and meeting really interesting people.  If I had stayed at my previous job, I’d never have been to FOSDEM, GUADEC, the Maemo Summit and more.  This is one very important advantage of working for Collabora.

I was also offered chances I wouldn’t have everywhere like presenting at conferences and working on big projects.  This all makes me very glad of my decision 12 months ago, but most of all, I’m very happy to work with such a great team.

My view on the new proposed Gnome shell

October 22nd, 2008 | 1 Comment | Posted in Gnome, Technologie

Vuntz and mathias, while I understand the rationale behind the static panel and why mathias doesn’t like it, I’d like to tell you why I like the new concept.

My grandmother can barely tell the difference between a launcher, the Window list and the Notification area.  She was introduced to Linux by my grandfather, who was introduced to Linux by me 2 years ago.  They have never used any other OS in their life.

Part of the issue with the notification area is that aMSN sits there constantly.  But when it is not running, she has to click on the green people on the left (the launcher).  When the window is not open, she has to click on the green people on the right (notification area).  When the window is minimized, she has to click on the green people at the bottom (Window list).

This is something MacOS X does much better.  The launcher icon transforms itself as a notification area (think of Adium).  It is also a way to bring back your windows from that application.  And it is rather easy to see which applications are running from a glimpse.

The activities concept proposed for Gnome is interesting.  I really like the idea of having a “composé” list of the currently active applications (minimized or not) and that presence (or IM) is integrated in the panel (and probably always running).  I really like the fact that there is no launcher area (although I use it constantly).  I do think the launcher area only exists because the Applications menu is just too slow to launch apps. Also in an office environment, the launch area is often used to place the sacred company applications.  Therefore, we should provide a way in the activities menu to have a set of applications that should always be on the list (before we have to click on more).  This is like the activities at the top of the Start menu in Microsoft Windows.

I do find that being unable to raise a minimized window in one click is less interesting.  But should the minimize button really exist? The minimize button is just a way to say “get out of the way, I want to see the window behind” for people always working with full screen apps.  Why not replace it with a more convenient functionality, like “swap with behind”.  More thinking needed ;)

In conclusion, the new design is nice, it should provide a less cluttered desktop for every one.  Regular users (my grand-mother) should catch how to manage their windows and apps with more ease while power users should use something like Gnome-do or Deskbar to launch applications faster.

WebKitGtk Accessibility at Boston Gnome Summit

October 15th, 2008 | No Comments | Posted in Gnome, Technologie, WebKit

Collabora sponsored my trip to the Boston Gnome Summit 2008. It was my first Boston Summit and I have to say that I enjoyed the event: it is more a hackfest than a conference which gives the attendees time to hack. They split the people among rooms on specific subjects. Based on the opening talk, I felt that the a11y room should be quite interesting.

Willie Walker and Joanmarie Diggs were keen enough to give Marco and I a good introduction talk on a11y and how the different a11y technologies work on the Gnome stack. They also took the time to explain us how Mozilla does a11y and how WebKitGtk doesn’t do much right now.

Alp Toker did start the a11y work some weeks ago. I think he got busy as he forgot to publish all his work.  After a quick chat, he posted a patch under Bug 21546 for everyone to contribute.

Accessibility absolutely needs to be fixed before WebKitGtk can be considered for a possible inclusion in Gnome 2.26. This means we need to make this a high priority for us Gtk+ developers as no one should be left behind (para-quoting of a US act was unintentional).

To make a11y work in WebKitGtk:

  • we need to get caret browsing working: Alp worked on that, but it needs work.
  • we need to expose the page’s content through AT-SPI and Atk: Alp did a lot of work, who is volunteering to review the 50k patch? :) and continue the work?

Please take time to have a look at Gnome Accessibility Technologies and their documentation.

Unfortunately, making accessibility work will take time and it will progress only based on our free time.  But since most of the contributors to WebKitGtk are also contractors, someone willing to fund this work could easily make things progress faster.

EOG Champlain plugin is now merged

October 12th, 2008 | No Comments | Posted in Gnome, Technologie, libchamplain

The code to display maps in EOG for you geotagged photos is now merged into EOG Plugins.

You can grabe the code there:

svn co http://svn.gnome.org/svn/eog-plugins/trunk eog-plugin

To build it, you will need libchamplain and libchamplain 0.2.2 or later.

You can find 2 sample geotagged images on the bugzilla.

Libchamplain 0.2.2

October 7th, 2008 | No Comments | Posted in Gnome, Technologie, libchamplain

In this release of your favorite Gtk+ Map Widget you get:

  • Bug fixes:
    • zoom-level property changes are notified if changed when setting a new map-source;
    • Markers are now ordered from top to bottom instead of first added, first drawn using ChamplainLayer.  This is more natural to the eye.
  • Less exported symbols;
  • A less error prone library (data passed as parameter is now validated); — thanks to Marco for pointing out my Engrish lol

Grab the 0.2.2 release here!

Since I forgot to blog abour libchamplain 0.2.1, here is what was improved:

  • Bug fixes:
    • Markers’ position wasn’t updated when the map was recentered;
    • Build fixes for packagers;
  • A more standard API: (lat, lon) is now used instead of (lon, lat);
  • There is now libchamplain and libchamplain-gtk.  libchamplain can be used alone in a pure Clutter applications, where libchamplain-gtk is obviously a Gtk+ widget that wraps libchamplain.

EOG Map Plugin is now public

With this release, I am also happy to announce that I have published the code for the EOG Map plugin. You can grab it here in the Gnome Buzilla.  Download it, try it and test it, there has to be some bugs left over hehe (although I did my best to polish it!).

Mini hackfest pour OpenImpro

October 6th, 2008 | No Comments | Posted in OpenImpro, Technologie

Samedi passé avait lieu le premier mini hackfest pour OpenImpro. En fait, c’est que Yannick Bélanger s’est joint à moi pour poursuivre le développement du projet. Puisqu’il est un utilisateur professionnel de PHP, ses connaissances sont les bienvenues pour améliorer le projet et sa sécurité.

Ce hackfest a également été rendu possible grâce à la participation financière de la Gailaxie, la principale ligue d’improvisation qui utilise OpenImpro.  La ligue a consentie un montant forfaitaire pour réaliser les quelques fonctionnalités qu’elle désirait obtenir.

C’est ainsi que nous pouvons annoncer la sortie d’OpenImpro 1.2.  Voici les améliorations apportées dans cette version:

  • Section nouvelles: vous pouvez publier des nouvelles sous forme de texte.
  • Statistiques par saison dans les profils: un sélecteur de saison permet au visiteur de choisir la saison dont il désire voir les statistique lorsqu’il visite le profil d’un joueur.
  • Un membre de la ligue peut maintenant cumuler plusieurs rôles.
  • Vous pouvez maintenant définir vos propres rôles.
  • Vous pouvez également modifier l’ordre d’affichage des rôles.
  • Les réponses inchangés lorsqu’un joueur modifie son profil ne sont plus soumises systématiquement aux modérateurs.
  • Vous pouvez désactiver l’accès à la section privée à des anciens joueurs.
  • Vous pouvez filtrer la liste des joueurs et le calendrier dans la section privée.
  • Le nom de la personne s’étant branchée la dernière fois est présélectionné dans la page d’accueil.

Comme vous le constatez, nous n’avons pas chômé ce week-end.  Il reste encore beaucoup à faire, mais d’ici là: installez OpenImpro et amusez-vous avec.

Bienvenue sur pierlux.com

October 6th, 2008 | No Comments | Posted in Général, Maemo, Technologie, Voyages

À partir d’aujourd’hui, exit squidy.info, bienvenue sur pierlux.com!  Tous les liens pointant vers squidy.info seront redirigés vers pierlux.com avec un code HTTP 301, vos navigateur devraient donc mettre à jour vos signets automatiquement.  Désolé pour les planet où mes billets se sont vu republiés à cause de ce changement.

J’ai décidé de changer de nom de domaine car il doit exister plus d’une dizaine de manière d’écrire squidy en français, je devais donc l’épeler à chaque fois.  Comble de malheur, plusieurs de ces lettres se ressemblent lorsque dites au téléphone.  Bref, je crois que pierlux sera plus agréable et surtout plus près de mon identité virtuelle.

Sachez que mon adresse de courriel a également changée pour pierre-luc@pierlux.com.

squidy.info devrait tout de même fonctionner pour les 5 prochaines années.