[maemo-developers] [GSoC 09] - Remember The Milk plugin for Canola - final report

From: Andrey Popelo andrey at popelo.com
Date: Tue Aug 25 18:35:53 EEST 2009
Hi,

This is a final report on "Remember the milk plugin for Canola" GSoC project.

There were lots of work done on the project during summer. I'll describe the
main parts:
 1) local tasks storage
    I implemented a local tasks storage which has an interface compatible with
    RTM API[1]. This means that you can treat a local tasks storage as an
    original RTM server, send the same queries and it will return the same
    response in the same format. It still requires some enchantments but
    already supports many methods and is extendable.
    After some more work it even can be ran as a daemon for example and you
    can have your own local "RTM API-compatible" server if you want.

 2) complex search queries support
    Local tasks storage supports complex search queries. This means that you
    can search for tasks using not only a full text search, but also can apply
    different filters[2] and combine them. A simple expression parser was
    implemented, so it can parse any expression with any complexity.
    For example:
    "(list:work and priority:1) or (list:personal and not priority:3) or fix"
    As a consequence - Smart lists are also supported locally.

 3) local tasks storage supports synchronization with RTM server
    Although RTM api was not very comfortable for implementing two-way
    synchronization it works rather smart. So, for example, if you at first
    create a task locally, then edit it, then delete and after this connect
    to the internet and run sync - no queries associated with this task will
    be sent to RTM server.

 4) UI
    I started working on the UI, trying to make it simple, usable and
    responsive, but it still doesn't reflect all features of the backend,
    more work to be done


What is planned:
 1) better dates parsing in different formats
 2) notes support
 3) tags support
 4) UI improvements
 5) geolocation support
 6) maybe a standalone version
    (The problem with current implementation is that you have to have
    Canola running all the time to be able to add tasks quickly,
    otherwise you'll have to launch it and wait until it loads.)


And finally now you can:
 1) watch a demo[3] (~4 minutes)
 2) install latest version of canola-rtm directly on a tablet[4]
 3) browse package archives[5]

GSoC ends, but it is not the end for canola-rtm, it is only the beginning!

Cheers,
Andrey

[1] - http://www.rememberthemilk.com/services/api/methods/
[2] - http://www.rememberthemilk.com/help/answers/search/advanced.rtm
[3] - http://popelo.com/canola-rtm/
[4] - http://popelo.com/canola-rtm/canola2-rtm-plugin-latest.deb
[5] - http://popelo.com/canola-rtm/package/
More information about the maemo-developers mailing list