By: Team F12-B3 Since: Jan 2018 Licence: MIT

1. Introduction

Media Socializer (MeSo) is for those who prefer to use a desktop app for managing contacts. More importantly, MeSo is optimized for those who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, MeSo can get your contact management tasks done faster than traditional GUI apps. Interested? Jump to the Section 2, “Quick Start” to get started. Enjoy!

2. Quick Start

  1. 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.
  2. Download the latest addressbook.jar here.

  3. Copy the file to the folder you want to use as the home folder for your Address Book.

  4. Double-click the file to start the app. The GUI should appear in a few seconds.

    Ui
  5. Type the command in the command box and press Enter to execute it.
    e.g. typing help and pressing Enter will open the help window.

  6. Some example commands you can try:

    • list : lists all contacts

    • addn/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 : adds a contact named John Doe to the Media Socializer.

    • delete3 : deletes the 3rd contact shown in the current list

    • exit : exits the app

  7. Refer to Section 3, “Features” for details of each command.

3. Features

Command Format

  • Words in UPPER_CASE are the parameters to be supplied by the user e.g. in add n/NAME, NAME is a parameter which can be used as add n/John Doe.

  • Items in square brackets are optional e.g n/NAME [t/TAG] can be used as n/John Doe t/friend or as n/John Doe.

  • Items with ​ after them can be used multiple times including zero times e.g. [t/TAG]…​ can be used as   (i.e. 0 times), t/friend, t/friend t/family etc.

  • Parameters can be in any order e.g. if the command specifies n/NAME p/PHONE_NUMBER, p/PHONE_NUMBER n/NAME is also acceptable.

3.2. Logging in : login [Since v1.5]

Logs into a social media platform using the user’s account information.
Format: login SOCIALMEDIA

  • A login window will pop up upon entering the command.

Examples:

  • login facebook
    Open the login window to facebook where the user can input his account and password.

3.3. Adding a person: add

Adds a person to the address book.
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…​

A person can have any number of tags (including 0)

Examples:

  • add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01

  • add n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Prison p/1234567 t/criminal

3.4. Listing all persons : list

Shows a list of all persons in the address book.
Format: list

3.5. Editing a person : edit

Edits an existing person in the address book.
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…​

  • Edits the person at the specified INDEX. The index refers to the index number shown in the last person listing. The index must be a positive integer 1, 2, 3, …​

  • At least one of the optional fields must be provided.

  • Existing values will be updated to the input values.

  • When editing tags, the existing tags of the person will be removed i.e adding of tags is not cumulative.

  • You can remove all the person’s tags by typing t/ without specifying any tags after it.

Examples:

  • edit 1 p/91234567 e/johndoe@example.com
    Edits the phone number and email address of the 1st person to be 91234567 and johndoe@example.com respectively.

  • edit 2 n/Betsy Crower t/
    Edits the name of the 2nd person to be Betsy Crower and clears all existing tags.

3.6. Locating persons by name: find

Finds persons whose names contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]

  • The search is case insensitive. e.g hans will match Hans

  • The order of the keywords does not matter. e.g. Hans Bo will match Bo Hans

  • Only the name is searched.

  • Only full words will be matched e.g. Han will not match Hans

  • Persons matching at least one keyword will be returned (i.e. OR search). e.g. Hans Bo will return Hans Gruber, Bo Yang

Examples:

  • find John
    Returns john and John Doe

  • find Betsy Tim John
    Returns any person having names Betsy, Tim, or John

3.7. Locating persons by tag: findtag [Since v1.2]

Finds persons whose tags contain any of the given keywords.
Format: findtag KEYWORD [MORE_KEYWORDS]

  • The search is case insensitive. e.g Friends will match friends

  • The order of the keywords does not matter. e.g. friends classmate will match classmate friends

  • Only the tags are searched.

  • Only full words will be matched e.g. friend will not match friends

  • Persons matching at least one keyword will be returned (i.e. OR search). e.g. friends classmates will return persons with tags friends and neighbour, owesMoney friends

Examples:

  • findtag friends
    Returns any person having tags friends

  • find friends classmate neighbour
    Returns any person having tags friends, classmate, or neighbour

3.8. Deleting a person : delete

Deletes the specified person from the address book.
Format: delete INDEX

  • Deletes the person at the specified INDEX.

  • The index refers to the index number shown in the most recent listing.

  • The index must be a positive integer 1, 2, 3, …​

Examples:

  • list
    delete 2
    Deletes the 2nd person in the address book.

  • find Betsy
    delete 1
    Deletes the 1st person in the results of the find command.

3.9. Adding social media platforms to a person : addplatform [Since v1.3]

Adds social media platforms to an existing person in the address book by providing the associated profile links.
Format: addplatform INDEX [l/LINK]…​

  • Adds the social media platforms by editing the person at the specified INDEX. The index refers to the index number shown in the last person listing. The index must be a positive integer 1, 2, 3, …​

  • Existing values will be updated to the input values.

  • During this operation, the existing platform links of the person that are unchanged will be retained i.e adding of platforms is cumulative.

  • You may only store a single link for each social media platform.

  • You can remove all the person’s social media platforms by typing l/ without specifying any links after it.

Valid Facebook Link Forms Valid Twitter Link Forms
  • https://www.facebook.com/<profile username>

  • https://facebook.com/<profile username>

  • http://www.facebook.com/<profile username>

  • http://facebook.com/<profile username>

  • www.facebook.com/<profile username>

  • facebook.com/<profile username>

  • facebook.com/profile.php?id=<user profile id>

  • https://www.twitter.com/<username handle>

  • https://twitter.com/<username handle>

  • http://www.twitter.com/<username handle>

  • http://twitter.com/<username handle>

  • www.twitter.com/<username handle>

  • twitter.com/<username handle>

It is not guaranteed that the link provided leads to an available page. Links are accepted so long as they match any of the patterns as defined above. This feature will be improved to test for broken/removed pages in future releases.

Examples:

  • addplatform 1 l/www.facebook.com/johndoe
    Adds the Facebook platform with the link www.facebook.com/johndoe to the 1st person.

  • addplatform 2 l/
    Clears all existing social media platforms of the 2nd person.

3.10. Removing stored platforms of a person : removeplatform [Since v1.4]

Removes the specified social media platforms of the stated person.
Format: removeplatform INDEX [smp/PLATFORM]…​

  • Removes the social media platforms by editing the person at the specified INDEX. The index refers to the index number shown in the last person listing. The index must be a positive integer 1, 2, 3, …​

  • You can remove all the social media platforms of a person by not specifying any platform fields.

  • Unrecognised platforms will be ignored during execution.

Examples:

  • removeplatform 1
    Removes all social media platforms tied to the 1st person.

  • removeplatform 2 smp/twitter
    Removes the Twitter platform from the 2nd person.

3.11. Sorting all persons : sort [Since v1.2]

Sorts all persons in the address book alphabetically and then displays the current list in sorted order.
Format: sort

3.12. Search for profile : search [Since v1.5]

Search for the specified profiles on available social media platform within the application.
Format: search [PLATFORM,] KEYWORD

  • The PLATFORM is an optional input. It indicates the social media platform to perform the search on.

  • If no PLATFORM is entered, the search will be performed on all platforms available.

  • To indicate the platform, the user can enter the name of the platform (e.g. facebook) or use the inbuilt alias (e.g. fb)

  • Currently available platform and the respective alias:

    • 1) facebook (alias: fb)

    • 2) twitter (alias: tw).

  • The KEYWORD is the name to be searched for.

  • Make use of the search function of the respective social media platform.

Examples:

  • search john Search with keyword "john" on all the social media linked with the application and display the search result in the browser window under the respective tabs.

  • search fb, tom
    Search with keyword "tom" on Facebook and display the search result in the browser window under the Facebook tab.

  • search twitter, tom
    Search with keyword "tom" on Twitter and display the search result in the browser window under the Twitter tab.

3.13. Selecting a person : select

Selects the person identified by the index number used in the last person listing.
Format: select INDEX

  • Selects the person and loads the social media linked to the stored person at the specified INDEX.

  • The index refers to the index number shown in the most recent listing.

  • The index must be a positive integer 1, 2, 3, …​

Examples:

  • list
    select 2
    Selects the 2nd person in the address book.

  • find Betsy
    select 1
    Selects the 1st person in the results of the find command.

3.14. Listing entered commands : history

Lists all the commands that you have entered in reverse chronological order.
Format: history

Pressing the and arrows will display the previous and next input respectively in the command box.

3.15. Undoing previous command : undo

Restores the address book to the state before the previous undoable command was executed.
Format: undo

Undoable commands: those commands that modify the address book’s content (addplatform, removeplatform, add, delete, edit, sort and clear).

Examples:

  • delete 1
    list
    undo (reverses the delete 1 command)

  • select 1
    list
    undo
    The undo command fails as there are no undoable commands executed previously.

  • delete 1
    clear
    undo (reverses the clear command)
    undo (reverses the delete 1 command)

3.16. Redoing the previously undone command : redo

Reverses the most recent undo command.
Format: redo

Examples:

  • delete 1
    undo (reverses the delete 1 command)
    redo (reapplies the delete 1 command)

  • delete 1
    redo
    The redo command fails as there are no undo commands executed previously.

  • delete 1
    clear
    undo (reverses the clear command)
    undo (reverses the delete 1 command)
    redo (reapplies the delete 1 command)
    redo (reapplies the clear command)

3.17. Clearing all entries : clear

Clears all entries from the address book.
Format: clear

3.18. Exiting the program : exit

Exits the program.
Format: exit

3.19. Saving the data

Address book data are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.

3.20. Encrypting data files : encrypt [Coming in v2.0]

Encrypt the specified person from the address book so that password will be required to view the information of the specified person.
Format: encrypt INDEX

  • Encrypts the person at the specified INDEX.

  • The index refers to the index number shown in the most recent listing.

  • The index must be a positive integer 1, 2, 3, …​

Examples:

  • list
    encrypt 3
    Encrypts the 3rd person in the address book.

  • find Betsy
    encrypt 1
    Encrypts the 1st person in the results of the find command.

3.21. Make a post : post [Coming in v2.0]

Publish a post on the specified social media.
Format: post SOCIALMEDIA/MESSAGE

  • User is required to login to their social media account.

  • If not logged in, the application will prompt for the user to login.

Examples:

  • post facebook/Sample post.

3.22. Logout from all the linked platform : logoutall [Coming in v2.0]

Logout from all the social media platform that the user has logged in.
Format: logoutall

  • After this command, when the person is selected, the tab for the removed platform will not be shown.

  • If the platform specified was not stored in the first place, the application prompt the user.

Examples:

  • list
    removeplatform 3 facebook
    Search with keyword "John" on facebook and display the search result in the browser window under the respective tabs.

4. 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.

5. Command Summary

  • Login : login facebook

  • Add : add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…​
    e.g. add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/friend t/colleague

  • Clear : clear

  • Delete : delete INDEX
    e.g. delete 3

  • Edit : edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]…​
    e.g. edit 2 n/James Lee e/jameslee@example.com

  • Find : find KEYWORD [MORE_KEYWORDS]
    e.g. find James Jake

  • Find with Tag : findtag KEYWORD [MORE_KEYWORDS]
    e.g. findtag friends neighbour

  • List : list

  • Sort : sort

  • Help : help

  • Select : select INDEX
    e.g.select 2

  • Add Platform : addplatform INDEX [l/LINK]…​
    e.g. addplatform 1 l/www.facebook.com/james.ho

  • Remove Platform : removeplatform INDEX [smp/PLATFORM]…​
    e.g. removeplatform 1 smp/facebook

  • History : history

  • Undo : undo

  • Redo : redo