Hello again, dear Planet!
This one has been a busy week in both GTG mailing list(s) and my little branch. I have one thing I would like your opinion on, which is clearly marked, so you can skip some parts.
You may not know that in the last month GTG lied on the surgeon table to undergo a huge refactoring, mostly by Lionel Dricot. That made GTG faster and asynchronous in task loading. Just for a measure of the improvements, we’ve lowered the time taken to load 1000 tasks from 40 to less than 30 seconds, and we haven’t even started profiling yet. The feels way faster than before, and we have lowered our startup time. We have also gained a strong division between our core and our UI, which makes it possible to write new UIs for GTG (that what Karlo Jez is doing for his GSoc, writing a GTG web service). KDE UI, anyone?
Last Wednesday has been declared “Getting Bugs Done” day, so we worked in fixing all the regressions introduced in the trunk after the refactoring. We have now a trunk that can be used normally (if you don’t mind the occasional glitch). A few minor bugs are still unresolved, but the only “big” bug remaining is the breakage of the plugin API.
Anyway, my branch, which is about having the support for multiple backends (Remember the milk, CouchDb (ubuntuone), lauchpad, zeitgeist, twitter...), has seen a complete refactoring of backends loading and storing, with the addition of a backend Factory. We can support multiple instances of the same backend, so right now you can save/load your tasks on multiple files at the same time. You can “attach” to each backend some tags, and the backend will sync only those (say, you want on your work computer only the tasks marked @work).
I’ve also worked on laying out a well documented base class that each new backend should derive, in order to make the creation of new backends easier.
The more eye-catching part is that we are currently discussing a mockup for the UI to add and edit backend. The current design is this one (Empathy inspired). I’d like to hear your opinions on that, whether you like it or not.