[Learning] Flashcards (Anki integration)

Skill name: anki-flashcards-skill

User story:

As a law student I was watching out for new learning technologies all the time. I found flashcards very useful and especially the Anki flashcards app with its scientific algorithm for recalling information. Anki flashcards is a free open source program with its own API and many free flashcard decks for different learning tasks varying from every language over medicine to informatics. As a lifelong learner I want this Skill to read the question part of a deck so that I can learn cards without having to read them. Reading cards and answers for more than 3 hours a day is hard. Talking to Mycroft would be fun.

What third party services, data sets or platforms will the Skill interact with?

Mycroft may interact with Anki directly. For example via the Anki web GUI or through the API endpoints given in the Anki documentation for Add-on developers. Developers may also consider the skill to interact with the well documented AnciConnect add-on. (https://foosoft.net/projects/anki-connect/)
Especially the ‘ShowQuestion’ and ‘ShowAnswer’ command might be of the developers interest.

Are there similar Mycroft Skills already?

What will the user Speak to trigger the Skill?
‘Hey Mycroft, let’s learn some flashcards’
‘Hey Mycroft, ask me flashcards about {deck name}’

What phrases will Mycroft Speak?
A first and easy attempt would let Mycroft read the question side of the card, wait for the user to answer the question for himself/ recall the information (as he does while manually learning with the app). Then Mycroft will read the answer and finally ask the user: ‘compared to what I just said, how would you rate your answer?’

The user then decides, as he does manually within the app, if answering was wrong, hard, correct or easy.

A way more advanced future attempt might involve content analysis and rating of the given answer might be done by Mycroft. But as far as I can see this is way to complex at the moment whilst the suggested first attempt should be relatively easy.

What Skill Settings will this Skill need to store?

Using the Anki Web Account might be enough. If an external API is used, further information might be needed.
Other comments?

As I mentioned Anki is a wide spread and free learning app with a huge amount of free and some commercial cards already available plus a really big user base. I guess this skill could make a big difference for Mycroft as tool in learners everyday live thus leading to a growing user base while connecting with another piece of the open knowledge and open software universe.

Website: www.ankiweb.net

Very interesting. Didn’t even know it exist, but now agree this could be very powerfull.

+1 from me.

Thanks. Feel free to vote for this at the top of this page above my post.

Ah crap, didn’t know. Well you learn something new every day :rofl:

I used to use Anki a lot, but got burned when they deleted a lot of the “stacks” I’d made for exam prep - I suppose that’s their business model - the platform is free but you pay for the commercial decks of cards. How would we handle that use case in a Skill?

I am using Anki since I started studying. Never lost any decks. I also read the documentatiion. There is no ‘business model’ as you described. Deleting users decks from their accounts wouldn’t be a good business model I guess. Many many cards are free to download created by the users. (https://www.ankiweb.net/shared/decks/) As are the Addons. Some users created cards they sell, but the selling of these cards is not in anyway connected to the main developer Damian Elmes. He does not provide any platform for selling cards.

Do ou still use the same hard drive? Because Anki does Backups from time to time. Maybe we can recover your lost cards.

Edit: I just found there is another app for smartphones which also uses the name anki (ankiapp.com). The open source one I am talking about is located at ankiweb.net.