When I initially started the OpenTodoList project, I mentioned that
Even iOS and Android are possible (and targeted) operating systems on which OpenTodoList can be run.
In fact, I had two main goals in mind:
- Having an easy to use application to track my todos - especially for managing my tasks on work.
- Replacing my current choice for todo tracking also on Android as it has some shortcomings.
In the very beginning I mainly focused on the first point as I urgently needed to have something available. Now, even though not yet all “desktop use cases” are covered, I started to investigate on mobile targets. So, how does that went? First of all, as I said I had mobile targets in mind from the very beginning. Indeed OpenTodoList was designed to be usable via touch input starting from it’s first version. Thanks to my current choice as a Laptop (an Asus Zenbook with touch screen) I was even able to easily pre-test that everything (more or less) worked out as expected. That way, development went quite easy and fast. However, as that is in no way a replacement for testing on a real device (in my case a Samsung Galaxy S3), I recently wanted to try out how OpenTodoList looks and behaves on that device. Thanks to the great work the Qt developers did, compiling and deploying to Android from within Qt Creator is quite easy. All you have to do is
- Download and install the Android SDK
- Download and install the Android Native Development Kit (NDK) - than one is required for bridging the Qt/C++ world into Android
- And finally, download the Qt Libraries and Qt Creator for Android.
On top, some additional tools (the Java SDK on some flavor and Ant) are required. However, also no problem (in my case, apt-get install is able to get everything required). After setting up everything, compiling and deploying, this is how OpenTodoList looks like on Android right now:
There were some general changes in the layout recently, but apart from that, the Desktop and Mobile versions don’t differ except of one little detail. The “start view” shows in the desktop (or “tablet”) view your todo lists (including the “auto” lists) and also the top level todos in the currently selected list side by side. On a small form factor, this is (of course) a bad idea, so in this case
- the todo list view shows only the available lists
- after selecting a list, a special view is shown containing the todos of the just clicked list
Some other changes were required as well. Especially the progress indicator and the priority selector were using fixed sizes in PIxels - a bad idea as it turned out. Thus, in the current version of OpenTodoList, the sizes of these elements are taking the systems resolution and density into account, making useing these controls quite pleasant on both traditional desktop an mobile devices. During my experiments with Android, I also had to discover one little annoying thing: Using the Android simulator together with QML2 does not seem to work. In fact, no matter what I tried and how I configured my virtual devices, all I got when starting OpenTodoList was a white screen (and some debug output about failed compilation in basic shaders in Qt Creator). So, seems there is no way around having some real device for testing. On the other side, that also takes away the possibility to easily test your app with slightly different devices (in my case, I’d be interested in how OpenTodoList would look like on a smaller device than my physical one). Sure, for some basic testing, the desktop version does the trick as well (there I just can resize the Window to any size to test whether the app is still usable then) but - as I’ve written above - that is in no way a replacement for testing with a real device (or at least an emulated one). In the future I definitely have too look into this a bit more in order to test better. However, for now I just have to say: I’m thrilled about how everything worked out :)