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.
Some of the tasks that you work on will be repeating periodically. These can be say "Pay house rent" or "Pay college fees" etc.
What is GTG missing?
Right now GTG does not support reocurring/repeating tasks. It will be really helpful for a user to have a support for adding repeating tasks in one go.
How do we add support?
The problem here is less of providing a change on GTG module and more about deciding on a User Experience. The set of changes on GTG core side are relatively small in amount. The main thing that you need to do is come up with an intuitive user experience for entering the repeating tasks. Remember GTG focuses heavily on simplicity. You can refer to Google Calendar or the discussion on the bugs page (mentioned below) for ideas.
So, your task is to decide on and implement a simple way of adding support for reoccuring tasks. You need not come up with a completely out of the box idea. It might be right in front of you.
https://wiki.gnome.org/Apps/gtg/blueprints/repeated_tasks should give you a nice idea as to what needs to be done.
Info for applicants
- Knowledge of Python3 and GTK3 will be needed.
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 tasks and/or modify the GUI of GTG in a small way. 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))