For me, the main reason for Duolingo's drastic decline in quality is not solely due to gamification but due to their learning algorithm no longer being effective.

I was one of the early beta users and joined Duolingo in June 2012 before it was publicly available, and was a huge fan in the early days. At one point I had a streak of 1,000+ consecutive days, and even applied to work there.[0]

Back then, Duolingo used the SRS algorithm[1] and it was very helpful in keeping me on track with my learning.

The original business model was to make money from community translations.[2] I think they soon discovered that this market wasn’t nearly big enough to sustain Duolingo as a going concern, so they pivoted to an advertising-based business model.

However, the software supporting the original “translations” business model is still in place, so the way they teach you new words is prompting you with sentence pairs to translate. For example, they’ll give you an English sentence and ask you to translate it into Spanish. I find this isn’t an effective way to learn a new language because you’re not learning to think in your target language, you’re learning how to match words between your native language and the target language, which is not the same thing.

Sentence matching is unnatural and requires neural pathways that are never used by native speakers; native speakers don’t think in English and then translate into Spanish when speaking. To be able to fluently speak the language, I found that a “call and response” model is the best way to learn. For example, given a question that a real person would ask (“What do you like about your job?”), you have to creatively formulate a natural answer (“I have a lot of intellectual freedom”) without any “guardrails” of a scripted English sentence provided by the app.

“Call and response” more accurately models how people actually speak in real conversations—you take turns talking like a normal human being. It is also more difficult and requires effortful assimilation of concepts instead of just words. To learn, you must make mistakes, so the most effective learning techniques are also the most frustrating. Coming up with novel responses forces you to fully engage in the dialogue, which efficiently helps you to lay down neural pathways that you will use in a real conversation.

Duolingo is optimized for ad revenue, so they can’t give you difficult challenges because you’ll just give up. Instead, they must spoon-feed you 1:1 sentence translations or “fill in the blank” type challenges because this rewards you with a dopamine rush from their slot-machine-like “ding!” sounds and green checkmarks that pop up when you successfully fill in the blanks. Instead of encouraging you to make mistakes, Duolingo will penalize you by forcing you to redo entire lessons (instead of targeting practice towards your weaker words), sweep mistakes under the rug, or making you pay money for gems. While the paid version removes the ads, it doesn't remove the algorithm that serves lessons optimized for ad-interrupted learning.

Duolingo touts their effectiveness study[3] as evidence that its methods are scientifically supported with a claim that “an average of 34 hours of Duolingo are equivalent to a full university semester of language education”. However, this study was conducted in 2012 under Duolingo’s old SRS algorithm before they changed their teaching model to matching-based problem sets, got rid of their call and response questions, and implemented hearts, gems, and lingots that penalize mistakes, so I don't think this evidence applies to the current app anymore.

Unfortunately, due to these changes I now disrecommend Duolingo for folks wanting to learn a new language, even though it was a pivotal and cherished part of my language learning journey back in the day.

[0] https://billmei.net/blog/silicon-valley-job-search#duolingo

[1] https://en.wikipedia.org/wiki/Spaced_repetition

[2] https://www.buzzfeed.com/buzzfeedpress/buzzfeed-expands-inte...

[3] https://s3.amazonaws.com/duolingo-papers/other/vesselinov-gr...