Hello everyone! As some of you know, I've developed a photo manager application for Ubuntu phones, called Imaginario
(which in interlingua
means something like "collection of images").
|Imaginario on the Ubuntu phone|
Last February Imaginario has reached feature completion, meaning that I'm quite satisfied with the features it offers (but if you find it lacking, then by all means please let me know by filing a bug report
). I recently bought an Ubuntu tablet, the BQ M10
, and verified that Imaginario works fine in the tablet form factor, even though it could be improved to use the adaptive page layout
widget in a few places.
Anyway, the relative quietness the project had reached was starting to scare me, therefore since March I've been working on a desktop version of Imaginario, which shares the same code base but renders its interface via the QtQuick Controls
module, which provides native-looking widgets on Linux, OS X and Windows. The goal is indeed to create a cross-platform photo manager, heavily inspired by the fantastic F-Spot
which has been hibernating for the last 6 years but which I'm still happily using.
|Imaginario is under development for your desktop!|
I'm in no way done. I've got the application in a stage where I can start playing with it and some basic functionality is working, but I'm not yet ready to entrust it with my photo collection — though indeed, so far I haven't experienced any data loss or data damage.
That's why I think this is a good time to share the news, in the hope that I could find someone else (besides me) who could test the software and report bugs.
What should work:
- Import your photo database from F-Spot
- Import your photo database from Shotwell
- Import photos from a folder
- Edit photo tags
- Search by tag (with OR/AND operators exactly like F-Spot does)
- Search by geolocation
What does not (yet) work
- More search filters (by date, rating)
- Hidden tags
- Exporting (but you can select photos and copy their URI to the clipboard)
- Translations of UI elements
- UI needs love
In the process of developing Imaginario with the QtQuick Controls I've also had to occasionally report (and fix, or workaround) some bugs on the controls themselves, which will hopefully come as a benefit for other applications using them.
How to install and test it
If you have been reading till this point, there's a little chance that you might actually be interested in helping me out with testing this app. I don't have any builds for OS X or Windows yet, but there are automatic daily builds for Ubuntu 14.04 (trusty) and 16.04 (xenial), available in my imaginario PPA
. To install imaginario, just run these commands:
sudo add-apt-repository ppa:mardy/imaginario
sudo apt-get install imaginario
If you are interested in building it for other OSes, you can find the source code here
, but please don't distribute any binary packages yet, as the software is all but ready to be used in the wild.
Closing note on QtQuick Controls vs Ubuntu UI toolkit
Those of you who are familiar with the Ubuntu phone might wonder why I've decided to use the QtQuick Controls and not the Ubuntu UI toolkit like I'm doing with the phone version. After all, the Ubuntu UI toolkit has been specifically planned to support the desktop use case too, and it would be just natural to take its convergence feature into use and let it handle the desktop version too.
There are a couple of reasons why I haven't been following this path:
- I want the app to be working in Windows and OS X too
- I want traditional desktop elements, such as split views, treeviews and menus
There is a good chance that — despite its name — the Ubuntu UI toolkit would work just fine under Windows and OS X, but it's clearly not a requirement, and the possibility that the compatibility gets broken is very real. Besides, in any case that wouldn't offer me a native-looking UI; not that I consider this to be priority, but it's certainly a bonus point for the QtQuick Controls.
As for the other point, it's likely that split views, treeviews and menus are coming to the Ubuntu UI toolkit too, but of course I'm developing Imaginario now, and I have to use what is available at this very moment.
All in all, none of the above is a strong reason to chose one toolkit over the other; and it's actually not unlikely at all that in the future I'll decide to go for the Ubuntu UI toolkit on all OSes and all form factors; I've just made a contingent choice, which suits me fine for now but which I'm open to revisit anytime.
If anything, this double face of Imaginario shows the strength of Qt and QML: the same core C++ classes get exposed as two totally different user interfaces, and the speed of prototyping in QML makes this effort very cheap — I'm not afraid of literally throwing away one user interface or starting a new one from scratch.