By: FlashSpeed Foundation Since: Feb 2020 Licence: MIT

1. Introduction

FlashSpeed is a text-based flashcard application specifically designed for university students who are learning a foreign language. University students often have hectic schedules. With this in mind, FlashSpeed was created to allow students to be able to study and revise foreign vocabulary on the fly. With a single command, you can start a quick study session on FlashSpeed whenever!

Keeping, flipping, and tracking physical flashcards can be a pain. FlashSpeed enhances the studying process by having virtual flashcards and a smarter review system. Users will be tested more frequently on flashcards that they had trouble memorizing previously. By using FlashSpeed, you will learn faster and remember for longer!

This guide will walk you through the many exciting features of FlashSpeed as well as give step-by-step instructions on how to use them. Helpful tips and notes are also provided!

We hope you enjoy using our app. Happy FlashSpeeding!

2. Language Support

FlashSpeed can support almost every popular language and their associated script. You can even use emojis in your cards! 😍

You can use FlashSpeed to study:

  • Japanese

  • Korean

  • French

  • Spanish

  • German

  • Hindi

  • Russian

  • …​and many more!

The display of the characters may be limited to your own operating systems’s language support. Please refer to your operating system’s manual or user guide to find out the languages and scripts supported.
Technical info: FlashSpeed, which is built with Java, supports the Unicode standard with UTF-16 character encoding for textual representation.

3. Quick Start

Getting FlashSpeed up and running is fast and easy. Follow these simple steps to get started!

  1. Ensure you have Java 11 installed in your computer.

  2. Download the latest flashspeed.jar file here. This is the entire FlashSpeed app in one convenient package.

  3. Copy flashspeed.jar to a folder of your choice. This will be FlashSpeed’s home folder. All files created by FlashSpeed will be automatically stored here.

  4. Double-click flashspeed.jar to start it. FlashSpeed will appear in a few seconds.

  5. Type a 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:

    • createJapanese 1 : creates a deck named Japanese 1 in the library

    • remove3 : removes the 3rd deck shown in the decks list

    • exit : exits the app

  7. Refer to Section 4, “Features” for details of each command or Section 6, “Command Summary” for a condensed view of all commands.

4. Features

Command Format and Input

  • Words in <> are the command parameters to be supplied by you,
    e.g. for the command format of create <deck>, <deck> is a parameter of your choice, such as create Japanese 1.

  • All parameters will have any leading and trailing whitespace removed before being processed,
    e.g. <deck> is equal to <deck> .

Different Views

A view is simply the state or mode of FlashSpeed you are in now. You will be able to identify the view you are in from what you are currently seeing in FlashSpeed.

Some commands only work in certain views. Don’t worry, this guide will tell you all you need to know!

FlashSpeed can be in one of 3 different views, namely:

  • Library view: when no deck is selected and no cards are shown

library
Figure 1. In Library view. No deck is selected.


  • Deck view: when a deck is selected and its cards are shown

Ui
Figure 2. In Deck view. A deck has been selected.


  • Play view: when in a study session of a deck

Ui2
Figure 3. In Play view. A deck is being studied.


4.1. General

4.1.1. Viewing help : help

Format: help

You can view this user guide in a new popup window by typing help in the input box and pressing Enter.

You can close the help window either by clicking on the close button or pressing Alt+F4 while the help window is in focus.


4.1.2. Exiting the program : exit

Format: exit

You can exit FlashSpeed by typing exit in the input box and pressing Enter. Bye!


4.1.3. Resetting the library : reset

Format: reset

If you want to delete everything in the library to start fresh, you can choose to reset the library. Simply type reset in the input box and press Enter.

You cannot reset the library while in Play view.
reset
Figure 4. After resetting. A new start!


4.2. Library view

Even though the commands in this section are mainly library based, you can use them in both the Library view and Deck view!
library
Figure 5. No deck selected. You’re now in Library view.


4.2.1. Creating a deck : create

Format: create <deck>

  • Formal definition: Creates a deck with the deck name specified by the user. The deck name cannot be empty.

After downloading and setting up FlashSpeed, you’re all set to go! But before anything else, you will have to first create a deck. The process of creating a deck in FlashSpeed is easy.

Let’s say you want to create a deck to revise some Japanese verbs to prepare for your upcoming test. To do so:

  1. Firstly, type create followed by the deck name into the input box.

    • e.g. create Japanese Verbs

      create1
      Figure 6. Typing the command to create the Japanese Verbs deck.
  2. Press Enter.

  3. Voila!

    create2
    Figure 7. After creating the Japanese Verbs deck.


4.2.2. Selecting a deck : select

Format: select <index>

  • Formal definition: Selects and shows all cards in the deck at the specified index. The index refers to the index number shown in the displayed decks list. The index must be a positive integer 1, 2, 3, …​

If you want to view the cards in a particular deck, you can use select followed by the deck’s index number. The index number is the number to the left of its name. After selecting a deck, FlashSpeed will enter the Deck view and show all the cards in that deck.

In the Deck view, you can use any of the Deck mode commands listed in 3.3. Deck view.

Example:

  • select 1
    Selects and shows all cards in the 1st deck.

Ui
Figure 8. Selecting a deck and showing its cards.


4.2.3. Removing a deck : remove

Format: remove <index>

  • Formal definition: Removes the deck in the library at the specified index. The index refers to the index number shown in the displayed decks list. The index must be a positive integer 1, 2, 3, …​

Similarly, you can remove a deck in the library using remove followed by the index number of that deck. Bye bye, deck!

Examples:

  • remove 2
    Removes the 2nd deck from the library.

remove
Figure 9. After removing the Japanese Verbs deck. It’s gone.


4.2.4. Renaming a deck : rename

Format: rename <index> <deck>

  • Formal definition: Renames the deck in the library at the specified index. The index refers to the index number shown in the displayed decks list. The index must be a positive integer 1, 2, 3, …​

You can rename a deck in the library using rename followed by the index number of the deck and the new name of the deck.

The deck name cannot by empty.

Examples:

  • rename 2 Japanese Verbs
    Renames the 2nd deck in the library to "Japanese Verbs".

rename
Figure 10. After renaming a deck from "Korean" to "Japanese Verbs". Wow, what a change.


4.2.5. Playing a deck : play

Format: play <index>

  • Formal definition: Starts a study session with the deck in the library at the specified index. The index refers to the index number shown in the displayed decks list. The index must be a positive integer 1, 2, 3, …​

Alright, this is what you’ve been waiting for! In order to start a study session with a certain deck, type play followed by the deck’s index number and press Enter. Good luck on your learning journey. FYI: we "play" a deck because learning is fun!

Example:

  • play 1
    Starts a study session with the 1st deck in the library.

Ui2
Figure 11. Studying/Playing the Japanese deck.


4.3. Deck view

Important: All commands in this section can only be used in Deck view. To enter Deck view, you must select a deck.
Ui
Figure 12. After selecting a deck. You’re now in Deck view.


4.3.1. Adding a card : add

Format: add <front>:<back>

  • Formal definition: Creates a card and adds it to a deck, with the front and back values of the card specified by the user. Both the front and back values cannot be empty.

  • One and only one colon (":") can be used in this command. Since a colon is used as the separator, there should not be any colons in the front or back values.

Alright, after creating a new deck and giving it a great name, what’s next? Adding cards into the deck, of course!

Once again, the process is easy:

  1. Select the deck to which you want to add cards, with the select command.

    e.g. select 1

  2. Inside the input box, type:

    • add, followed by

    • the word/sentence that you want as the front of the card, then

    • a colon ":" right after, and finally

    • the word/sentence that you want as the back of the card.

      e.g. add ありがとう:thanks

  3. Press Enter.

  4. Voila!

    add
    Figure 13. Adding a new card into the Japanese deck.


4.3.2. Editing a card : edit

Format 1: edit <index> <front>:<back>
Format 2: edit <index> :<back>
Format 3: edit <index> <front>:

  • Formal definition: Edits the card in the current deck at the specified index. The index refers to the index number shown in the displayed cards list. The index must be a positive integer 1, 2, 3, …​

  • Existing values will be updated to the given values.

  • Empty values for the front or back will leave the original front or back intact.

  • One and only one colon (":") can be used in this command. Since a colon is used as the separator, there should not be any colons in the front or back values.

You can edit the front and/or back values of any card in the current deck. The way to do so is similar to the add command as shown before.

Type edit, followed by the index number of the card to be edited, then the new front value, then a colon (":"), and finally the new back value.

You don’t have to supply both the front and back values of a card if you only want to change one of them, i.e. if you only wish to change the back of a card, front can be left blank, and vice versa.

Examples:

  • edit 2 ありがとう:thanks
    Edits the front and back values of the 2nd card in the deck to be ありがとう and thanks respectively.

  • edit 2 :thanks
    Edits the back value of the 2nd card in the deck to be thanks.

  • edit 2 ありがとう:
    Edits the front value of the 2nd card in the deck to be ありがとう.

edit
Figure 14. Editing the 2nd card’s back value from "thank you" to "thanks".


4.3.3. Deleting a card : delete

Format: delete <index>

  • Formal definition: Deletes the card in the current deck at the specified index. The index refers to the index number shown in the displayed cards list. The index must be a positive integer 1, 2, 3, …​

You can delete a card from the selected deck by using delete followed by the index number of that card.

Examples:

  • delete 3
    Deletes the 3rd card in the current deck.

delete
Figure 15. After deleting the 3rd card in the current deck. It’s not there anymore.


4.3.4. Returning to the library : return

Format: return

Once you’re done viewing or modifying the selected deck, you can return to the Library view with return, i.e. no deck will be selected.

library
Figure 16. Returned to the Library view. No deck selected!


4.4. Play view

Format: play <index>

Important: All commands in this section can only be used in Play view. To enter Play view, you must play a deck.

This is what you will see when you test yourself. Strengthen your memory by frequently reviewing your cards! When playing a deck, each card will initially only show its front face to allow you to recall its associated back face.

Ui2
Figure 17. Playing the Japanese deck. がんばってください。 Ganbatte kudasai!


4.4.1. Flipping a card : flip

Format: flip

Are you ready to reveal the back face of the card? Let’s flip it to check if your memory is spot on. To flip a card, simply type flip into the input box and press Enter.

flip
Figure 18. Flipping to reveal the back face of the card. Did you get it right?


4.4.2. Answering : yes/no

Format: yes or no

Were you able to recall the correct back value?
If you could, type yes into the input box and press Enter. Congratulations!
If you could not or your guess was incorrect, type no into the input box and press Enter. Don’t give up!

You can only answer after flipping the card.
If you answered no for a card, you will have an opportunity to see it again later in the same session. FlashSpeed optimizes for cards you find difficult.
yes
Figure 19. The next card (if any) will be immediately shown after answering.


4.4.3. Stopping a session: stop

Format: stop

A play session will end automatically when there are no more cards to review. However, you can also stop an ongoing session immediately by typing stop into the input box and pressing Enter. But of course, try your best and don’t use this too often!

The session statistics will be shown either after completing a session or after manually stopping.
You can close the statistics window either by clicking on the close button or pressing Alt+F4 while the statistics window is in focus.
stop
Figure 20. Statistics shown after manually stopping the session. You will also see it if you complete a session.


4.5. Save data

All data in FlashSpeed (e.g. decks, cards) is saved automatically. It is all neatly placed in the folder you put FlashSpeed in.
You don’t have to worry about saving your precious flashcards manually!

5. FAQ

Q: Does this application require an Internet connection?
A: No, FlashSpeed does not require an Internet connection to use.

Q: What is the maximum length of text I can enter into a flashcard?
A: The flashcard method of studying benefits from succinct and concise flashcards. Even though FlashSpeed does not limit the maximum length of text that can be entered and stored, it will only show the text up to the size of the available display space. Therefore, we recommend keeping any text under 60 characters.

Q: How do I save my data?
A: FlashSpeed automatically saves your data whenever you make a change. There is no need to save manually.

Q: Will my data be sent anywhere else or shared with third parties?
A: Your data is stored locally on your own computer. FlashSpeed does not use any Internet connection so no data can be sent to any online servers.

Q: How do I transfer my data to another computer?
A: Simply copy the data folder in FlashSpeed’s home folder over to the home folder in the other computer.

Q: How do I update FlashSpeed to the latest version when there is an update?
A: You can check for any updates to FlashSpeed here. You can then follow the same instructions as found in Section 3, “Quick Start”.

Q: I am not able to run this application. What can I do?
A: Refer to Section 3, “Quick Start” for the installation guide. Ensure that your computer has Java 11 installed. FlashSpeed may not be able to run on other versions of Java. Alternatively, you can contact us here for any further help.

6. Command Summary

  • Help : help

  • Exit : exit

  • Reset : reset

  • Select : select <index>
    e.g. select 2

  • Create : create <deck>
    e.g. create Japanese 1

  • Remove : remove <index>
    e.g. remove 2

  • Rename : rename <index> <deck>
    e.g. rename 2 Japanese Verbs

  • Play : play <index>
    e.g. play 2

  • Add add <front>:<back>
    e.g. add ありがとう:thanks

  • Edit : edit <index> <front>:<back> or edit <index> :<back> or edit <index> <front>:
    e.g. edit 1 ありがとう:thanks or edit 1 :thanks or edit 1 ありがとう:

  • Delete : delete <index>
    e.g. delete 3

  • Return : return

  • Flip : flip

  • Yes : yes

  • No : no

  • Stop : stop

View

Command

Library

Deck

Play

help

exit

reset

select

create

remove

rename

play

add

edit

delete

return

flip

yes

no

stop