Working on GNOME To Do this Summer

A brief intro about myself
I am Rohit Kaushik (kaushik on IRC) from Delhi, India. I am currently pursuing B.E Computer Science at BITS Pilani, Goa. I am interested in Software Engineering, Machine Learning and Research. I usually spend my free time playing badminton, cricket or listening to music.
Last year, I worked on implementing Todoist for GNOME To Do and this time again I will be working on GNOME To Do, improving the two plugins that I wrote earlier and implementing newer features. I am grateful to GNOME and my mentor feaneron for giving me this opportunity.

About the Project

The project is aimed at improving todo.txt and Todoist error-free and support all the features of To Do. At the end of the project, we wish to have both the plugins in a usable and bug-free state. I am outlining the current list of task that I have planned to work on but any other suggestions are very much welcomed 🙂

Improvements to todo.txt plugin

  • Improve the parser and make it usable and bug-free
  • Add support for missing features, i.e list background colour, notes, subtask support
  • Handle edge cases in syntax parsing
  • Document the todo.txt syntax

Improvements to Todoist plugin

  • Move it outside GNOME Online Accounts – Currently Todoist uses GOA, for maintaining Todoist accounts and we wish to remove this dependency and have a login panel in To Do which manages user accounts.
  • Automatic synchronization of tasks and lists
  • Handling network loss and other failing cases.

I will keep this blog updated with the work in progress. If you have suggestion, please feel free to add them in comments or send me a mail.

Looking forward to a great Summer.



GSoC: Final Report

The GSoC coding period has come to an end and I am wrapping up my work ,writing reports and descriptions for my project. I still have to fill my Google evaluation and submit the links. This blog is a final status report of my work and possible further improvements.

Status of Todoist Integration

I was able to complete most of my goals , except one related to compressing commands in a single HTTP post request. Two of my current patches are yet to be pushed, so I will be working on implementing command compression and the review’s to my un-pushed patches. The good thing is non of not-pushed patches blocks the usability of Todoist plugin and the plugin can be used to manage Todoist tasks and users account. So, I encourage all those who are using Todoist to try out GNOME To Do from master branch. And rest assured, I will work to my best so that the remaining work and patches are also pushed to master before the 3.26 release.

I have also updated my wiki page , which now includes a detailed overview of the project and links to merged/unmerged commits.

Thank You

I would like to thank every GNOME member, especially my mentor, feaneron, for being so nice and helpful. I have learnt a lot in the past 3 months and it has been a great experience to be a part of this wonderful community. I also like to thank GNOME and Google for giving me this opportunity.

Not the End

Although GSoC has ended but this is not the end of my contributions to GNOME. I would keep contributing to GNOME and try to make it even more awesome than it already is.



I attended my first GUADEC this year, held in beautiful city of Manchester. I am in general not very enthusiastic about social meetings but GUADEC was something I always wished to attend and I am glad I did.

The Conference Days:

The first day started with talks about GNOME and different applications and ended with lightning talks from interns and newcomers. I was a bit nervous about presenting in front of so many people, mainly because I am not very good with presentations but everyone was extremely nice and  encouraged me before the talk and this made it much more easier task. I am glad I had this opportunity and I hope that I improve with my presentations from here on.

I liked hearing people talk about GNOME softwares and being a newcomer it was nice way to get to know more about the projects. I attended most of the talks and liked all of them but I would like to specially mention some of them:

  1. Status of Builder – I use builder for all my development work hence I really appreciate the work of Christian and I loved the demonstration.
  2. The History of GNOME – I got to know so many knew things and how GNOME progressed as a project.
  3. How to get better milage out of Glade – I am glad that there is work going on to improve Glade, since this is one application I would love to use more.

The rest of conference was meeting new people and talking about things related to my project or GNOME and even Non GNOME stuffs in general. I also had chance to meet my mentor feaneron and personally thank him for all the things he has helped me with and helping me become a contributor from a complete newbie.

Unconference Days: 

So Unconference Days was scheduled with workshops at the start of day and ended with social event. I tried to utilize the time to work on my GSoC project and get some reviews and help from my mentor. I also attended the later half of the Builder workshop and liked it. Ah! I should have attended more Workshops/BOFs.

Trek and City Tour:

City Tour was cancelled on Friday due to rain but thankfully that didn’t happen on Sunday. Pic from the tour. More can be found here .IMG_20170730_193530

I went on a trek for the first time in my life and it was a really nice experience. I would like to thank the team for planning the Trek and also our Group Leader Allan Day.



I would like to thank GNOME Foundation for sponsoring me. I also thank the team for planning everything and working so hard to make the conference a success and memorable 🙂 Thank You GNOME!


Todoist Preferences Panel for To Do

A lot has happened in the first two weeks of coding period and i am excited to share it with everyone. So, for the first two weekend I worked on adding a Preferences Panel that allows users to add/modify Todoist account that they want to use with To Do. Earlier we had planned to make it work in sandboxed environment, but upon mclasen’s suggestion we are sticking with getting the Goa Portal and Todoist account addition to work on non-sandboxed environment first.

So here’s how the Todoist Preferences Panel has turned out and it’s looking really cool :


Since Todoist provider is not yet merged with GOA, we don’t have a todoist account to test with, in which case To Do shows a no accounts page and asks if you wish to add one. Mind you the add button will be invisible if there is todoist provider in your GOA but i have enabled it just for demo.

Incase you have a Todoist Account in GOA added, your preferences panel would this along with todoist accounts in the ListBox. I need to make some changes to preferences including the icon which would done in a later stage.

Screenshot from 2017-06-16 18-41-32

I have also progressed on adding some required functions to GOA and the patches have undergone a few review iterations and we can can expect them to be pushed to master before end of next week.

What additions are in line for GOA?

  1. ListProviders: We can now make a DBus call to GOA and get a list of supported providers. This can be useful if apps want to query if GOA supports a specific provider. To Do will make use of it to decide whether to show a Add Account button or not.
  2. AddAccountForProviders: This is yet another DBus method that takes in a string “provider_type” and spawn the Control Center to allow addition of an account, which apps can make use of.
  3. Todoist Provider: This is being added by Recipe members and with this GOA will support Todoist accounts which To Do, Recipe etc. can use.

All the patches related to GOA are in progress and not pushed to master branch, if you wish to check these out, patches have been uploaded here.

A short video demonstrating these changes :

I am using D-feet to trigger the Dbus calls. As you saw in last video, the AddAccountForProvider method is already being used by To Do.


This is all I had for this blogpost, I will keep updating the changes as it occurs. Feel free to drop suggestions. They are always welcomed 🙂


Hello World,

This is my development blog where I will be posting about the work related to my open source projects as I progress through them and also every movement related to my GSOC project (upcoming next post related to my project) will be updated on this blog.

There are a lot of development blogs already, but I believe every developer has his own unique experiences to share and it will not just be learning  for readers but myself included.

A Short bio

I am Rohit Kaushik, a Computer Science Undergraduate at BITS Pilani, Goa Campus . I have deep interest in the Computer Science and I love programming. Apart from being a user of Open Source Applications, i am also a contributor at GNOME.My contribution have been majorly to Gnome To Do and Nautilus. Beside my love for Computers, I like listening to music and I also plan on learning to play keyboard this summer :).

You can check my projects at github and contact me here.