2014-11-24

Geotagging with digiKam - a UX mistake, from interface to documentation


digiKam is a very nice piece of open source software, but they made a major blunder regarding their UX and their documentation, with respect to geolocation.

I wanted to geotag some pictures, so I installed digiKam (using apt-get install digikam) and then tried to follow one of a few websites which explain how to add geo-location data to a picture.

First major error: the interface does NOT correspond to the one described in their referenced website. This is what I get after selecting an image and then clicking the Image menu:




Wait, what? Their website clearly says "Image -> Geo-location" on the second line of the tutorial. Well, maybe this has changed since version 2.0? Ok, let me look for anything related to Geolocation... such as the globe icon on the left, which leads me to this:



I can zoom in, find the location I want, and then try to add it to the picture... except that I can no longer see my files here. If I click on the Albums icon to return to my files, then I can no longer see the globe. Oh, wait, there's a "Geolocation" button on the right-hand side toolbar, so this is the right one, right? Wrong again.

This globe is even worse than the first one: it is static and does not allow you to move it. You can try dragging a filename to it, as suggested in the tutorial, but it won't work.

You know what actually does work? Divination! This would enable you to guess that you actually need a plug-in (GPSSync) that is not necessarily installed with digiKam, neither mentioned anywhere in the tutorial.

Simply doing apt-get install kipi-plugins (a set of plug-ins which include, among others, GPSSync, responsible for adding geo-location data to a picture which has none) was enough to solve the problem and make the mysterious Geo-location menu item appear. However, due to outdated documentation and the absolute lack of clues in the user interface, one needs some luck to find out about the existence and necessity of this plug-in.

Also unfortunate is the fact that the original post by Dmitri Popov contains a visitor comment asking about the geotagging facility, and an answer mentioning the GPSSync plug-in. It's not ideal, since many readers do not actually bother to check the comments section, but when things do not work they might actually do it and find the solution. However, the KDE UserBase Wiki hosting the "official" geo-tagging tutorial for digiKam transcribed the content of the blog without the comments, therefore making it impossible for a reader to find out about it. They also did not include a link to the original blog.

For an open source project with one feature which is quite rare among image editors (the possibility of easily adding geo-location via a graphical interface), it's very unfortunate that this feature, which undoubtedly attracts many new users (including me), does not work as indicated in the documentation and, what's worse, has several misleading geolocation-related icons and views in the user interface. This is very frustrating for casual users, which have already spent some time installing the tool and trying to find out why the functionality seems missing.

2014-11-22

lighttpd cgi_mod error when running shell scripts

I've had some issues when trying to run some Bash scripts using lighttpd's cgi_mod: my scripts would not run, and this is what I had in /var/log/lighttpd/error.log:

(mod_cgi.c.1319) cleaning up CGI: process died with signal 6 

Adding server.breakagelog = "/var/log/lighttpd/breakage.log" to /etc/lighttpd/lighttpd.conf did not provide much more information, the log only contained the following line:

mod_cgi.c.1057: aborted

By the way, my cgi.assign variable was defined as in one of the examples in the documentation:

cgi.assign = ( ".sh" => "" )

Anyway, the issue was that my scripts did not have the first line defining which command to run:

#!/bin/bash

Adding this line to each script solved the issue for me. So much for laziness...