App Report 1 (AnkiDroid) ‐ Kotlin Subteam - ISIS3510-MOBILE-T34/T34-Wiki-SpendiQ GitHub Wiki
Full version of the App Report:
1. AnkiDroid description
General Description :ledger:
More information about Anki at the following link
Anki is a program designed to make remembering information easier. It’s more efficient than conventional study methods, allowing you to reduce study time while increasing the amount of information you can retain. The software helps you memorize content by automatically repeating it over increasing intervals based on your responses, removing the need to manually track what and when to study. You can create notes with the content you need to memorize or download pre-made decks. Anki's scheduler ensures you review content precisely when you need to.
Anki is versatile and can be used for a variety of purposes:
- Learning a language :globe_with_meridians:
- Studying for medical or law exams :books:
- Memorizing names and faces :man:
- Reviewing geography :mount_fuji:
- Memorizing long poems :page_with_curl:
- Practicing guitar chords :guitar:
- And many more possibilities!
Key Concepts :key:
Anki is based on two fundamental concepts: active recall testing and spaced repetition. Understanding these can make you a more effective learner.
-
Active Recall Testing: This method inverts traditional learning by focusing on self-testing. You create questions based on the topics you want to learn and repeatedly test yourself. By forcing your brain to retrieve the information, you enhance your learning, making it more active than passive reading.
-
Spaced Repetition: This scientifically-backed technique involves reviewing information at gradually increasing intervals. It improves memory retention and reduces the likelihood of forgetting material. Studies show that spaced repetition can significantly enhance learning efficiency and reduce study time.
Cards :page_facing_up:
In Anki, a question and answer pair is referred to as a card. This concept originates from physical flashcards where the question is on one side, and the answer is on the other. In Anki, after seeing the question, you click a button to reveal the answer. You then rate how well you remembered it, and Anki determines when you should see that card again.
Decks :blue_book:
A deck is a collection of cards. You can organize cards into different decks to focus on specific topics, instead of studying all your cards at once. Each deck can have unique settings, like the number of new cards shown daily or the interval before cards reappear.
Decks can contain sub-decks, allowing for hierarchical organization. For example, a deck named “Chinese::Hanzi” represents a “Hanzi” deck under a “Chinese” deck. If you study the “Hanzi” deck, only those cards will appear, but if you study the “Chinese” deck, cards from all its sub-decks, including “Hanzi,” will be shown.
Notes & Fields :pencil2:
When creating cards, it’s often useful to generate multiple cards from the same information. For instance, if learning French, you might want a card that asks for the English meaning of “bonjour” and another that asks for the French translation of “hello.” Anki allows you to divide the content of your cards into separate fields, like “French” and “English.” When you create or edit a note, Anki automatically updates all related cards.
Card Types :memo:
To create cards, Anki uses card types, which serve as templates defining how fields appear on the front and back of a card. For example, in the French card mentioned above, you might have a template that shows “{{French}}” on the front and “{{English}}” on the back. Anki uses these templates to automatically generate cards based on the information you input.
Note Types :black_nib:
Anki allows you to create different note types for various subjects, with each note type having its own fields and card types. It’s advisable to create distinct note types for each broad topic you study. For example, you might create a “French” note type for language study and a different note type for geography.
Anki includes some default note types when you start a new collection, such as:
- Basic: Has “Front” and “Back” fields and generates a single card.
- Basic (and reversed card): Creates two cards—one with the question on the front and another with the question on the back.
- Basic (optional reversed card): Adds an optional reverse card based on an extra field.
- Basic (type in the answer): Includes a text box for typing the answer, which is then compared to the correct answer.
- Cloze: Allows for creating cloze deletions (e.g., “Man landed on the moon in […]” → “Man landed on the moon in 1969”).
- Image Occlusion: Similar to cloze, but for images—useful for studying material like anatomy or geography that relies heavily on visuals.
Collection :notebook_with_decorative_cover:
Your 'collection' is all the material stored in Anki – your cards, notes, decks, note types, deck options, and so on.
Studying with Anki :brain:
When you have found a deck you like or entered some notes in, it’s time to start studying.
- Decks: As explained, Anki organizes study into decks and subdecks. When you select one, you can start a study session that includes new cards, learning cards, and review cards.
- Study Process: At the start, only the question is shown. After thinking of the answer, it is revealed, and you evaluate how well you remember it using buttons like "Again," "Hard," "Good," and "Easy." Depending on the chosen option, Anki adjusts the frequency with which you'll see the card again.
- Learning and Relearning Cards: This involves learning steps with different intervals, such as 1 and 10 minutes, by default. You can adjust these steps in the deck options.
- Review Cards: After learning a card, it is reviewed at longer intervals. When answering, you can mark it as "Again," "Hard," "Good," or "Easy," which influences how often it will be reviewed in the future.
- Fuzz Factor: Anki adds a small random factor to prevent cards introduced at the same time from always appearing together.
- Editing and More: During study, you can edit notes, flag cards, suspend them, and perform other actions like setting the review date.
- Siblings and Burying: Related cards (siblings) can be automatically buried to avoid appearing in the same session. This can be configured in the deck options.
- Keyboard Shortcuts: There are multiple keyboard shortcuts to facilitate studying, such as using the spacebar to show answers and select "Good."
- Falling Behind: If you fall behind, Anki prioritizes older cards. You can change the review order by creating a filtered deck.
Other features :star:
- Night mode
- Whiteboard
- Progress widget
- Detailed statistics
- Syncing with AnkiWeb
- Write answers (optional)
- Text-to-speech integration
- More than 6000 pre-made decks
- Spaced repetition (supermemo 2 algorithm)
- Supported contents: text, images, sounds, MathJax
- Add cards by intent from other applications like dictionaries
Revenue Model :moneybag:
More information about Anki's financing at the following link
Downloads
2. Repository description
Repository link: https://github.com/ankidroid/Anki-Android
Languages used
Commits
Lines of code
3. Business Questions
Type 2 Business Questions
Question 1: At what time of day do users most frequently engage in study sessions?
- Data Source: User activity logs, including timestamps of study session starts.
- Display: A heatmap in the app's statistics section showing peak study times, with a suggestion for the user's optimal study time based on their past behavior.
- Justification: This is a Type 2 question because it directly enhances the user experience by providing personalized insights on optimal study times based on their behavior.
Question 2: Which card types (text, image, audio) have the highest retention rates across all users?
- Data Source: Card review history, including card type and retention success.
- Display: A breakdown of retention rates by card type in the deck creation interface, encouraging users to incorporate high-retention card types.
- Justification: This is a Type 2 question, as it helps users optimize their learning experience by highlighting which card types lead to the highest retention.
Type */5 Business Question
Question: How does the adoption rate of new features correlate with both user satisfaction and app store ratings?
- Data Source: Feature usage logs, in-app satisfaction surveys, and app store rating data.
- Benefit: Helps prioritize feature development and allocate resources to areas that most impact user satisfaction and public perception, potentially improving user retention and acquisition.
- Justification: This is a Type */5 question because it combines Type 2's focus on improving user experience through satisfaction with Type 4's emphasis on strategic business insights by analyzing the impact of feature adoption on app store ratings.