By: Team T11-B3
Since: Sep 2017
Adapted from AddressBook-Level4, by: Team SE-EDU
Since Jun 2016
Licence: MIT
- 1. Introduction
- 2. About
- 3. Key Features
- 4. Getting Started
- 5. Features
- 6. FAQ
- 7. Troubleshooting
- 8. Command Summary
1. Introduction
Mobilize is an organizing and planning application for the desktop, that allows you to manage your contacts and tasks easily. You can store, edit, filter and remove contacts and to-do lists by simply typing commands into the text box.
With its sophisticated yet user-friendly features, Mobilize can help you easily plan and organize your day with only a few clicks on the keyboard.
2. About
This User Guide will lead you through the process of downloading and using Mobilize, along with a brief overview of its features and the different commands which will help you use these features.
All commands are summarized at the end of the guide.
3. Key Features
Mobilize facilitates planning and management by combining two important features: an address book and a task manager.
3.1. Address Book
The address book allows you to add, delete, tag, detag, list, find, select and edit contacts.
It accepts the following parameters:
-
Name
-
Phone
-
Address
-
Birthday
-
Email
-
Tags
3.2. Task Manager
The task manager allows you to add, delete, tag, list, find, select and edit tasks.
It accepts the following parameters:
-
Task Description
-
Starting Date
-
Deadline
-
Tags
4. Getting Started
4.1. Launching the Application
To launch the application:
-
Ensure you have Java version
1.8.0_60
or later installed in your Computer.Having any Java 8 version is not enough.
This app will not work with earlier versions of Java 8. -
Download the latest version of
Mobilize
here. -
Copy the file to the folder you want to store Mobilize in.
-
Double click on the icon to get started.
4.2. Understanding the Screen Layout
Mobilize comes with a simple screen layout to facilitate easy planning. The screen contains six main parts that allow you to interact with the application:

Fig: Parts of the Mobilize Screen
Each part has different functions:
-
Command Line
: This is the your primary mode of input. All major functions have a command in the command line. -
Result Display
: This is your primary mode of interaction with the application. You will be notified of all successful or failed commands, along with their correct usages through the Result Display. -
Contact Cards
: These are arranged in a panel to display all the contacts you add into the application. Contact Cards show you all entered fields of a contact and are arranged in alphabetical order according to the names of your contacts. -
Task Cards
: These are arranged in a panel to display all the tasks you add into the application. Task Cards show you all entered fields of a task and are arranged according to urgency starting from the nearest deadline. -
Calendar
: This is a calendar that gives a color coded view of all task deadlines and contact birthdays. -
Browser
: This is built into the application to redirect you to the location of a contact’s address when a Contact Card is selected.
5. Features
5.1. Using Mobilize
Command formats will be explained using the following syntax:
-
Words or letters followed by a slash (/) are prefixes, to mark the place of a specific parameter.
For example, in the syntax n/NAME, the combination of “n/” forms a prefix to signal that the parameter that follows should be a name. -
Words in UPPER_CASE are parameters to be determined by the user.
For example, in the command add n/NAME, the word NAME is a placeholder for the name of a contact input by a user. The final command might look like add n/John Doe. -
Items in square brackets are optional.
For example, if a command syntax contains the item [t/TAG], it means that tags can be left out in the final command. -
Items followed by “…” can be repeated multiple times.
For example, if a command syntax contains the item [t/TAG]…, then the final command can contain multiple ‘tags’, such as t/friend, t/family, t/classmate. -
Parameters that are preceded by a prefix, can occur in any order.
For example, if a command syntax contains the item add n/NAME p/PHONE a/ADDRESS, then the final command can contain these items in a different order, such as add a/ADDRESS n/NAME p/PHONE.
5.2. Switching Between Address Book and Task Manager : switch
To help you save time to remember all the commands in Mobilize, you can toggle between address book and task manager using:
Format: switch addressbook
or switch taskmanager
You can use ab for addressbook and tm for taskmanager in the command.
|
The default mode of Mobilize will be address book. |
5.3. Managing Contacts
5.3.1. Adding new contacts : add
Whether you’ve just met a new colleague or reconnected with an old friend, adding new contacts to Mobilize is easy!
Format: add n/NAME p/PHONE e/EMAIL a/ADDRESS [b/BIRTHDAY] [t/TAG]…
Examples:
-
add n/John Doe p/92435671 e/john_d888@gmail.com a/ 207 Upper Street, Islington, LONDON, N1 1RL b/15-11-1986 t/friend t/roommate
Creates a new contact and sets the name toJohn Doe
, email address tojohn_d888@gmail.com
, address to207 Upper Street, Islington, LONDON, N1 1RL
, birthday to15-11-1996
and two tags to [friend
] and [roommate
].
Contacts are automatically sorted according to name. |
Constraints:
Note the following constraints when trying to add new contacts:
5.3.2. Finding contacts: find
Whether you’re a social butterfly or a networking pro, sifting through contacts can be a tedious task. To ease the process, you can filter your contact list by name, tag or birthday.
Format: find [NAME] [TAG] [BIRTHDAY]
-
The search is case insensitive. e.g
hans
will matchHans
,friends
will matchFriends
and BIRTHDAY, in the format of DD-MM, will match DD-MM_YYYY. e.g17-07
will match17-07-1995
-
The order of the keywords does not matter. e.g.
Hans Bo
will matchBo Hans
-
Persons matching at least one keyword will be returned (i.e.
OR
search). e.g.Hans Bo
will returnHans Gruber
,Bo Yang
Examples:
-
find John
Returnsjohn
andJohn Doe
-
find Betsy Tim John
Returns any person having namesBetsy
,Tim
, orJohn
-
find friends
Returns any person having tagsfriends
orFriends
-
find 17-07
Returns any person having birthday on17-07
Constraints:
Note the following constraint when trying to find contacts:
-
Only full words will be matched e.g
Han
will not matchHans
,friend
will not matchfriends
and1707
will not match17-07
5.3.3. Deleting contacts : delete
If you need to clean up your contact list, just delete all those redundant contacts!
Format : delete INDEX
Examples:
-
list
delete 2
Deletes the 2nd contact in the list. -
find Betsy
delete 1
Deletes the 1st contact in the result list of thefind
command.
Constraints
Note the following constraints when trying to delete contacts:
-
Deletes the contact at the specified index.
-
INDEX refers to the index number shown in the most recent contact listing.
-
The index must be a positive integer 1, 2, 3, …
5.3.4. Tagging multiple contacts : tag
Tags are a useful way of grouping and labeling contacts. But editing them manually, one by one, can be a tedious process. Instead, you can use the tag command to tag multiple contacts simultaneously.
Format: tag INDEX… t/[TAG]…
You can add multiple tags to multiple contacts by repeating the tag prefix. |
Example:
tag 1, 2, 3 t/friend t/family
Results in all contacts in indices 1, 2 and 3 being tagged with both [friend
] and [family
].
Constraints
Note the following constraints when trying to add tags:
5.3.5. Removing tags from multiple contacts : detag
When a tag is no longer in use, you can use the detag command to remove the tag from multiple contacts.
Format: detag INDEX… [t/TAG]
Examples:
-
list
detag 2 t/friends
Deletes the [friends
] tag of the 2nd contact in the address book. -
find Betsy
detag 1, 2, 4 t/OwesMoney
Deletes the [OwesMoney
] tag of the 1st, 2nd and 4th contact in the result list of the find
command.
Constraints
Note the following constraints when trying to remove a tag:
-
INDEX refers to the index number shown in the most recent listing.
-
The index must be a positive integer 1, 2, 3, …
-
Every index must be separated by a comma.
5.3.6. Editing contacts : edit
Editing existing contacts is an easy way to keep track of people who might be changing numbers, addresses or even their role in your life.
Format: edit INDEX [n/NAME] [p/PHONE] [a/ADDRESS] [e/EMAIL] [b/BIRTHDAY] [t/TAG]…
-
Any number between one and multiple items might be given for a successful edit. All items left out will continue to have their original parameters.
Examples:
*edit 1 n/Jane Doe p/92413567 a/Singapore e/jane@gmail.com b/09-08-1997 t/sister
Edits the name of the first contact to be Jane Doe
, phone number to be 92413567
, address to be Singapore
, email to be jane@gmail.com
,
birthday to be 09-08-1997
and tag to be [sister
].
* edit 1 p/91234567 e/johndoe@example.com
Edits the phone number and email address of the 1st contact to be 91234567
and johndoe@example.com
respectively.
* edit 2 n/Betsy Crower t/
Edits the name of the 2nd contact to be Betsy Crower
and clears all existing tags.
Constraints
Note the following constraints when editing contacts:
-
INDEX refers to the index number shown in the last contact listing.
-
The index must be a positive integer 1, 2, 3, …
-
If a contact is first searched by the “find” feature, then the new index of the contact according to the filtered list of Contact Cards, is what must be used in the INDEX parameter.
-
At least one of the optional fields must be provided.
-
Existing values will be updated to the input values.
-
If a tag prefix is given without a TAG parameter, then the tags will be replaced by a blank (deleted) i.e adding of tags is not cumulative.
-
You can remove all the contacts' tags by typing
t/
without specifying any tags after it.
5.3.7. Listing contacts : list
To go back to the default list of contacts after a round of filtering, use the list command.
Format: list
5.3.8. Selecting contacts : select
Selecting a contact is an easy way to locate a contact’s address on Google Maps.
Format: select INDEX
Examples:
-
list
select 2
Selects the 2nd contact in the address book. <add detail about their location showing up> -
find Betsy
select 1
Selects the 1st contact in the results of thefind
command. <add detail about their location showing up>
Constraints
Note the following constraints when selecting contacts:
5.4. Managing Tasks
5.4.1. Adding tasks: add
Whether it is a host of pending submissions, a get-together or a multiday program, adding it to Mobilize can easily help you keep track of it all.
Use prefixes:
Format: add DESCRIPTION [by/on/from DEADLINE] [at START TIME to END TIME] [t/TAG]…
-
The task added is automatically sorted according to the deadline. With expired tasks coming first, follow by tasks with deadline that are coming up next and lastly tasks without deadline.
-
If you want to enter a date, it must follow the MONTH-DAY-YEAR format.
-
Words or phrases like 'tomorrow', 'yesterday', 'Tue', 'Tuesday', 'day after tomorrow', '5 Dec', '5/9/2017' and 'the 8th of Jan' are all valid dates.
-
2 pm
,2:00
,02:00
,1400
are all valid times. -
Deadlines and times are optional items.
Examples:
-
add important meeting on 17 Nov at 9 am to 11 am
Sets the description toimportant meetin
, deadline to the15th of November
in the current or upcoming year and times to09:00
and11:00
respectively. -
add recess week from tomorrow by 15 Sep
Sets the description torecess week
start date to the next day and the deadline to the15th of September
in the current or upcoming year. -
add get groceries
Sets the description toget groceries
leaving the other parameters blank.
Constraints
Note the following constraints when adding tasks:
5.4.2. Finding tasks by description or deadline: find
Want to find a task? The find feature allows you to find task(s) by descriptions or deadlines.
To find task(s) whose descriptions contain any of the given keywords, use
Format: find KEYWORD [MORE_KEYWORDS]
To find task(s) by deadlines, use
Format: find DD-MM-YYYY
Examples:
-
find finish
Returnsfinish task tonight
andfinish task tomorrow
-
find finish task tonight
Returns any task(s) having a description containingfinish
,task
, ortonight
-
find 29-10-2017
Returns any task(s) having deadlines on29-10-2017
Constraints:
Note the following constraints when finding tasks:
5.4.3. Deleting tasks : delete
Due to our fast changing lives, if your task was cancelled suddenly and you would like to delete the task from your task manager, the delete function is here to save your day!
Format: delete INDEX
Constraints
Note the following constraints when deleting a task:
5.4.4. Editing tasks: edit
Change of plans? The edit feature offers a hassle-free solution to change any parameter of an existing task.
Format: edit INDEX DESCRIPTION by/from/at DEADLINE at START TIME to END TIME
One or more parameters can be specified. |
The time parameter can only be edited using the prefix at .
|
For example:
-
edit 1 exam on 4th Dec at 8 pm to 9 pm
Changes all parameters of the task at INDEX 1 to set task description toexams
, deadline toMon, Dec 4, '17
and times to20:00
and21:00
respectively. -
edit 2 from tomorrow
Changes the deadline of the task at INDEX 2 to the date of the following day. -
edit 3 at 9 am
Changes the time of the task at INDEX 3 to09:00
.
Note the following constraints when editing tasks:
5.4.5. Tagging multiple tasks : tag
Tags are a useful way of grouping and labeling tasks. But editing them manually, one by one, can be a tedious process. Instead, you can use the tag command to tag multiple tasks simultaneously.
Format: tag INDEX… t/[TAG]…
You can add multiple tags to multiple tasks by repeating the tag prefix. |
Example:
tag 1, 2, 3 t/urgent t/family
Results in all contacts in indices 1, 2 and 3 being tagged with both [urgent
] and [family
].
Constraints
Note the following constraints when trying to add tags:
5.4.6. Listing tasks : list
You can use the list command to go back to the default list of tasks after a search.
Format: list
5.4.7. Selecting a task: select
You can use the select command to select the task identified by the index number used in the last task listing.
Format: select INDEX
All contacts involved in the selected task will be listed. There will be no changes in the displayed list of contacks if there are no involved personnel. |
Examples:
-
list
select 2
Selects the 2nd task in the task manager. -
find finish
select 1
Selects the 1st task in the results of thefind
command. <*result list>
Constraints:
5.5. Managing Common Features
5.5.1. Showing help window : help
Need some help? Use the help command to pull up the user guide!
Format: help
5.5.2. Display past commands : history
If you need a reminder about what command you used in the past, Mobilize has you covered!
The history command can display a list of your typed commands in reverse chronological order!
Format: history
Pressing the ↑ and ↓ arrows will display the previous and next input respectively in the command box. |
Constraints
Note the following constraint when viewing your command history:
5.5.3. Undoing previous commands : undo
If you have accidentally made an unintended change, you can easily restore Mobilize to the state before the previous undoable command was executed!
Format: undo
Undoable commands: Commands that modify Mobilize’s content ( |
Examples:
-
delete 1
list
undo
Reverses thedelete 1
command. -
select 1
list
undo
Theundo
command fails as there are no undoable commands executed previously. -
delete 1
clear
undo
Reverses theclear
command.
undo
Reverses thedelete 1
command.
Constraints
Note the following constraint when undoing commands:
5.5.4. Redoing previously undone commands : redo
Trying to reverse the most recent command you undid? Just redo it!
Format: redo
Examples:
-
delete 1
undo
Reverses thedelete 1
command.
redo
Reapplies thedelete 1
command. -
delete 1
redo
Theredo
command fails as there are noundo
commands executed previously. -
delete 1
clear
undo
Reverses theclear
command.
undo
Reverses thedelete 1
command.
redo
Reapplies thedelete 1
command.
redo
Reapplies theclear
command.
Constraints
Note the following constraint when redoing commands:
5.5.5. Clearing all entries : clear
For a fresh start, just clear up all entries in Mobilize!
Format: clear
5.5.6. Exiting the program : exit
If you are done organizing for the day, you can easily exit the application!
Format: exit
5.6. Using the calendar
A calendar is useful for marking important dates. When you have many deadlines and birthdays to take note of, the calendar allows you to view all these important dates at a glance.
5.6.1. Marking dates
With many contacts and tasks to manage, differentiating between birthdays and deadlines on the calendar can be done with the help of colours.
Dates are marked automatically when a contact/task is added, edited or deleted. |
Examples:
-
A task has a deadline on
17 July 2017
.
The corresponding date on the calendar is marked red. -
A contact has his/her birthday on
09 December 2017
.
The corresponding date on the calendar is marked pink. -
17th July 2017
is both a task’s deadline and a contact’s birthday.
The corresponding date on the calendar is marked yellow.
Constraints
Note the following constraint on the colour of a date:
5.6.2. Viewing deadlines and birthdays
When there are many deadlines or birthdays on the same date, instead of switching between CommandMode
and using the find
command, you can just click on the date itself.
Examples:
-
17
on the calendar that represents17th July 2017
is being clicked.
Returns a list of tasks with deadlines on 17th July 2017 and a list of contacts with birthdays on 17th July 2017, respectively.
Constraint
Note the following constraints when clicking a date on a calendar:
5.7. Saving the data
Data from Mobilize is saved in the hard disk automatically after using any command that changes the data.
There is no need to save it manually.
6. FAQ
Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous Address Book folder.
7. Troubleshooting
Having trouble? Here’s a list of common errors and why they occur:
-
Error: Invalid Command Format
Occurs if a mandatory prefix has been left out. -
Error: Invaid Date Format
Occurs if the date given cannot be parsed. -
Error: Unknown Command
Occurs if the command is incorrect.
The correct usage of all commands is summarized in the next section.
8. Command Summary
Forgot some commands? Fret not! Just look up what you need in the following table!
Command |
Format |
Example |
Switch Modes |
|
|
Command |
Format |
Example |
Add |
|
|
Delete |
|
|
Tag |
|
|
Delete Tags |
|
|
Edit |
|
|
Find |
|
|
Select |
|
|
Add |
|
|
Delete |
|
|
Edit |
|
|
Archive |
|
|
Find |
|
|
Select |
|
|
Command |
Format |
Help |
|
History |
|
Undo |
|
Redo |
|
Clear |
|
Exit |
|