So my previous posts weren't without reason, I've been quietly working on another project as my Xmas/NewYears gift to the world. It's not completed yet, but I'm not convinced software ever can be. Therefore, I'm sharing what's available.
Adroit is a personal task management application aimed at information dissemination. The primary concept of "Getting Things Done" is to get those little tasks out of your head to somewhere you can see them. This allows you to stop worrying about the problem and start working towards completing it. I have removed much stress from my life by just having a good surveying of my life requirements.
I hadn't been writing much c# outside of work lately, so I figured it was time to. MonoDevelop has advanced so much over the past few years that its impossible to ignore. It is quite a pleasing experience.
Just the basics are implemented; but development is going smoothly and rapidly. That's important since I only have time to hack on it from late at night to even later at night.
I think the most fun part of the project has been working with the BdbListStore<T> and the command stack for seamless undo/redo. Although, writing custom widgets is always a lot of fun.

The top priority for immediate development is
- Search
- Sorting
- Context mode (for where tasks are performed, be it desk, grocery store, etc)
- Calendar mode (simple view of when tasks are due)
I'm not putting much emphasis on due date, as that seems to be against the GTD philosophy.
The shortcuts will feel natural to the VIM users among us
$ git clone git://git.dronelabs.com/git/users/chris/adroit-mono.git
As a final note, The Southern California Linux Expo is February 20th - 22nd. I'll be hosting the GNOME booth with Jeff Schroeder and Eric Butler as well as speaking on parallel and concurrent programming with GTask. GTask is the concurrency library I wrote for GObject which currently works with C, Python, and Vala.

Comments (10)
Mmm, another Tasque/Tomboy replacement?
no, it is some kind of omnifocus clone. looks promising gonna keep an eye!
Not really a replacement for Tomboy. I started trying to manage my tasks in Tomboy, and it just didn’t work out. I think there is definitely possibility to cross-reference between the two applications though.
As for Tasque, yeah, you could say this is a replacement. I couldn’t stand the workflow of that app from the very beginning.
wow, that looks promising! I like it. I’m gonna keep track of it!
This looks really cool! I’m excited to try it out.
I need to learn more about GTD to understand sweet spots where we could hook this up with Tomboy. At the minimum, I should think having tasks link up with notes (and vice versa?) would be beneficial.
Tasque is definitely modeled after a different workflow, but there should still be opportunities for sharing/learning here. For example, maybe we can work together on backends like EDS, RTM, Hiveminder, etc.
@sandy
I think a one-to-one match of adroit->tomboy might be a bit much. But i would love to see something like double clicking a task take you to a new tomboy note relating to that task. would be perfect use for a brain dump.
I don’t have support for multiple backends yet like tasque. im not quite sure how we can pull that off due to the design choice i made with bdb for memory consumption.
i guess we could keep data stored in bdb, and associate meta data to the other systems for synchronization support?
@chergert
Sorry for being unclear; that’s exactly what I meant wrt Tomboy integration. And if adroit had a dbus interface, the note could link back to the task in a useful manner.
Brian Merrell is working on updating Tasque to have all data cached in a sqlite db. With that, we are aiming for offline use and the ability to use multiple backends simultaneously. So we have to solve the same sort of problem, anyway.
We could both keep tasks in our respective DBs, but maybe share an API by which backend tasks are fetched for storage in the DB.
I’m just tossing out ideas here; there are probably a million holes but I’ll bet there are ways we can work together, if you decide you want support for other backends.
@sandy
Sounds great, I’m also considering adding a Jabber storage backend, which syncs all your tasks to pubsub storage on the jabber server. Then multiple clients on multiple computers could stay in sync!
I love that one can add attachments to things on the list. I also like that you’ve made this kind of emailish with the Inbox and all. That’s two things which make a lot of sense and I have wanted FOREVER. (It would be even more awesome if this was somehow tied in to Epiphany’s bookmarks system).
I always have, for example, a bit of source code I know will be handy at some point (like your pretty selector widget!) but I always forget about it when the time comes. I can see your app finally solving that for me.
More PIM applications need to work like this
I look forward to using it!
This also looks exciting: http://gtg.fritalk.com/
Much like Tomboy for tasks.
Trackback/Pingback (1)
[...] List+Hash implementation for a LRU to reduce the deserialization overhead. My C# implementation for Adroit had this and it helped significantly. You can find it here. Look at the BdbListStore in that [...]