Saturday, 6 October 2012

I'm writing a program that embeds a Google map in a Qt graphical user interface (GUI). Google maps is provided by Google (duh!) and Qt is a GUI framework from Nokia. And the two are not playing nicely.

The problem is that you can't use the mouse to drag the map, or double click to zoom it. A bit of web searching revealed that this is a known issue (http://qt-project.org/forums/viewthread/1643/). The suggested solution is to set the "user agent" string to "Chrome/1.0". I did this and everything started working correctly.

A few days later, the map was back to the undraggable version, so I tried another solution - specifying that one wants version 3.1 of the Google maps API by adding "&v=3.1" to the URL used to load the map. Having done this, everything was working correctly again.

Until a few days later. Now it seems Google no longer serves version 3.1 and any request for it returns version 3.2.

The root cause of the problem is that Google interrogates the Qt web browser component and discovers it has a "multitouch" interface, as used on smart phones and tablet computers. Google then serves a version of Google maps suitable for such devices, but almost unusable on a normal mouse driven desktop PC. There appears to be no way to disable this feature of Qt without recompiling it, a task that will be beyond most users of the software I'm writing. However, given that it's a compilation option, I do wonder why versions of Qt compiled for desktop PCs have it enabled by default. Do leave a comment if you know a solution.

Thursday, 4 October 2012

In my last post here I wrote about my decision to start writing a digital photograph metadata (i.e. EXIF, IPTC, XMP) editor, having failed to find one I like that runs on Linux. The good news is that I've made good progress and it's now pretty much ready for public consumption, although it desperately needs a lot more documentation.

So now, I present to the world Photini. Probably the most difficult decision was what to call it. My original plan - "Jim's photo metadata editor", or JPME for short - didn't really feel right, and when I discovered that JPME stands for "Joint Professional Military Education" then it had to go.

We live in a world where product names say little about what the product does. Who would guess that Orange™ is a phone network? BT is no longer British Telecom, and BAA is no longer the British Airports Authority. Full names are much too specific. So why should my bit of software have a code letter sequence for a name?

I've noticed one or two other open source projects adopting girls' forenames, so I did a quick web search for lists of girls' names. I also thought it might be nice to have some connection to photography, so I zapped down the list to names beginning Ph. And there it was - Photini.

Photini is a Greek name meaning 'light'. She was a saint, according to the Christian orthodox church, and on one church calendar (according to orthodoxwiki.org) her feast day is my birthday! I'm an atheist, but I like a nice coincidence as much as anyone else.

PS Apologies to all those real people called Photini who now find a bit of lousy software has taken their name.