This page is a collection of random ideas for extending or improving the iTasks system that we think are fun, but haven't gotten around to implementing. If you are a student looking for a small project, or otherwise want to contribute, this might be the place to find something interesting :)
To make the completion of tasks easier, it would help if you could communicate directly about a task with the person who defined the task or assigned a task to you. An easy way to facilitate this is to build instant messaging linked to tasks in the client. This is mostly an interface design project, because the server side is relatively simple.
Feature: E-mail / SMS
Not everyone is logged in to a workflow system 24/7, but a lot of people have access to their e-mail most of the time. Therefore would it be nice to have e-mail or even SMS notification when new tasks are assigned to you, when the status, priority, deadline or other properties of a task change, or something else that is worth knowing happens. Because not everybody likes to be spammed by such a system, it would have to be configurable for each user.
Feature: Ad-hoc signup
You do not always know in advance, which people will be involved in some task or workflow. Sometimes you want to assign tasks not to an existing user, but to someone who is not a user yet. In these cases you want to be able to create a new user account instantly and provide some quick and easy signup mechanism for the new user to be introduced to the system. A possible solution would be to allow task assignment to arbitrary e-mail addresses, and when the e-mail adress does not belong to a known user, create a new user with the e-mail address as username and sent her an e-mail with a link that activates the new account and directly opens the assigned task.
Workflow: Schedule a meeting with a group of people
The idea of this example workflow is to agree on a date with a group of people. One person who initiates the workflow defines a list of possible dates and the people she wants to invite. The list of options is then offered to each group member who indicates what subset of the options suits her. Finally the organizer picks a date from the set of dates that is possible for everybody.