Snowball the Task Manager – User Guide
About
Snowball is a Task Manager which helps to keep track of all the things you have to do. Snowball communicates using a chat interface, so all you have to do is to type in your commands, and Snowball will handle the rest!

Hello! My name is Snowball. I’m here to help you organise your tasks!
Features
Basic Search Function
Ever had trouble trying to scan through a long list of tasks to find the one that you
were looking for? Snowball eliminates this problem by looking up tasks for you. Simply
use the find command to search for any part of the task’s details that is visible when
tasks are displayed.
Different Types of Tasks
Snowball organises three types of tasks: To-Dos, Deadlines, and Events.
-
To-Do
A To-Do is a generic task that consists of a description and completion status.
To-Dos are denoted by [T] in the displayed task list.
-
Deadline
A Deadline is similar to a To-Do, but it also contains a due date/time which is displayed along with the Deadline.
Deadlines are marked with [D] in the task list.
-
Event
An Event is a task which consists of a description and an event time. It differs from a Deadline in that Deadlines must be completed by a certain time, whereas events happen at their given time.
Events are denoted by [E] in the task list.
Task Priority Levels
All tasks can be marked with a priority level that is either None, Low, Medium, or High (increasing order of importance). When tasks are displayed, priority levels that are higher than None are also displayed before the task that they are attached to.
Example:
1. [T][-] Say hello to Snowball!
2. [T][-] [Not so important] Bake muffins
3. [D][-] [Quite important] Read lecture notes (by: Thu, 12 Sep 19, 22:00)
4. [D][-] [Important!!] Write presentation script (by: Fri, 13 Sep 19, 14:00)
Usage
Command Format
- Words in UPPER-CASE are the parameters to be supplied by the user.
- Items in [square brackets] are optional.
- Main commands are case insensitive.
LISTandliStwill work, but not/AT.- Parameters must be given in the specified order unless otherwise stated.
Displaying Tasks
list
- Displays the list of tasks that Snowball is currently managing.
- Tasks types and completion status are shown along with the task description and time (if any). Priority levels that are higher than None are also displayed.
- For example:
list1. [E][+] Project meeting (at: Tue, 10 Sep 19, 12:00)
2. [D][-] Submit presentation slides (by: Wed, 11 Sep 19, 23:59)
3. [T][-] Go to sleep
find PHRASE
- Displays all tasks that contain
PHRASEin their description, priority level, index number, or time. - Can be used to search for specific task numbers or priority levels.
findis case sensitive, i.e.find meetingwill not find a task with the description “Meeting with project group”.- For example:
find Sun1. [D][-] Read lecture notes (by: Sun, 18 Aug 19, 12:00)
3. [T][-] Go out on Sunday! - Example #2:
find 1displays all tasks that contain the number 1. However, it also shows tasks which have the number 1 in their descriptions.2. [T][-] Read books
10. [T][-] Draft interview questions
22. [D][-] Submit report (by: Mon, 11 Nov 19, 12:00) - Example #3:
find Important!displays all tasks that are marked as Important.5. [T][-] [Important!!] Message group about project deadline
22. [D][-] [Important!!] Submit report (by: Mon, 11 Nov 19, 12:00)
Adding New Tasks
todo DESCRIPTION
- Adds a new To-Do task with the given description.
- Example:
todo Read textbookGot it. I’ve added this task:
[T][-] Read textbook
Now you have 5 tasks in the list.
deadline DESCRIPTION /by TIME
- Adds a new Deadline task with the given description and due time.
TIMEmust be given in one of the following formats:- DOW, DD-MM-YY, hh:mm
- DD-MM-YYYY hh:mm
- DDMMYY hhmm
- Note: no punctuation
- ISO date time, i.e. YYYY-MM-DDThh:mm:ss
- Note the ‘T’ between date and time
- If
TIMEdoes not match any valid format, the due date and time will be set to the current date and time. - For example, you could type:
deadline Write project completion report /by 200919 1800Got it. I’ve added this task:
[D][-] Write project completion report (by: Fri, 20 Sep 2019, 18:00)
Now you have 6 tasks in the list. - Example #2 - Snowball responds with an error message if
TIMEis not specified:deadline Write project completion reportSorry, what’s the deadline for this?
event DESCRIPTION /at TIME
- Adds a new Event task with the given description and event time.
TIMEmust be given in one of the following formats:- DOW, DD-MM-YY, hh:mm
- DD-MM-YYYY hh:mm
- DDMMYY hhmm
- Note: no punctuation
- ISO date time, i.e. YYYY-MM-DDThh:mm:ss
- Note the ‘T’ between date and time
- If
TIMEdoes not match any valid format, the event date and time will be set to the current date and time. - For example:
event Internship interview /at 270819 1500Got it. I’ve added this task:
[E][-] Internship interview (at: Tue, 27 Aug 2019, 15:00)
Now you have 7 tasks in the list. - Again, an error message is shown if
TIMEis missing:event InternshipSorry, I need to know when your event is!
Completing Tasks
done INDEX
- Marks the task with the given index number as done.
INDEXshould be the list index number of the task with no other symbols or punctuation.- For example:
done 1Nice! I’ve marked this task as done:
[T][+] Make user guide - Invalid usage for a list with 2 tasks:
done 1.ordone 5Sorry, I couldn’t find the task you requested!
undone INDEX
- Marks the task with the given index number as undone.
INDEXshould be the list index number of the task with no other symbols or punctuation.- For example:
undone 1Oh dear. I’ve marked this task as undone:
[T][-] Make user guide - Invalid usage for a list with 2 tasks:
undone 1.orundone 5Sorry, I couldn’t find the task you requested!
Changing Task Priority Levels
priority INDEX PRIORITY-LEVEL
- Changes the priority of the task with the given
INDEXtoPRIORITY-LEVEL. INDEXshould be the list index number of the task with no other symbols or punctuation. Same as for thedoneandundonecommands.PRIORITY-LEVELshould be one of the following:- High priority (Important!!):
high - Medium priority (Quite important):
medium,mid, orquite - Low priority (Not so important):
low - No priority:
noneorno
- High priority (Important!!):
- For example:
priority 1 highOkay! I’ve set this task’s priority to Important!!:
[T][-] [Important!!] Make user guide
Removing Tasks
delete INDEX
- Deletes the task with the given index number.
- Use with caution: deleted tasks cannot be recovered.
INDEXshould be the list index number of the task with no other symbols or punctuation, as in thedone,undone, andprioritycommands.- Example usage:
delete 1Noted. I’ve deleted this task:
[D][-] Submit presentation slides (by: Wed, 11 Sep 19, 23:59)
Now you have 6 tasks in the list.
Saying Bye
bye
- Closes the application after displaying a goodbye message from Snowball.
- There should be no text after the command
bye. - Example:
byeBye. Hope to see you again soon!
- Invalid example - extra input after the command word:
bye byeSorry, did you mean to type another command?
Command Summary
list- Display all tasks.find PHRASE- Display tasks that containPHRASE.todo DESCRIPTION- Add a To-Do with the given description.deadline DESCRIPTION /by TIME- Add a Deadline with the given description and due time.event DESCRIPTION /at TIME- Add an Event with the given description and event time.done INDEX- Mark the task with the given index number as done.undone INDEX- Mark the task with the given index number as undone.priority INDEX PRIORITY-LEVEL- Mark the given task with the given priority level.delete INDEX- Delete the task with the given index number.bye- Close the application.