3 February 2010

My upcoming talks at Confoo.ca

After touring FOSS events all around the world, I decided to see what’s happening on the local software scene.  I met with the guys from Montreal-Python, the Ubuntu Québec local team guys (after all Montréal is the home of Canonical’s Global Support Services) and the local start-ups at DemoCamp.

confoo.ca Web Techno ConferenceThey convinced me I should give a talk at Confoo.ca.  In fact I decided to submit 2 talks and both were accepted.  Confoo.ca is a new conference building on the famous PhpQuébec conferences but gathering much more communities together: .Net, Python, Ruby and Web developers. The conference will cover technical topics as well as project management, marketing and social medias.

Based on my personal knowledge and the experiments I’ve been doing lately with Web + Desktop apps combinations, I’ve submitted the following talks.

Django + RESTful APIs as an application server

Application servers are the central part of data applications. They are responsible for mission critical activities of businesses and yet have to be cost effective. Django offers a lot of flexibility by providing rapid application development. Django-piston makes it easy to add RESTful APIs to existing Django apps. Web servers are very common and rather cheap to rent or host in house.

Once your application has a RESTful API, nothing is keeping desktop applications to access your web services. For example, using librest on the desktop, Emerillon accesses on-line databases such as Geonames. Librest simplifies accessing RESTful web services and makes parsing XML fun again (that’s a Robert Bradford quote if I am not mistaken).

Introduction to OpenStreetMap and how to use it

When thinking of online maps, Google Maps is often mentioned as a reference. But you can’t use their data in all the exciting ways you could ever imagine. Enters OpenStreetMap: community built openly licensed map data. You are virtually free to do anything with the data, short of not giving proper attribution of its origins.

With this gained freedom, you can explore and create unique maps adjusted to your needs. You can also simply reuse the default one available on OpenStreetMap.org, in some locations it is way more complete than any other maps anyway.

Come and attend Confoo.ca!

29 January 2010

MapBuddy 0.2, libchamplain 0.4.4 and 0.5

What a big release week!

First, a quick update to MapBuddy:

  • Translations (French, Spanish, German, Swedish, Polish, Slovak)
  • A “Add to addressbook” button on merchant’s window (with the help of Jonathon Jongsma)
  • A precision circle is drawn around your position
  • Kinetic scrolling is turned on

Then, a bigger update for libchamplain 0.4.4:

  • API clean up (with API backward compatibility): champlain_view_set_size should have never existed
  • Fix to make Python bindings work out of the tarballs!
  • Use shared paths by all tiles consumers on Maemo devices to store tiles (saves bandwidth)
  • Load tiles in a spiral manner from the centre (thanks to Jason Woofenden)
  • Optimizations resulting in
    • Faster start-up
    • Smoother scrolling
    • Energy savings (by doing less computations)

Then, a huge update for libchamplain 0.5:

  • First development release with new APIs:
    • Local map rendering (Google Summer of Code of Simon Wenner)
    • New Map Source mechanism à la Pipe and Filter (Jiří Techet)
13 January 2010

OpenStreetMap mappers band to improve Haiti’s map

In order to help people, free and widely available maps are a good tool to rescue parties.  Many users of OpenStreetMap have organized a wiki page to manage the work that needs to be done to quickly improve OpenStreetMap for this part of the world. Thankfully, Yahoo has high resolution imagery of the region making it possible to trace the streets.  Note: remember that only Yahoo imagery can be used, as OpenStreetMap has a signed derivative work permission with Yahoo.

If you know how to edit maps, maybe you can land a hand! CrisisCommon also has other resources.

Follow-up: Mikel Maron has before and after images along with more info.

Slippy Map

12 January 2010

One more map app for the N900

Well, I finaly got my hands on a N900 (given as a Christmas gift by Collabora to Gabriel).  This gave me the occasion to observe first hand that the Ovi Maps, while having a lot of features, is slow and that the Hildon Emerillon port is less than perfect.  It is hard to use with fingers and feels alien to the platform.

To solve this, I created Map Buddy: a map application specifically designed for Maemo 5.  It is quite simple to use and works out of the box (no configuration or selection of plug-ins required!).  It also has something other apps don’t: it uses web-services to provide business search capabilities.

Here’s the use case I built Map Buddy upon: you just arrived in Montréal and want to find a sushi restaurant.

  1. You start Map Buddy, it will be centred on the place you closed Map Buddy on.  You can click on the “Center on me” icon on the bottom left, and it will centre the map on Montréal ‒ remember you are in Montréal for this example! By the way, your position is marked by a blue dot. Later version will display the precision too.
  2. To search for businesses, you have to switch in business search mode, tap on the magnifying glass to do so.
  3. Enter sushi in the search bar and press enter! The map will be populated with markers representing the places tagged with sushi (powered by Praized Media, a Montréal start-up).
  4. To get the name of the place, tap once on the marker.
  5. To get the complete details about a place, tap once on the name: a new window will be opened with the business’ address, phone number and web site if available.  Map Buddy even provides a call button!
  6. To clear the search results, tap on the trash can in the search bar or do a new search.

It’s that simple!

Map Buddy includes a place search so that if you are looking for Pizza in New York, you don’t have to scroll from San Francisco to New York to get there.  Select the Place search mode, enter New York in the search field and press enter.  A picker dialog will be opened to let you select the correct New York.

To switch to other maps, click on the layer icon, it will bring up the list of possible maps to display.

I hope you like it!  Try it today! WARNING: Installing Map Buddy in this early stage requires adding the extras-devel repository which might install unstable software on your device.  Try it at your own risk or if you are a professional ;-)

NB: Praized Media only has strong data sets for Canada and United States.  They plan to sign business partnerships to get data for Europe in 2010.  In the mean time, you can directly add businesses using this form.

NB: Help is appreciated to translate it!

4 January 2010

Can you spot what’s new?

Yes! Libchamplain now has a scale! It was long overdue. In fact, I first started to work on it way before libchamplain 0.2.2 was even released (1.25 year ago). It got impeded by more important features and bug fixes. Two or three months ago Tollef Fog Heen took over the branch and added the magic required maths to compute the scale. I then took over his work (as he was quite busy and I wanted this too) to provide the final result.

Since all the changes are backward compatible, I’ll soon release a libchamplain 0.4.3 with the scale disabled by default (to ensure the same visual behaviour as before upgrade). To display a scale, an application just has to change the show-scale property to TRUE.

g_object_set (champlain_view, "show-scale", TRUE, NULL);

The scale also supports other exotic units than the SI/metric ones. It can display miles and feet, if you’re into that. :) By the way, the scale will automatically switch from kilometres to metres when it makes more sense. That was quite more complex to do with miles and feet as they are not simply a power of 10. Set the scale-unit property to CHAMPLAIN_UNIT_MILES to get miles.

You can limit the width (in pixels) of the scale with the max-scale-width property.  If you watch closely, the scale will adjust itself right away when you move the map.

30 November 2009

Lancement de l’Agenda du libre du Québec

Une nouvelle ressource en ligne pour la communauté de l’informatique libre du Québec est ouverte au public aujourd’hui: l’Agenda du libre du Québec. Ce site gratuit vise à rassembler en un seul point tous les évènements du Québec portant sur l’informatique libre: des InstallFest aux conférences, en passant par les Mapping Party d’OpenStreetMap.

Le site est très simple à utiliser.  Dès l’arrivée sur le site, le visiteur voit les évènements du mois en cours dans un calendrier.  Il peut ensuite le filtrer pour sa région administrative ou passer à un autre mois.  Il ne verra alors que les événements pour sa région et les événements à portée nationale ou internationale ayant lieu au Québec.

L’Agenda du libre du Québec est aussi un service de calendrier en ligne.  Les visiteurs peuvent exporter les événements vers leur application de calendrier favorite (via l’un des fils WebCal) ou leur application de nouvelles (via l’un des fils RSS).

Le contenu de l’Agenda est contribué par la communauté et est modéré selon les règles suivantes: les événements doivent porter sur un projet libre (c’est-à-dire avec une license acceptée par l’Open Source Initiative ou Creative Commons). Le contenu de l’Agenda grandira au fur et à mesure où les événements y seront ajoutés par les membres actifs de la communauté.

L’Agenda du libre du Québec est une réimplémentation légitime de L’Agenda du Libre (France).  Comme cette dernière, le code source, le texte et le design de la version québécoise est entièrement disponible, en faisait un exemple de logiciel libre.

10 November 2009

Ein neues plugin um zu vorangehen

Ich habe in der letzten Wochen an einem neuen Plug-in gearbeitet aber das war nicht alles.  Es liegt unter dem Repository emerillon-plugins (inspiriert von EOGs).  Es sind schon 4 Plug-ins in Arbeit aber nicht alle sollten mit Emerillon vertrieben werden.

Dieses Plug-in soll für Montréalers nützlich sein: es zeigt den Status des Bixi Netz. Bixi ist der öffentliche Montréaler Fahrradverleih. Er ist so schön, er soll in London (Großbritannien) und Boston (Vereinigte Staaten von Amerika) eingerichtet werden.

Das Plug-in ist einfach: es gibt ein Drop-Down-Menü wo man wählen kann, ob “Verfügbar Fahrräder” oder “Freie Docks” angezeigt werden. Die Karte wird immer zeitnah mit den neuesten Information aktualisiert. Die Stifte ändern ihre Größe wenn es gibt mehr verfügbar Fahrräder oder freie Docks gibt. Die Information wird alle 5 Minuten herunterladen.

Das Plug-in ist jetzt frei verwendbar, nachdem alle rechtlichen Fragen geklärt sind. Es ist einem schönes Beispiel dafür was Sie mit libchamplain und Emerillon machen können. Es ist die erste Verwendung einer von ChamplainMarker abgeleiteten Klasse (das ich kenne), die das eigene Look-and-Feel zur Schau stellt.

Ausschlussklausel für Haftung: Dieses Plug-in wurde von Novopia Solutions zugänglich gemacht und steht nicht in jeglicher Verbindung zu Bixi, dem öffentlichen Montréaler Fahrradverleih. Bixi ist ein Warenzeichen der Société de vélo en libre-service.

9 November 2009

A new plugin to lead them all :)

In the last weeks I (among other things) worked on a new plugin repository (vastly inspired by EOG‘s) for third party plug-ins for Emerillon.  There are currently 4 plugins being worked on and not all of them should be distributed with the base Emerillon application. Enters emerillon-plugins.

It currently has 1 plug-in.  This plugin is one that will be useful to Montréalers: it displays the status of the Bixi network.  Bixi is Montréal’s self-serve public bike system.  Apparently its design is so good — the bike system, not the plug-in :) — that it’ll be implemented in both London (UK) and Boston (USA) very soon.

So the plug-in is quite simple: you have a drop down list where you select to see available bikes in stations near you or available docking stations.  The map is updated instantly to display the new values.  The markers on the map change in size depending on the available bikes/docks.  The information is automatically updated every 5 minutes.

After all the legal verifications, this plug-in is now free for everyone to share.  It should serve as a good example of what you can do with Emerillon and libchamplain.  It is the first piece of code (that I am aware of) to demonstrate ChamplainMarker sub-classing to implement unique look & feel.

Disclaimer: This plug-in has been independently developed by Novopia Solutions and is not in anyway related to or endorsed by Bixi, the operator of Montréal’s public bike system.  Bixi is a trade mark of Société de vélo en libre-service.

Un greffon pour mener la voie :)

Ces dernières semaines, j’ai travaillé sur un dépôt pour greffons (très fortement inspiré de celui d’EOG) pour les greffons de tierces parties pour Emerillon.  Il y a présentement 4 de ces greffons en cours de réalisation et ils ne devraient pas tous faire parti du paquetage d’Emerillon.  C’est pourquoi il y a maintenant emerillon-plugins.

Ce dernier compte un greffon.  Ce greffon en est un qui sera très utile aux Montréalais: il affiche l’état du réseau Bixi.  Bixi c’est le réseau de vélo en libre-service de Montréal.  Son design est si bon — le réseau de vélo, pas le greffon :) — qu’il sera bientôt disponible à Londres (Angleterre) et Boston (États-Unis).

Le greffon est très simple: une liste déroulante vous donne l’option de visualiser les vélos disponibles ou les points d’ancrage libres.  La carte est immédiatement mise-à-jour pour afficher la nouvelle information.  La taille des points sur la carte change en fonction du nombre de vélo ou de points d’ancrage.  L’information est téléchargée depuis les serveurs de bixi à toutes les 5 minutes.

Après toutes les vérifications légales, ce greffon est maintenant librement disponible pour tous. Il sert de très bon exemple de ce que vous pouvez faire avec Emerillon et libchamplain. C’est à ma connaissance le seul code qui existe qui sous-classe ChamplainMarker afin d’implémenter un rendu unique.

Avis: ce greffon a été développé de manière indépendante par Solutions Novopia et n’est pas lié, supporté ou approuvé par Bixi, l’opérateur du système de vélo en libre-service de Montréal.  Bixi est une marque de commerce déposée de la Société de vélo en libre-service.

6 October 2009

Announcing Emerillon, the map viewer

Didn’t I foretell you there’d be more announcements?  Here’s one: Emerillon.  It is pronounced Ey-may-ree-yon. It is destined to be GNOME’s Map Viewer.  You will quickly recognize its sister apps: Eye of Gnome, Evince and GEdit. After all, they share a lot of design concepts.

Why another map application do you say? Simply because none of them is free AND targeted at the Gnome desktop AND has ease of use in its (visible) goals.  This project should be easy to use for anyone, not only for mapping geeks.

Emerillon is an application designed to be extended.  There is a number of small specialized map applications that were created in the last year, I have hope this one will be the catalyst of the development efforts.  Out of the box, Emerillon comes with 2 plugins: a search and a placemark plugin.  There are numerous plugins ideas : a GPX viewer, GPS integration, Telepathy integration (both to share the app and to display your friends location), a plugin to display the position under the mouse cursor, a plugin to display personal markers and I have two special ideas that I want to keep for myself to implement :) Other ideas are welcomed too!

Emerillon is a project originally started by Marco Barisione in October 2008.  Due to various reasons, it remained dormant for almost a year, until I decided to take over and push it forward.   Turns out, Marco had laid out very good UI base on which I built upon.

Visit http://www.novopia.com/emerillon/ for more screenshots and details.

Kudos to be given

Emerillon is built of code inspired by other projects and very cool libraries.  Early on, Marco borrowed Evince‘s sidebar.  This sidebar is so nice and clean that it should be part of Gtk+! The problem is that this code is GPL but Gtk+ is not.

Another quite common widget in Gnome apps is Epiphany’s spinning throbber.  Again, it is GPL’d and the code has to be copied from apps to apps.

I am not going to kudo libchamplain ;) Lets say I have found API omissions that will need to be addressed for Emerillon to work perfectly. Who needs a “selected” signal after all? :) Still, libchamplain was quite necessary to build this app.

Emerillon’s plugin system was faster to implement than I expected when I got this idea.  But thanks to Ethos, it was a simpler task.  Ethos is a complete (Gedit/EOG alike) plugin architecture in a library.  It even provides UI widgets to manage the plugins.

Emerillon’s search plugin uses librest to fetch its data from geonames.org.  Rob Bradford was right: it is now fun again to parse XML.  I mean really.  This library makes fetching web service data an easy task.

Fetch Emerillon from Gnome’s git today and give it a try!