What is Getting Things Gnome! ?
Getting Things Gnome! (GTG) is an organizer for the GNOME desktop environment, focusing on usability and ease of use. GTG manages your to-do items easily, complete with tags and nested subtasks.
Using GTG is easy: You can create new "Tasks", to organize what you have to do. Sometimes, you need to finish something first before being able to accomplish your task. For that, we have "Subtasks". The purpose of subtasks is to cut down a task in smaller subtasks that are easier to achieve and to track down.
You can use "tags", to sort your tasks. A tag is a simple word that begins with "@".
If you press the "Work View" button, only actionable tasks will be displayed in your list. What is an actionable task? It's a task you can do directly, right now.
Now one cannot carry his laptop everywhere he goes. Hence people use other todo list managers as well for other devices. Now, wouldnt it be nice to have a synchronization service between these apps and GTG?
What is GTG missing?
Right now GTG does have several Synchronization services (also called backends) to connect with services like Launchpad or Remember the Milk and such. But many of these services have not been updated since a while and also new services need to be added. Among the new services, the most important ones are Gtasks and Todoist.
How do we take care of this?
Well, the problem with Remember the milk service is that the code does not use the latest API. For Gtasks and Todoist backends, we know about the APIs available so should be an easy task. If you are willing to go further than just add new backends, we are interested in a better User Experience for Synchronization services box. We would like a box similar to plugins.
Info for applicants
- Knowledge of Python3 and GTK3 will be needed.
- Also, since you will be using the APIs of other projects, you must have an idea as to how to use them. This is not a pre requisite though, as you can gain this knowledge during your internship period as well.
A contribution to fill the application
A vital part of the application process is getting to understand the technologies that are going to be used in the project. Once you get a feel of how they work, using them isn't very difficult. It would be nice if you played with the technologies involved. Try to think how you can integrate all the stuff you've just read into a working model.
Once you have the confidence of putting it into action, solve a few bugs related to backends. Here is a list of bugs that you can choose from. I'll leave the implementation details upto you. But remember, If you have doubts at any step, or something is not working as you expect it, I'm here to help, so don't hesitate to contact me
This is to demonstrate that you have grasped the basics and that you can successfully combine them into something that actually works (Thats what matters at the end, right ?). This will also convince me that you will be willing to learn more such things during the program. When the prototype runs, ask a developer to review the code (for code style etc.) using launchpad or mailing-lists.
- IRC (Nick: limit, #gtg on Gimpnet, Timezone: IST (+0530))