Olivier's adventures in Wonderland

Aller au contenu | Aller au menu | Aller à la recherche

26mai 2009

Moovida 1.0 is out

Good news everyone!

After a very intense design and code sprint, we finally released Moovida 1.0, formerly known as Elisa. A lot has changed in this release.

The name of course, meant to better reflect the spirit and image we want to give to the project: it is fun (to use and to work on), it is moving (fast), it targets a wide audience (from your little brother to your grand mother).

The visual appearance of the whole thing is a revolution in itself: designed from the ground up with ease of use, professional look and consistency in mind, it offers a much better media experience and a world of possibilities for us to build upon and extend its functionalities.

A huge number of bugs were fixed, overall performances improved and the code was cleaned up a lot.

The last two weeks were very intense, we had a tight deadline to stick to and I think we managed quite well considering the constraints. Kudos to Florian and David who invested an incredible amount of time and energy in this milestone, and of course to the whole team: the result we achieved is a great piece of team work.

A lot remains to be done, and we are already hard at work on fixing critical bugs to make this release as stable as possible, introducing new features, polishing some parts of the UI that didn't get as much love as would have been needed, communicating, planning... In a word, making moovida better every day.

Don't hesitate any longer, try it out, you will love it. A Windows installer is available on our website, and Ubuntu packages (for Hardy, Intrepid and Jaunty) are in our PPA. Questions, suggestions and bug reports are more than ever welcome: Moovida is your media center, we need your feedback!

I will be speaking of Elisa^W Moovida at GCDS in July: desktop integration and fancy UI experimentations with 3D interfaces will be on the table. GNOME and KDE folks, see you there!

19oct. 2008

Bicing Barcelona

One of the things that make life easy in Barcelona is its efficient public transportation system. Living in the suburb, every morning I take the train to go to work. When I arrive at Plaza Catalunya, I am almost there but there is still a good 20 minutes walk to go to the World Trade Center. That would be without Bicing, the community bicycle program that allows me to get a bike with my RFID card, cycle down the Ramblas and drop it at one of the stations next to the entrance of the WTC. Well, in theory...

Like many good ideas, Bicing is a victim of its own success. In the morning, a hell of a lot of people use Bicing to commute to work, and as there is quite a lot of people who work in the WTC, the two stations, with merely 60 spaces, are very early full of bikes. The solution comes in the form of vans that patrol the city, collect bikes from the full stations and repopulate the empty ones, to equilibrate the flow. Unfortunately the action of these vans is not fast enough in rush hours, and in the morning it is not uncommon to have to wait for quite some time before the van, awaited as the messiah by a dozen of commuters, shows up.

So I came up with the idea of collecting data about the stations I am interested in as a user. This data would, hopefully, help me predict in a reliable manner when and where I am sure to find some space to park a bike, so as to adapt and optimize my morning routine (that is, which train I should take). Bicing provides on their website a map of the city with the stations and the availability of the bikes in real-time. They are using Google Maps' API to build this map, and although the result is quite fancy, everybody seems to agree it is not really usable because too small (and really slow). There are some alternatives provided by users, more usable but still not quite what I am looking for. Until Bicing decides to provide an open API, let's scrape some data!

To the point directly, the two questions to answer are:

  1. Where to get the data from?
  2. How to get it?
Once this is answered, it is just a matter of writing a quick script that will do the job. Now, here are the answers:
  1. http://bicing.com/localizaciones/localizaciones.php
  2. A regular expression: exml.parseString\('(.*)'\);, and an XML parser
In fact when one browses the map and clicks one station to get the information about the availability of the bikes, the data is not updated real-time. One has to reload the page for fresh data. And all the data is stored as XML in a piece of Javascript, in a call to this exml.parseString method.

I wrote a quick Python script that retrieves the data, parses the XML and populates a list of stations with the available information (name, GPS coordinates, bikes available and free spaces). It is licensed under the GPLv3, well documented and available as a bzr branch on Launchpad at: lp:~osomon/+junk/bicing (you can also browse and download the code at http://bazaar.launchpad.net/~osomon/+junk/bicing/files).

Now I need to find how to make the most of this data. I was thinking of regularly polling for a given set of stations over a given period of time, storing the data and then drawing a graph, to better understand the data. I will probably publish my findings in a next article, stay tuned!

17oct. 2008

Roadtripping Andalucía

Malgré un titre prometteur mi-anglais mi-espagnol, une fois n'est pas coutume c'est en français que je recommence à écrire. Je n'ai pas trouvé de traduction accrocheuse pour roadtripping (ça sonne bien non?), car c'est bien de ça qu'il s'agit : un peu plus de 2500km en voiture, pendant deux semaines sur les routes d'Andalousie, à la découverte de la région.

Dimanche 14 septembre 2008 : Sabadell - Tarragona

Pour s'échauffer, une première étape très tranquille et un premier arrêt chez mes amis Jordi et Camille, fraîchement revenus de Nouvelle Calédonie, à Tarragona. En plein coeur de la Catalogne, nous déjeunons d'un copieux boeuf bourguignon accompagné d'un non moins copieux gratin dauphinois! Ballade dans Tarragona, sans rien calculer nous sommes arrivés le premier jour des fêtes de la ville qui pour l'occasion est en effervescence, nous assistons donc à un concert de rue en buvant la boisson locale qui coule à flot pendant une semaine : la mamadeta.

Tarragona

Avec Jordi et Camille, à Tarragona.

Lundi 15 septembre 2008 : Tarragona - Cabo de Gata

Cap sur l'Andalousie et la province d'Almería. Après une journée de route, nous arrivons au camping de Cabo de Gata en début de soirée. Le lendemain matin, changement de camping, nous déménageons à las Negras, un joli petit village sur la côte est du cap. Le Cabo de Gata est un parc naturel, la côte est très bien protégée et donc sauvage, les paysages y sont grandioses : un désert montagneux qui se termine en falaises qui plongent dans la Méditerrannée. Après-midi détente à la plage du Playazo, quasi déserte en cette saison. Le jour suivant, nous décidons de visiter l'intérieur des terres en voiture, ce qui nous vaut une mémorable traversée de la sierra de alhamilla et ses virages à n'en plus finir. Nous arrivons finalement à la célèbre playa de los muertos. La nature majestueuse y est malheureusement défigurée au nord par une immonde centrale thermique. Le soir nous assistons aux fêtes du village de Níjar, sorte de banquet populaire d'un autre temps où tous les villageois, du plus vieux au plus jeune, sont habillés en costume traditionnel andalou (robes colorées pour les femmes, chemise, chapeau et bottes de cavalier pour les hommes). Le lendemain, après une matinée farniente au Playazo qui nous a décidément vraiment plu, nous reprenons la route.

El Playazo

Coucher de soleil au Playazo.

Jeudi 18 septembre : Cabo de Gata - Pitres

Après le bord de mer, la montagne. Nous faisons étape au camping de Pitres, dans les Alpujarras de Granada (versant sud de la Sierra Nevada). Les villages perchés de ces montagnes sont, comme les fêtes de Níjar, d'un autre temps. Un ingénieux système de canalisations et de fontaines, hérité des Arabes, les alimente en eau de montagne. Tous ces villages subissent actuellement un profond changement de population, les enfants du cru ayant presque tous fui pour la ville, et les nouveaux arrivants étant pour la plupart des étrangers qui viennent chercher l'air pur. On peut même trouver dans les parages des communautés de hippies qui vivent au plus proche de la nature. Le bureau de tabac du coin d'une petite place de Bubión et son unique ordinateur valide nous permet de nous connecter à internet et d'acheter des entrées pour la visite de l'Alhambra et pour un concert de la Biennale de flamenco de Séville. Pour cause de pas de choix dans la date, changement d'itinéraire : nous passerons d'abord par Séville, puis Cordoue, pour terminer par Grenade. Quelques superbes promenades dans la nature plus tard, et un déjeuner dans un restaurant où le chef irakien nous explique le secret de l'hummus, nous voilà en route pour la capitale de l'Andalousie, Séville.

Capileirilla

Vue sur les Alpujarras depuis Capileirilla.

Samedi 20 septembre : Pitres - Sevilla

Arrivés pas franchement tôt à Séville, nous avons tout juste le temps de trouver une pension (le centre ville en regorge) et de reprendre la voiture pour aller au concert Rock Andaluz, un hommage aux visionnaires qui il y a trente ans commencèrent à mélanger le rock et le flamenco. C'est pour moi une découverte complète, je manque de culture mais les groupes comme Pata Negra, Cai, Tableton, Imán Califato Independiente, m'ont bien plu. Couchés vers 4h30 du matin, nous ne commençons notre promenade dans Séville que tard le lendemain, pour visiter la Cathédrale et sa célèbre tour, la Giralda, seul vestige de la mosquée qui occupait l'endroit avant la reconquête, la Plaza España, le parc Maria Luisa, et passer de nuit au pied de la célèbre Torre de Oro qui garde la rive est du Guadalquivir. Le lendemain, retour à la civilisation oblige, matinée shopping de rigueur, puis visite du quartier gitan de Triana de l'autre côté du fleuve, et nous terminons la journée à la Carboneria, célèbre tablao où nous assistons à un spectacle de flamenco. Le mardi avant de reprendre la route, nous visitons le Real Alcázar, palais-forteresse des rois musulmans puis chrétiens.

Sevilla

La Giralda vue depuis le Real Alcázar.

Mardi 23 septembre : Sevilla - Córdoba

Arrivés en fin de journée à Cordoue, l'ancienne capitale du royaume arabe dans la péninsule, nous nous installons dans une pension tenue par un personnage doté d'un débit de paroles incroyable. Toujours un bon mot ou une histoire à raconter, au bout de 5 minutes d'attention constante je suis épuisé! Moment détente avec un passage par le hammam, une expérience inoubliable, puis dîner de tapas dans le quartier juif. Notre étape à Cordoue étant courte, la matinée suivante est consacrée à la visite de la célèbre Mezquita, la mosquée-cathédrale. Construite par les musulmans c'est un lieu de prière et un labyrinthe de colonnes immense et d'une beauté envoûtante. Après la reconquête par les rois chrétiens, contrairement à leurs habitudes, les nouveaux maîtres des lieux décidèrent de ne pas détruire la mosquée, mais de construire une cathédrale dans la mosquée. L'histoire dit que l'empereur Charles Quint, qui avait autorisé les travaux, se repentit en voyant le résultat, admettant que l'édifice gothique en plein centre de la mosquée avait brisé l'harmonie du lieu. Il n'en reste pas moins que ce complexe, seul du genre au monde, fait rêver en évoquant des splendeurs d'un autre temps.

Córdoba

La Mezquita.

Mercredi 24 septembre : Córdoba - Granada

Arrivés à Grenade en fin de journée, nous nous installons dans une pension aux portes de l'Albaicín, le quartier arabe. La journée de jeudi est consacrée au repos et à la visite de l'Alhambra l'après-midi. Cette imposante forteresse qui domine la ville fut construite par les rois musulmans et abrite plusieurs palais d'un raffinement extrême et des jardins luxuriants. C'est au sommet de la plus haute tour, la torre de vela, que les rois chrétiens Isabelle et Ferdinand firent hisser leurs drapeaux en 1492 comme symbole de la fin d'une reconquête longue et sanglante. Comme partout en Andalousie, de massifs édifices gothiques (ici un palais, une église et un couvent) côtoient les arabesques, dans un mélange architectural étonnant, presque dérangeant. Du souvenir de cette journée je déplore l'afflux touristique et les informations très compliquées et contradictoires sur les contraintes de la visite, et j'envie un diplomate américain, Washington Irving, qui dans les années 1820 séjourna dans l'Alhambra à l'époque où le tourisme n'avait pas encore été inventé, et y écrivit ses célèbres Contes de l'Alhambra. La journée du lendemain est consacrée à une grande promenade dans la ville et dans l'Albaicín. Depuis le mirador de San Nicolás, où on peut écouter la complainte de quelques guitares gitanes, on jouit d'une vue d'exception sur l'Alhambra et son palais d'été, le Generalife. Nous décidons de renouveller l'expérience hammam pour le plaisir des corps, puis nous trouvons un bar où, conformément à la tradition (que je commençais à prendre pour une légende urbaine), pour chaque demi commandé on vous sert une copieuse assiette de tapas. On y resterait toute la nuit!

L'Alhambra

L'Alhambra. Imposante, majestueuse, envoûtante.

Samedi 27 septembre : Granada - Sabadell

Une journée complète dans la voiture, de midi à minuit, en passant par les petites routes andalouses avant de rejoindre les grands axes autoroutiers. Et retour au bercail, des souvenirs plein la tête. L'Andalousie est magique.

05juin 2008

News from Elisa

I still don't have internet at home and little spare time during working hours so I'm blogging asynchronously. Reminds me of the good ol' days when I was writing my mails at home, then pushing them on a USB stick to send them from wherever I could find a connection... A lot of things happened since last time I wrote about Elisa and my work at Fluendo Embedded.

I have been working on re-designing and implementing the new elisa.fluendo.com, the old website being a customized wordpress, quite inadapted, neither easy to tweak nor to maintain. Not to speak about the contents and this terrible download button which I could not locate the first time I visited the website, back then as an interested potential contributor. The idea was to deliver a true community website with a professional design, and I think that to some extent we kind of managed that. The feedback is pretty good so far. David, our designer, has been working hard at sketching and Guido and I have been working equally hard at implementing it. After two weeks struggling with CSS theming, my conclusion is that CSS, in their current implemented version (2.1), suck. And their implementation in that piece of crapware that Microsoft dares to call a browser sucks incredibly more. To the contrary, coding the backend has been lightning fast and pure pleasure, using Django, of course.

In parallel, we have completed the transition from subversion to bazaar for source code versioning, the migration from Trac to Launchpad for bug tracking and from Trac to MoinMoin for the wiki. We are now using extensively Launchpad and the blueprints system to write specifications. And we have set up a public Bundle Buggy instance (which we were already using privately) to track merge requests and enforce a review process that ensures better code quality.

Meanwhile, the whole team is focused on our next release, Elisa 0.5. The new REST architecture has already proven to be as flexible as expected, yet there are lots of features we need to implement before we can release anything. We are currently designing the brand new user interface from scratch with strong usability constraints, implementing the widgets needed, writing new resource providers (Flickr, Amazon, Youtube, Shoutcast, ...), writing an efficient database backend and a new player, among other things.

Next news from the world of Elisa with the next release, stay tuned!

14mai 2008

A big step towards Elisa 0.5

The last weeks have been quite busy workwise, and I'm proud to announce that we finally released a first glimpse of what Elisa 0.5 is going to be.

What was formerly known as the new REST architecture is now officialy the 0.5 development series. Elisa 0.5 is a complete rewrite of the core of Elisa to overcome all the problems encountered with the old architecture and make it easily extensible. The plugin system was already in place, but with the new architecture we made it much easier to write new plugins, including pieces of UI, which formerly required nasty hacks and a significant integration effort.

This early release is of course intended for developers, it is not by any means a stable version, it is not packaged and it does not even have the basic Media Center functionalities. But everything needed to start playing with it is present.

If you cannot wait to get your hands on it, check out the bzr branch from launchpad:

bzr branch http://bazaar.launchpad.net/~elisa-developers/elisa/0.5 elisa

You will need a development branch of pigment for the python widgets, see http://elisa.fluendo.com/contribute for instructions on how to get started.

We are aware that so far Elisa's weak point was the lack of documentation, and we have put special efforts in improving this. The API documentation has been updated, and two brand new tutorials will help you write a plugin from scratch.

We have changed a lot of things in the development process of Elisa, and I must say it is a real pleasure to work on this project. We are now using Launchpad in conjunction with bzr to manage our source code. All the bug reports from the Trac are being migrated as I am writing. Working with bzr branches allows a tremendous gain in efficiency and code quality: before merging a branch into the main development branch, the changes have to be reviewed by at least two other developers. The whole review process is tracked by a Bundle Buggy instance (currently private, but the reviews happen on the elisa-commits public mailing list). Code quality has been reinforced with the arrival of a QA manager in the team, we now have better and more relevant tests, and code coverage statistics.

The most exciting is to come though, because we can now start writing the real Media Center features, and trust me, we are not short of ideas!

A quick word on the win32 port, our Windows team deserves it, they invested a lot of efforts into porting to Windows the 0.3 branch (formerly known as trunk). An alpha release with an installer for XP and Vista is now available, we expect to deliver a stable version in June!

Stay tuned for more exciting news and surprises, the coming weeks should not be disappointing.

- page 3 de 17 -