After quite some time of silence, I finally managed to get the next release of OpenTodoList out. So here finally comes 0.2.0 ;)

Warning: This is BETA

If you want to give the app a try, please keep in mind that this version should definitely be considered beta status (read also below for some notes). Plese keep this in mind and consider doing backups of your data from time to time.

What’s new in 0.2.0

This version is a big step forward compared to 0.1.0. This has several reasons.

Reworked Storage Backend

The database part of the application has been completely reworked. This was necessary to be able to implement certain requested features which initially not have been considered. With the new structure, the application should be well prepared also for future requests, as it’s quite flexible and uses a well defined protocol for data synchronization. While for an end user, most of this change will be invisible, you will note one thing: Application start up is now lightning fast. This is due to the database is persistent, so restarting the app is much faster now (in the sense that you’ll see your data immediately after start up).

Changed Data Model

This change is somewhat more visible to end users: In pre-0.2.0 versions, the data model of the application somewhat was like this:

  • The app consisted of several so called backends. Each backend implements access to another service which stores your todo lists.
  • Per backend, you could create arbitrary many todo lists.
  • In turn, todo lists contained todos. A todo in turn could contain other todos.

This data model allowed to create arbitrary deeply nested structures. While this might be useful for some cases, it makes first application development and second UI design more difficult. So for this reason, the data model has been simplified and also been enhanced to deal with the forthcoming connections to online services for data storage:

  • On top level, we still have backends.
  • Per backend, you have accounts. Depending on the backend, they might either be more or less invisible (e.g. for the local storage backend, which provides one fixed “account”). However, future backends will provide arbitrary many such accounts to you, so you can connect to multiple accounts/service instances, depending on the concrete storage service.
  • On the next level, we have todo lists.
  • Per todo list, you can have arbitrary many todos.
  • Finally, per todo you can have arbitrary many tasks. Tasks are similar to todos but have fewer properties.

Having this, the data model is limitted to exactly 5 levels of objects, which makes development in the future much easier (and should result in simpler to understand UIs).

User Interface Rewrite

The user interface has been reworked. Without going too much into details: The UI should now integrate much better into the operating system, which will especially be visible on Android, where the app was in some situations quite difficult to use before.

Installtion

Installation for Linux, Mac OS X and Windows

To install OpenTodoList, please download the appropriate installer for your operating system. The installer is available in two flavors: One online installer which will download the actual app and one offline installer, which contains the application but also allows you to update to newer versions in the future.

Android

You can install OpenTodoList also from the Android Play Store. We are currently in a beta phase. In order to be able to install using the Play Store:

  1. Join the OpenTodoList Beta Users Google+ community. 3. Opt-in to the beta version by following this link.

Afterwards, you should find OpenTodoList in the Google Play Store. This data model allowed to create arbitrary deeply nested structures. While this might be useful for some cases, it makes first application development and second UI design more difficult. So for this reason, the data model has been simplified and also been enhanced to deal with the forthcoming connections to online services for data storage:

  • On top level, we still have backends.
  • Per backend, you have accounts. Depending on the backend, they might either be more or less invisible (e.g. for the local storage backend, which provides one fixed “account”). However, future backends will provide arbitrary many such accounts to you, so you can connect to multiple accounts/service instances, depending on the concrete storage service.
  • On the next level, we have todo lists.
  • Per todo list, you can have arbitrary many todos.
  • Finally, per todo you can have arbitrary many tasks. Tasks are similar to todos but have fewer properties.

Having this, the data model is limitted to exactly 5 levels of objects, which makes development in the future much easier (and should result in simpler to understand UIs).

User Interface Rewrite

The user interface has been reworked. Without going too much into details: The UI should now integrate much better into the operating system, which will especially be visible on Android, where the app was in some situations quite difficult to use before.

Installtion

Installation for Linux, Mac OS X and Windows

To install OpenTodoList, please download the appropriate installer for your operating system. The installer is available in two flavors: One online installer which will download the actual app and one offline installer, which contains the application but also allows you to update to newer versions in the future.

Android

You can install OpenTodoList also from the Android Play Store. We are currently in a beta phase. In order to be able to install using the Play Store:

  1. Join the OpenTodoList Beta Users Google+ community. 3. Opt-in to the beta version by following this link.

Afterwards, you should find OpenTodoList in the Google Play Store.

OpenTodoList 0.1.0 has been released! Here is the list of changes since the last preview versions:

Changelog

  • Offline and online installers for Windows and Linux (x86_64).
  • Smart todo creation. Type in e.g. “Due today: Call mum” to create a todo which is automatically set due today.
  • Several UI fixes.
  • Filter settings are correctly restored.
  • Proper sorting of todos (done and deleted todos now always appear at the end of a list.

Downloads

Installing from the Android Play Store

You can install OpenTodoList also from the Android Play Store. We are currently in a beta phase. In order to be able to install using the Play Store:

  1. Join the OpenTodoList Beta Users Google+ community. 3. Opt-in to the beta version by following this link.

Afterwards, you should find OpenTodoList in the Google Play Store.

Well… it’s again some time since the last update on OpenTodoList. Back then, the status was that the app was coming from a phase of refactoring. That usually means… regressions (feature wise). Good news is… meanwhile we’re nearly where we were before the restructuring :) Having a look at OpenTodoLists’ Issue Tracker, nearly all issues for re-implementing one of the previous features are solved. In fact, only the “moving of todos” one is still open.

Scheduled Todos

But not only “old” features get in; also some new stuff, like e.g. the scheduled todos view: It shows in a condensed way the todos due to the current day and week as well as some of the todos scheduled for later. Apart from implementing the remaining open issues (and fixing bugs, of course), my personal roadmap somehow looks like this:

  • Some kind of beta phase :) I want to provide pre-compiled binaries not only for Android but also Windows and Linux (and maybe others). That way, maybe the one or other could join testing the app.
  • Start implementing the ownCloud backend: This was actually the big target I had in mind when starting OpenTodoList. That would finally allow to safely store your todos on you home server as well as share with others.

Finally, the obligatory Download Link for the Android ARMv7 APK, just in case you happen to have such a device ;)

So it has been quite a while since the last update on OpenTodoList. But - as always - this by far does not mean there’s nothing going one. In fact, especially recently there’s been a lot of refactoring, both in the app’s backend infrastructure and the user interface. The results… a hopefully even more flexible architecture that’ll allow easy implementation of new backends (there’s still only the XML backend which stores todos locally, but that’ll change soon hopefully) and have a more resource friendly behavior of the app in general. Also, the UI has been redone completely to have to ensure it is running better on smartphone (and tablet) devices. But also on a Desktop computer OpenTodoList should better adapt to a user’s settings. For example, the font size (and thus generally size of any graphical component) is taken from global settings. Except for some “minor” things, most of the features of the old implementation are available meanwhile. So, if you would like to give it a test, just install the APK on your Android device by clicking here (Note: You’ll have to enable installation of apps from unknown locations - sorry for that, this also should be solved sometime soon). If you are on a Desktop system, you’ll have to compile the binaries on your own. The sources can be found on Gitorious. You should use Qt 5.2.1 (or later). By the way: In theory the app should also work on iOS and on Blackberry devices… but, that’s untested ;) Should you have the chance to try out compilation and testing, I’d appreciate any feedback). Finally (as usual) some screenshots on the new version :)

Several examples of the refactored user interface.

After the porting of OpenTodoList to the upcoming Qt 5.2 library, I managed to resume to reducing the number of entries in the OpenTodoList issue tracker. The result: A much improved OpenTodoList especially with fixes for Android ;) So, except of a “minor issue” in Qt 5.2 itself, it should work now in a halfway usable way. If you like to test it on your own - I prepared some ready to use binaries that can be installed on Android. Right now (well… sorry, I’m biased here) these are only available for ARM v7. So, if you feel ready just download the APK and install it. Just some notes:

  • OpenTodoList is still very young. Use it on your own risk ;) Should you stumble over some bugs (or things you’d like to see improved), please don’t hesitate to visit the issue tracker mentioned above.
  • The APK is not specially signed. Apart from allowing installation from unknown sources, you will also have to accept unsigned packages. Sorry for that, I will look into this next.

Please let me know in case you run into any problems with testing and have a lot of fun :)