Archive for category Google Summer of Code

Getting Things GNOME!  —  GSoC review (#3)

I’m pleased to announce the first two new back­ends for “Get­ting Things Gnome!”: a twit­ter and an identi.ca backend.

Those are import back­ends, mean­ing that your dents/tweets will appear in your GTG tasks. In par­tic­u­lar, the mes­sage will be parsed like this:

“this will be the task title, this will be the task descrip­tion #sometag @alsoatag”.

There is no sup­port for start/due dates yet.

Obvi­ously you will not want every dent/tweet in your GTG tasks, so you can choose to just import direct messages/@ replies/your own mes­sages, and select only mes­sages with one or more tags match­ing the a set of tags.

Screen­shots time!

Adding a backend:

Con­fig­ur­ing it:

If you type your pass­word incor­rectly, you will be notified:

If the con­nec­tion can­not be estab­lished, you will be noti­fied in a sim­i­lar way only if network-manager reports that at least one of your net­work devices is con­nected (oth­er­wise, GTG assumes you know you’re offline :) ). Pass­words are stored in the gnome-keyring.

Apart from the new back­ends, this week has seen improve­ments in the back­end frame­work and fixes, as always.

Next week will be quite busy for me, as the dead­line for my the­sis is approach­ing. I’m plan­ning to work on read/write back­end sup­port. I’m cur­rently devel­op­ing a directory-based back­end (each file in the direc­tory is a task) for test­ing pur­poses, but I’d like to start work­ing on a Tomboy back­end: notes in Tomboy hav­ing a par­tic­u­lar tag (like @importfromtomboy) will be auto­mat­i­cally imported in GTG.

2 Comments

Getting Things GNOME! — GSoC review (#2)

Aloha again, planet Gnome!
This has been a nice week for my Google Sum­mer of Code project on Get­ting Things GNOME, fea­tur­ing:

  • A great speedup (via the refac­tor­ing of how the file con­tain­ing all the tasks is han­dled): the time for adding 1000 tasks in GTG has been reduced from 30 to 5 seconds!
  • A new test­ing class, which helped me find-n-fix a few bugs (ehi! test­ing works!)
  • The first request to merge of part of my code  (~3600 lines). I have to thank my men­tor Lionel Dri­cot, who has found the time to go through it.
  • A new twit­ter back­end. It still misses the UI to con­fig­ure the user­name and pass­word, but the basic func­tion­al­ity is there. Cur­rently, it adds to GTG any direct mes­sage match­ing a set of cho­sen tags (e.g., #todo).

I’m still work­ing on twit­ter authen­ti­ca­tion. I’m cur­rently doing it via the userid/password combo, but the cor­rect way to go should be Oauth. Unfor­tu­nately, python-twitter does not sup­port this. I’ve found a few libraries around the web, but none seem to work so far. Any hint  will be welcome.

Next week I’m plan­ning to fin­ish the twit­ter back­end, expand­ing the frame­work as I go. A nice thing is that, thanks to the frame­work, the twit­ter back­end (which is all a devel­oper should write to add a new back­end) is less than 100 lines long.

4 Comments

Getting Things GNOME! — GSoC review (#1)

news dis­patch:

I’ve just been informed that a Get­ting Things GNOME! plu­gin is being added to Kupfer! That’s great.

The real post:

For the Google Sum­mer of Code, the time to start cod­ing has offi­cially arrived.
My work is about adding yet another fea­ture to the per­sonal orga­nizer soft­ware Get­ting Things GNOME!, that will let you syn­chro­nize your tasks in a vari­ety of online and offline back­ends (Remem­ber the milk, Launch­pad...). Details are here.

This week, I’ve been work­ing in:

  • how back­ends are enabled and disabled
  • a sig­nal­ing frame­work for back­ends changes
  • a nice ui for man­ag­ing back­ends (which took most of the time)

Here’s how you add a backend:

And here’s how you con­fig­ure it (yes, a lot of things are missing):

I think the UI is com­ing up pretty well: you can see which tags are asso­ci­ated with each back­end and edit them, rename the back­end, add and delete any num­ber of backends...

Next week, I’ll focus on hunt­ing bugs down and writ­ing the ui for a series of back­ends para­me­ters (file­names, authen­ti­ca­tion via web pages, pass­words stored in the gnome-keyring).

The UI needs a lot of makup still (images, align­ments etc..):  they will come in due time ^_^

6 Comments

Getting Things GNOME! — GSoC review (#0)

Hello again, dear Planet!

This one has been a busy week in both GTG mail­ing list(s) and my lit­tle branch. I have one thing I would like your opin­ion on, which is clearly marked, so you can skip some parts.

You may not know that in the last month GTG lied on the sur­geon table to undergo a huge refac­tor­ing, mostly by Lionel Dri­cot. That made GTG faster and asyn­chro­nous in task load­ing. Just for a mea­sure of the improve­ments, we’ve low­ered the time taken to load 1000 tasks from 40 to less than 30 sec­onds, and we haven’t even started pro­fil­ing yet. The feels way faster than before, and we have low­ered our startup time. We have also gained a strong divi­sion between our core and our UI, which makes it pos­si­ble to write new UIs for GTG (that what Karlo Jez is doing for his GSoc, writ­ing a GTG web ser­vice). KDE UI, anyone?

Last Wednes­day has been declared “Get­ting Bugs Done” day, so we worked in fix­ing all the regres­sions intro­duced in the trunk after the refac­tor­ing. We have now a trunk that can be used nor­mally (if you don’t mind the occa­sional glitch). A few minor bugs are still unre­solved, but the only “big” bug remain­ing is the break­age of the plu­gin API.

Any­way, my branch, which is about hav­ing the sup­port for mul­ti­ple back­ends (Remem­ber the milk, CouchDb (ubun­tuone), lauch­pad, zeit­geist, twit­ter...), has seen a com­plete refac­tor­ing of back­ends load­ing and stor­ing, with the addi­tion of a back­end Fac­tory. We can sup­port mul­ti­ple instances of the same back­end, so right now you can save/load your tasks on mul­ti­ple files at the same time. You can “attach” to each back­end some tags, and the back­end will sync only those (say, you want on your work com­puter only the tasks marked @work).

I’ve also worked on lay­ing out a well doc­u­mented base class that each new back­end should derive, in order to make the cre­ation of new back­ends easier.

The more eye-catching part is that we are cur­rently dis­cussing a mockup for the UI to add and edit back­end. The cur­rent design is this one (Empa­thy inspired). I’d like to hear your opin­ions on that, whether you like it or not.

1 Comment

Getting Things GNOME, supercharging procrastination since 2008. Now in the Cloud!

Hello there, Planet GNOME! I’m Luca, one of the devel­op­ers of Get­ting Things GNOME!. I’m tak­ing this lit­tle empty space between posts in your RSS reader of choice to present you to some of the awe­some things that will be fea­tured in the next major ver­sion of GTG (due next fall). Pre­order your copy now!

In the Cloud

In the near future, GTG will free your task from the cage of your hard disk. I know that some of you are already using the plu­gin for syn­chro­niza­tion with Remem­ber The Milk (that’s one of my most pop­u­lar plu­g­ins :-D), but we are talk­ing about more seri­ous busi­ness here.

In short, you will be able to import/export/synchronize auto­mat­i­cally all or part of your tasks into a vari­ety of Back-ends. On top of that there will be an easy UI to rule them all.

Back-ends will include:

  • Remem­ber the milk (full syn­chro­niza­tion with notes, tags ...)
  • Evo­lu­tion Tasks
  • Launch­pad (auto­matic import of bugs assigned to you / all bugs in a project / all bugs with a cer­tain tag..)
  • Zeit­geist (export­ing com­pleted tasks — have you seen that Zeit­geist now sup­ports ham­ster?)
  • Ubuntu one sup­port (CouchDB)
  • Twitter/Identi.ca (auto­matic import of direct mes­sages tagged with #TODO — or some­thing of your choice)
  • Xml (for backups)
  • Email
  • ...

You will choose what to export and where, by “attach­ing” tags to a back-end. That is, if you want all your work tasks to be on your Remem­ber The Milk account,  just tag them @Work and add a RTM back-end syn­chro­niz­ing only the @Work tags.

There­fore, be joy­ful! You will have your TODO list every­where, even on your Win­dows machine we all know you’re keep­ing in your basement.

All of this will be done thanks to the the  “Google Sum­mer of Code”, which kindly changes my “I should be work­ing instead” thoughts to “hell, I’m working!”.

Not a big fun of com­mer­cial online ser­vices, even if they are (beer) free? We have the FLOSS!

Snowy-like web ser­vice for GTG

This will be a child of Karlo Jez, as another GSoC project. We’ll soon be hav­ing our web inter­face! A mock-up to whet your appetite

Speed

Big chunks of GTG have been rewrit­ten to make you feel like your com­puter is get­ting more pow­er­ful as it gets old. Now you can pro­cras­ti­nate thou­sands of tasks!

UDS-inspired improve­ments

Projects: We heard your requests for a way to add “projects” to bet­ter cat­e­go­rize tasks! Noth­ing is decided yet, but we’re work­ing on it :). We’ll be also work­ing on the indi­ca­tor icon, ... oh, too much work! Where is my beer?

Call For Ideas!

If you’ve read so far then, con­grat­u­la­tions, you can tick off “Read  Luca’s GTG post” off your TODO List.  You could add another task, though. Some of you have told us that GTG icon set is too sim­i­lar to a clip­board. We are think­ing about ren­o­vat­ing it, and it would be nice to see some pro­pos­als. So, sketch up, and post here there results!

12 Comments