The whole point is the algorithm  which how Anki schedules your cards. It is based on Supermemo's , and improved a lot over the years, so I think it's the most optimal from all of the SRS software's out there.
Also I think Anki has a very simple UI, not sure how people can find it complicated. You just add cards, and by review you press a button, that's all. Cards are just HTML, but you can edit them with the built in WYSIWYG editor.
Anki is great for learning programming languages!
See the Janki method  and another blog post  how to use it effectively. I found the last one especially helpful, and started learning Programming languages based on that. It works great.
You can also learn linux commands, whatever.
People also asked for sharing cards. It is very important to make your own cards progressively and learn from those, because you know what you need to emphasize for the info to stick. Just use small information on every card, use your own terms, and it will be much easier to learn, compared to some random deck you downloaded.
An algorithm is optimal, not more, not most, just optimal.
For the case going here, you will have difficulty to prove any optimality, since the process involves humans. Efficient would be a better term than optimality.
Anki's spaced repetition algorithm is quite good and I definitely plan to boast on using a better one just like brainscape.com does but in the end, more important than which algorithm to use is to use spaced repetition at all. It just allows you to learn 20 times more with 20 minutes of time per day than I ever could back at school and far too few people know about that. If you never tried, please do it for a week or better longer as the effect kicks in only after at least some days of training the system.
In the end the actual spaced repetition algorithm used is not all that important, as long as easy stuff vanishes while hard stuff stays around.
You should check out http://ankiapp.com
The SRS algorithm uses scoring prioritization instead of intervals and I've found it to be more optimal than Supermemo/Anki.
I was an Anki desktop user for over 8 years, but I always became overwhelmed by the number of reviews due that would accumulate if I didn't stay active with the app almost every day (review hell). I've found the priority SRS model much easier when studying in small chunks (5-10 minutes at a time, 2-3 times a day).
there is also an ankidroid apk for android
i think he meant to say that using the desktop appliation isn't really good to stay on top of the cards, while using a phone makes it very manageable.
Also I prefer a desktop app, because it's open all day, and whenever I encounter a new info, I immediately put it into Anki!
Look at the above article for rules on how to make proper flashcards. SuperMemo, Anki, etc. are all good at helping you remember information, but if the flashcards are not correctly made, it's like putting water into an engine that requires gasoline. The thought that all explicit memorization is bad is a total myth; if you break any of the 20 above rules, flashcards will suffer (Trying to memorize before you understand, not learning things in list form, etc.).
One thing that I would consider somewhat of a disadvantage of an explicit repetition system is that you need to really take care of how you engineer the questions to match the way you would normally encounter the knowledge they refer to in real situations.
For example, read the section on "Two-way connections" of this article, also linked somewhere else in this thread: http://rs.io/2014/04/05/anki-10000-cards-later.html
One thing that puts Anki in an orbital beyond the other programs is the ImageOccusion editor add-on . This lets you screenshot an image, draw rectangles over labels within that image, and then generate a flashcard for each label. This works insanely well for learning anatomy.
I remember about a month ago where I had two hours to learn the names of all the tracts and nuclei inside of the brainstem for a readiness quiz. It took about 10 minutes to create flashcards for them all, and an hour to memorize. I passed the quiz. Days later fellow classmates were still struggling to remember the same information.
1 - http://tmbb.bitbucket.org/image-occlusion-2.html
On a more serious note, I've been seeing some comments asking to share Anki decks. This is fine but you should read this disclaimer first (it's about language learning, but it should apply to other areas as well). http://fluent-forever.com/personal-anki-decks/
In short, Anki works better for reviewing rather than learning things for the first time. So the most efficient way to use it would be building your own deck for a more personal experience.
However, if using shared decks, it's best to only add cards to your review log after you've learned the underlying concepts (so that it doesn't break your review rhythm).
Remember to only use photos where you can, dont use english words in it. The whole key is to skipping the "translation" step in your brain. Learn by thinking of the action, not by thinking of the english word and its translation. Getting rid of that "lookup" step is the key to getting good at learning a new language.
As for using pictures only: there are studies that show that pictures and mnemonics improve recall, but AFAIK there are no studies that say that using your native (or another known) language is bad.
The idea that our memory is organized as a mapping native-language-word -> platonic-concept or word->image->concept is just an analogy, we don't have any evidence that our brain works like that.
A trap that many learners fall into is assuming that words and grammatical structures map 1-to-1, and so they try to form sentences by translating word by word. But that's orthogonal to memorizing via pictures. Translation is ok but it must be mostly in the target-language->native-language direction.
FWIW my native language is Portuguese but I've studied 2 languages (Japanese and Hebrew) using mainly English, which is my second language.
I agree your original language is a crutch but what I've found has made get better faster is native language translations of the word. It takes a while to get comfortable doing that, but once you start doing it often enough it works very well.
And this is why you are supposed to create your own flashcards. Everyone learns differently and your self-guided learning is no different.
Personally I use pictured even for abstract stuff, I just try and find a picture that says "hopeful" or "amazing" for me and then I use that as my picture since I figure it'll forge the connection.
That said, you can still use pictures together with example sentences. You don't have to find a picture that unambigously means "hope". It can be a picture of the Red Sox or your $favorite_underdog for instance, the dvd cover of a movie related to hope, etc. The point is to improve recall, not "skip the translation step".
It's really useful for courses in college, especially Language, Biology, Chemistry, and Physics for definitions, pronunciations, systems, etc.
Math and Computer Science is a bit hard since a lot of that requires practice and it takes time to figure out how to structure those cards.
Anyways, highly recommend them.
For example, my deck is currently German to English. As an experiment, once I reversed the deck for a while (making it English to German) and suddenly it became much harder. Maybe the solution is using two-way decks for vocabulary acquiring, so that you can not only read a word in German and understand it, but also want to - for example - search for something in German on Google and know it.
Or, maybe the way to go (for languages, at last) is just set the deck to Source Language* to Destination Language (in my case, English to German). Anyone has experience with that?
The linked article about "Why" questions was also a good find for me (http://rs.io/2014/02/25/why-questions-reveal-structure.html).
* Actually, English is not even my first language, but I'm comfortable with it enough to consider it a strong enough base to build on another language, mostly because there's more material in English than Portuguese about pretty much anything.
Side A: This library is the de-facto standard for http in python.
Side B: What is the "requests" library?
¹Actually, this is sort of covered by the translation exercises, but since there is not a system to manage the reviewing of new words you learn there, I think it's inferior to a flashcard system.
It's just a flash card system on steroids. If you know how to use a flash card system appropriately then this is a pretty powerful substitute.
If that means using it to review and remember specific answers to WHY questions (Why is the sky blue?) for the rest of your life, all power to you. Keep reviewing. However, I think the moment you start asking these conceptual questions you're no longer just trying to remember - you're trying to understand. That's not what flash-cards are designed for.
Instead, you might actually want to look at the sky. Do experiments. Meet experts.
In the process, you will come up with new questions and new answers to old questions. More importantly, as a result of this adventure you will not only remember, but also learn. I wonder if Newton used flash-cards.
I believe you misunderstood the use I have in mind for the WHY questions. The idea is not to create cards for things you are trying to understand, but for things you already understood.
These things you describe are about learning. Flash cards/Spaced Repetition Systems come AFTER learning. Say, for example, you meet an expert and because of that have a great insight about issue X. Truly, real "insights" take longer to forget than rote memorized facts. But can you say you will remember this insight in 6 months if you don't serendipitously encounter it again? 1 year? 5 years?
That's where a reviewing system comes into place. And it's not because such a system is designed for things that mostly need to be rote memorized that you can't use the "question" as a trigger to revisit something of a different nature.
Good point. I think I misunderstood your intention behind asking why questions.
For me, doing a lot of exercises only once has worked worse than doing some key exercises more than once, and by using spaced repetition software (Anki, Flashcards Deluxe, etc) you can leverage its systems to get an optimized "schedule" for solving/revisiting exercises for math, physics, etc, so you don't have to worry about timing issues (like how many sessions of studying, and how long/frequent they should be).
That being said it is still the best software out there that I've found for this type of thing. I hope something better comes along at some point.
I use this daily for my foreign language studies. It has less features than Anki, but the interface is pretty clean, intuitive to use, and has a powerful plugin system. Plus, the whole thing is open source, written in Python, and highly extensible.
Maybe I should build an app for ios as a side project.
I've also got a maths and a stats deck where I've been adding formulas (it supports Latex) as I progress in a couple of courses I've been taking. If you are studying at University, School, doing a MOOC or learning a language Anki is an incredible tool.
The main problem is that you really need to be using it most days. If you fall behind your backlog builds up and its use as a tool becomes much less useful. I commute on the tube most days so that hasn't been much of an issue for me, but when on holiday, traveling etc its easy to fall behind.
Not strictly SRS but much better UI, mobile apps, audio, etc.
But luckily it's been forked and now lives on as iVocabulary:
I don't know if it's strictly an SRS app or not? It's certainly smart though, and is available on OS X and iOS and has a web interface too.
SRS is really THAT important to flash cards.
Find the export button on the upper right of Quizlet's website, and select tab delimited and new line termination. Copy paste this into a text editor. Now you can just click the import button in Anki and it's pretty straightforward!
Personal ranking: Studyblue > Quizlet > Anki
There are also credit card passwords, employee-issued benefit cards (I for example have a different card - and different passwords - for a meal card, a groceries card and a fuel card).
So, lately I've been randomly generating those and memorizing them with flashcards in a spaced repetition system. Has worked very well for me, with about 10 random 4-8 digit numeric passwords to remember.
This could be a huge problem if your phone/laptop/whatever is stolen.
Ideally I would have a reminder in my Anki deck to log into some service, but I spend most of the time on Anki via phone and it'd be a PITA to stop my current session and laboriously type out long passphrases on the tiny iphone screen.
I'd be interested if anyone else has found a better solution than this.
To avoid doing it on your phone, could you put those cards in a separate deck, or use tagging?
What's the password for Service X?
( Check answer on 1Password )
I know I will, anyway. And since Anki is open source and free I feel that the price will keep him motivated to improve on all things.
If one has 20 minutes to spare a day there is no reason one cannot gain a > 1000 word vocabulary in a foreign language in a matter of months. Anki comes highly recommended for vocabulary building.
Python module stuff. It's not my main language, so I tend to forget exact names for functions in modules. I.e. what was that function that did that thing? Is it in os or os.path? If I look something up on stack overflow or in the Python module docs, I tend to create an Anki card for it.
Same for Cocoa / Obj-C
But about a year ago, I gave up Supermemo. Because it's really buggy and bloated. I was so worried about my data that I used to back up my data into a zip file every day. Then I decided that I shouldn't trust a buggy closed source software like SuperMemo to protect my data. If it died, I would have trouble converting my data to other formats.
When I was considering the alternatives, I chose Mnemosyne instead of Anki. Because Mnemosyne seems cleaner, and its author is doing some research on human memory which made me think that its algorithm could be better than Anki.
The interface is quite clunky, but it's good enough, and with Latex and media support quite powerful. Probably not fluffy enough for the general public, though.
What do I mean by knowing how to learn effectively?
* Understanding the basics (js is a dynamically typed scripting language)
* Understanding all the connections (variables are actually object properties!)
* Asking a lot of questions
It's an SRS like Anki with a focus on integrating real video content like Anime into the learning process.
My advice would be not to rely too much on Anki. I considered it as a silver bullet because it was so much better that using a notebook (like I did in my childhood), that was a mistake.
Find other way to practice. Take lessons (maybe one day I'll try these Skype conversion offers), read articles, watch tv show with subtitles, find people you cant talk to…
Its power comes from using it with those tools. I always struggle to memorize a word or kanji if the first time I see a word or kanji is in the program. It just isn't the right tool for that. But when I make cram decks for whatever chapter I'm studying at the moment, it becomes extremely easy to memorize that information.
In college I always did ok my vocabulary and kanji test but I was always spending hours doing it and it wasn't fun. When I got higher up and setup Anki to review only words from the current chapter I never really had to worry anymore about my quizzes because the information was already in my head. My scores consistently stayed high on those quizzes ever since. Once the current chapter was over I would add the information to the much larger deck of what I've studied already and exam season wasn't bad either because I never had a chance to forget any words.
In conversational Japanese it's rarely an issue. Don't sweat it. Just avoid learning 2 homophones at the same day/week so that you don't get confused.
Unfortunately AnkiWeb isn't a cure for my cheapskate problem, because the signal is so bad on my commute!
I do this myself and it works well: most of my Anki reviews each day take place using my phone when travelling without any signal on the metro.
There is some really valuable advice in the Supermemo website. and Gwern's post on spaced repetition, which I posted a link to elsewhere in this thread, is fantastic if you want to take a deep dive.
(But it's free so what shall I complain? And people here seem to have a different view than me)
Medical student here. I've tried many flashcard programs (StudyBlue, Quizlet, gFlashcard, MentalCase, and more), and Anki is by far the best for my needs.
1 - http://tmbb.bitbucket.org/image-occlusion-2.html
Mentally, I transcribe it as CAPS LOCK, and ignore what is written. Should I interpret it in another way?