skyleecm, 26 Feb 2010

OnesTodo User interface

OnesTodo has a simple user interface for managing tasks or todos. There are only 2 distinct web pages that you will need to know to manage your tasks.

  1. Todo List page (main page)
  2. Edit Todo page

Todo List page

In the top-right corner, there is the Login/Logout link, the User Preference link using your login email name, and the language selection dropdown list.

There are only 2 languages supported currently, English and Chinese (Simplified).

There are 3 links at the top:

  • Pending Todos
  • Last search
  • Favourites

By default, after a user has login to OnesTodo website, the user will see the Todo List page with his/her Pending Todos list. The Pending Todos list shows all the tasks (or todos) which are not completed yet.

Pending Todos

When a user clicks on Pending Todos link, the browser will refresh the user's current Pending Todos list. This action is equivalent to doing a search with the single criteria of done=no (The search form will show the current search criteria)

Last search

When a user clicks on Last search link, the browser will refresh the user's todos list that was last displayed after a search. This action is equivalent to doing the last search performed by the user. This is useful for the user to return back to his/her last displayed Todos list when the user has updated a task in the Edit Todo page. The last search will also remember the search page the user was last looking at. (The search only displays 10 tasks or todos per page, so if there are more than 10 tasks to display, the user will be able to use the page navigation links just below the tasks list to browse for the rest.)

Favourites

When a user clicks on Favourites link, the browser will show the Search Favourites (History) below the Todos list. The Search Favourites (or History) keeps track of the different search that the user has performed. (Only Pending Todos search are not tracked.) This Search list is always ordered by the number of search performed for each distinct search.

When a user performs a search for tasks, the current search criteria will also be displayed above all the Search list. (except for Pending Todos search) Next to the Current Search criteria, there is an Edit link which allows the assignment of a name to the current search. When a name is assigned to a search, the search becomes a favourite and this name will appear in the Favourites List dropdown that is above the Todo List. User can then select the name from the Favourites List to perform the search instead.

Each of the search query that is displayed, will show the search criteria that is used for that query and each search query will also show 3 links: Search, Edit and Delete.

  • Search - will perform the search using the criteria displayed.
  • Edit - allows assignment of a name to this search, so that user can just select it in the Favourites List dropdown. When user clicks on this Edit link, a textbox to enter the name and a Save button will appear. User clicks on the Save button to assign the name. A search name (favourite) can also be unassigned, in which case, the name will be removed from the Favourites List dropdown.
  • Delete - will delete the search query. If this query has a name, then the name will be removed from the Favourites List dropdown.

Todos Search

On the right side of the page, we have the todos Search form, on its left are the Favourites List dropdown and the Todo List table which shows the tasks (or todos) that match the current search criteria.

The main functionality of OnesTodo is provided by its search function. This allows the user to search and browse for the tasks the user is interested at that moment. To make it even easier for the user to do the same search frequently, we have the Favourites List dropdown which displays names that are assigned to search queries. User can just select the name from the Favourites List to perform the search instead of having to enter the search criteria each time.

By default, OnesTodo assigned 3 search queries for each user. Your Favourites List dropdown should have these 3 names: 1 Week, Today and Unprocessed. This list is always ordered by the name. Each user is free to modify the names as they wish, they belongs to the user.

The 3 default search queries are there because we want to encourage users to follow the approach described in Getting Things Done by David Allen. To get the best benefit out of using OnesTodo, it is best for users to understand and follow the approach described in Getting Things Done.

In the Collection stage of Getting Things Done, users are encouraged to collect all the items that remain to be completed into their collection system and out of their head and also to process the collected items regularly.

The Unprocessed list is a search query that will return the user list of collected tasks that are not yet processed. In OnesTodo, we have a Quick Add mode that allows users to enter a task quickly and to create todos that are considered as Unprocessed. A task (in OnesTodo) is considered as Unprocessed if it does not has a priority.

On a daily basis, we need to review our daily tasks that are to be done at the start of the day. The Today list is a search query that will return the user list of pending/uncompleted tasks that the user has scheduled for today or before today (using due date). You can see the actual search criteria by selecting the Today name in the Favourites List to perform the search, and the Today criteria used are: Due date<=today and Done=no.

The 1 Week list is a search query that will return the user list of pending/uncompleted tasks that the user has scheduled within a week or before today. The 1 Week criteria used are: Due date<=7d and Done=no. (Due date<=7d means the due date is earlier than or equal to the date of today + 7 days)

Search form

The Todos Search form displays all the attributes of a task (or todo) that can be used as search criteria in the search.

All words in the title criteria must be found within the task title, though variations of an English word are considered to be matched as well through stemming.

Valid values for priority are from 1 to 9 where 9 is considered as the highest priority and 1 is the lowest. The case of Unprocessed task which has no priority is a special case, it is represented by the criteria of priority=0. In the default case when no priority is entered for a search, the search actually does a search that matches any of the valid priority values. This means that for a search without a priority criteria will only return processed todos.

Context values is a list of comma delimited words, each value in the list must be found and matched exactly within the task context. (Context can be used to categorize the tasks)

Due date is used as the date a task is scheduled to be done. It only accepts the date format in yyyy-mm-dd with the exception of today and the days format which uses a number follow by d (see the explanation of the 1 Week list above) If a search uses a due date criteria, it will not return any tasks without a due date.

The search form uses an auto-complete widget for the project criteria. It will auto-complete a task title where the task is considered a project. (A project task in OnesTodo is a task with sub-tasks) This actually searches for sub-tasks of the selected project task.

All words in the description criteria must be found within the task description, though variations of an English word are considered to be matched as well through stemming. (similar to title criteria)

Tags values is a list of comma delimited words, each value in the list must be found and matched exactly within the task's tags. (similar to context criteria)

The Done criteria has 3 choices: no, yes, and ignore. done=no returns tasks that are not completed yet, done=yes returns tasks that are completed, done=ignore returns all and is equivalent to a search without the done criteria.

User clicks on the Search button to perform the search using the criteria entered. Each of the criteria value entered must match the task's attribute for the task to be return in the search results. (This is always an AND query where all entered criteria must be satisfied.) The Restore button is used to restore the criteria values that are used by the user's last search query. When a user performs a search through other means like selecting the search name from the Favourites List, the search criteria used will also be displayed automatically in the Search form criteria values. The Clear button clears away all the criteria values in the Search form.

Quick Add mode

The Search form has a Quick Add mode which allows user to add a task quickly. It is the only way to create an Unprocessed task through the website. (Users can also use email or chat)

Above the Search form, there are 2 radio buttons: Search and Add. Clicking on the Add radio button toggles the mode from Search to Add, and the Search button is replaced by the Add new todo button. Clicking on the Search radio button toggles the mode from Add back to Search. The Search mode is the default mode of the Search form.

In the Quick Add mode, user clicks on the Add new todo button to create a new task. The only field that is required here is the task title. The title should reflect what you are going to do next for the task. When the user is in the Collection stage of Getting Things Done, the user is only interested in collecting the items quickly. The user just need to enter the task item brief description into the title to record it and then clicks on the Add new todo button to create a new Unprocessed task. (Unprocessed task is a task without priority)

User can also create a processed task directly by entering a priority, in such case, user should also enter the task's context and schedule the task's due date. In Quick Add mode, only the title is checked to be a non-empty string, all other validation errors are ignored like if the entered due date is not using the format of yyyy-mm-dd, the saved task will simply not have a due date. Also, the saved task is immediately mark as completed if the user selects done=yes or the user selects a project that is completed. The Added status is displayed when a new task is created successfully.

If the added task is an Unprocessed task, it will be displayed in the Unprocessed Favourites List. If the task is a processed task which is not completed, then it can be found in the Pending Todos list (or any search with done=no and other criteria that matches the task attributes). If the task is completed, the user can search the task with done=yes and any other matching attributes.

Todo List

After the user has performed a search, the Todo List table will display the tasks that have matched the search criteria. If there are more than 10 tasks to display, the user will be able to use the page navigation links just below the tasks list to browse for the rest. The number of searched tasks is displayed in the Todo List table caption, and next to it, a dropdown list of 2 choices: default and newest, can be used to order the tasks list in either way. The default order is sorted by using the due date, priority in descending order, follow by title. The newest order is sorted using the task's creation date in descending order (newer task sorted first).

Clicking on the Add new todo link will take the user to the Edit Todo page to create a new todo. There is no advantage of using this compared to using the Quick Add mode with the exception that the user can enter a detailed description for the task and it also supports using 3 different text markup formats: html, markdown or textile.

The displayed tasks list will show each task's title, done status, due date, priority and context. If the task is overdue (its due date is in the past and it is not completed yet), the due date value is displayed with red color. Clicking on the task title link will take the user to the Edit Todo page to edit the todo. The task's done status can either show yes (completed) or no (not completed). If the task is not completed, the no is displayed as a link in which the user can just click it to mark the task as completed. The result of this action is that the task will either disappear from the list or the task's done status is changed from no to yes. For the case where the current search criteria includes done=no, the completed task will disappear from the list. For the other case where the current search criteria does not include the done criteria, the task's done status is changed from no to yes. In either case, the task is completed. (Special note: if the completed task is a project, then all its sub-tasks are also mark as completed.)

All tasks can also be deleted here by first selecting them using the checkbox next to the task's title, and then clicking on the Delete button at the bottom of the tasks list. Note: there is no confirmation prompt for the delete, the delete action will delete each of the selected tasks. The deleted tasks will be removed from the current list and can never be searched out again.

 

Tags: todo, documentation, faq, user-guide, gtd