1. It needs parameter tuning. If you get everything right, you were re-shown cards too quickly. There's a variety of ways to tune how that happens, some by showing you cards further apart, and some by introducing more cards. Either way is fine for language learning, IMO.
2. Users hate the experience when the parameters are tuned correctly. It should be something of a struggle, and you should be failing about 20 percent of cards you see. When every card you see is on the cusp of forgetting, each card is legitimately cognitively taxing.
3. Flashcards don't really fit into society. College classes tend to be a series of topic focused exams, and once the exam has passed, any time spent on retention of knowledge gained competes with time for acquiring knowledge for the next exam. Also, folks tend not to like the idea of failing 20 percent of their exam questions due to forgetting.
After revealing the answer you should be able to say "repeat this soon, later, much later".
A different kind of app shouldn't use time at all but rather a queue of all words/cards and then put cards back a certain number of positions, depending on level and user input.
The queue system works a lot better with different timescales (practicing over short or long terms), and it doesn't tell you how much time you have to put in at any given day. It also takes less parameters, I think.
I just wish there was a good way to incorporate specific words into all that.