At present GTG doesn't have the feature of displaying the statistics about the tasks. It is useful to have this feature so then the user can see the summarized view of all the tasks during a particular time period(a week or a month), in a UI (with a graphical representation).
We can impelment statistics feature by adding as a separate menu item. So then it can be implemented as a separate UI.
Proposed Sub Features
The following are the proposed sub features to be implemented under the statistics feature.
They can be implemented as separate UI panels inside the statistics main UI.
Display Statistics Categorized According to the Tags
This sub feature will display the statistics categorized by tags. Each category's total task duration for user defined time period can be shown by horizontal bar charts.
We can implement this in a tab view. Then one tab will display the closed tasks and another will display the tasks which are scheduled, but not yet done. User is given a option to select the duration in which he wants to see the statistics. (week/month/year)
Graphical representaion of Tasks for Each Day
Tasks scheduled for each day can be shown using bar graphs categorized by tags.
This can be shown on a separate section of the statistics main UI
Export statistcs as Reports
The statistics can be exported as reports using some format for user defined time period.
Also the report can serve as an activity log for a particular day, which includes total due tasks, total closed tasks, task completion or time creep, etc. These statistical data will be helpful to reschedule some tasks accordingly.
Task Statistics Comparison
A separate UI can be implemented for comparison of task statistics between some user selected time periods. This feature will be helpful in measuring the progress of the user.
This will enable GTG to show statistics for two different time periods. (For example, task completion comparison between the 1st week of november and the 3rd week of november)
The statistics comparison UI will include a nice GUI composed of two panels - upper and lower. The upper part will contain a slider, which allows the user to go through the time periods. The slider also contains bar charts, in thumbnail view for each consecutive time period one after the other.
These thumbnail charts on the slider give a summarized view of the time periods. It is not a descriptive one.
To compare the task completion or else the tasks left undone in between seleted two time periods, the user can select two time periods from the thumbnail view on the slider. Then whe he hit the Compare button, the comparison result will be displayed on the lower part of the UI.
Lower part of the comparison UI also divided into 2 parts - left and right. The left side contains the task completion diagram for one time period and the right side will contain the other. (The two time periods the user selected for comparison).
When we consider on side, it contains two separate horizontal bar graphs, one to display tag-wise task completion and the other to display tag-wise tasks left undone. (Two bar graphs on below the other).
On those bar graphs, each bar represents the number of tasks belong to that particular tag, which have been completed/left undone, depending on the graph. Below the two graphs, it can display user, the comparison result using words, giving a good indication about the user's progress/failure in task completion in between the two selected time periods.
As mentioned above, each bar represents the number of tasks for a particular tag. Besides, an option can be given to the user to select his/her preference, whether he/she like it to be tag-wise categorization or day-wise categorization. If it is day-wise, each bar corresponds to a day in a week and a bar will represent the no of tasks for that day. Then GTG can give the comparison results considering daily task completion.
Display Sub Tasks Using Gantt Charts
GTG has the ability to enter sub tasks under a particular main task. But we cannot ignore the sub tasks, because sub tasks should be completed to close a task. So statistics feature also should have the ability to represent statistics about tasks, preserving the task-sub task relationship between them.
When the user asks for the statistics about main tasks, if there are sub tasks under the main task, they are displayed using a gantt chart.
The UI is designed in such a way that statistics about sub tasks are hidden by default(Similar to a tree view). When the user hit on the main task, the corresponding sub task statistics will be displayed. Sub tasks under a main task will be displayed with some indentation, so then user can easily understand it is representing statistics about a sub task.
Main task's completion/left undone statistics as well as those of sub tasks are shown on a nice GUI with sub task statistics on a gantt chart. This will be useful for the user to get an idea why some main task is having a schedule creep, etc.
Show Hints to the User
Using the statistics collected for previous tasks GTG can diplay some hints to the user.
For example when a user is going to add a new task with some tag, statistics feature can look at the previous completion of that particular tagged tasks and considering the avarage duration for completion, GTG can give hints to the user regarding the new task's estimated duration, etc.
Further statistics feature can calculate the total estimated duration. If the user is going to add tasks, when the week(or day) is overloaded with previously added tasks, GTG can give hints to user.