User Interface Improvements to Duolingo

jackbellis.com
4 min readMar 17, 2025

--

I’ve been using Duo Lingo for about a month now and it’s a wonderful app. I like that it has the most variety of ‘modalities’ that I’ve encountered in a language learning system… but I’m mostly comparing it to the various options before the world of phone apps.

Here’s what it could improve to become not just wonderful but loveable:

  1. Enable swiping left/right to go to the previous/next exercise. I’m showing explicit left-right arrows in the following mockup to reinforce it but I’d be OK without visible buttons. And I’d also be OK not supporting Next unless the user previously went back (left).
  1. Enable configuring the “continue” interaction to advance automatically without clicking the Continue button. Perhaps enable it to be set to [Automatic | x Seconds | Must Click]. When there is significant feedback or corrections, that’s an exception situation and any auto-advance should be suppressed. Note that this is a great example of Jef Raskin’s notion, in The Humane Interface, of “not asking for confirmation when you mean undo…” (or words to that effect). In other words, stop it with all the damn confirming, and instead just make sure people can go backwards if they need to!
  2. Enable all of what I’ll call the ‘interstitial’ stuff (congratulations, sharing, progress) to be configurable to disappear. I find approximately 75% of such content gratuitous and annoying. I will not dispute the general value of both rests and gamification, but neither are valuable to me. Bellis’s Law: computers are the one place on Earth that finally SHOULD be all things to all people. Fix it.
  3. When clicking a lesson button on the home page, if it has only one option, stop displaying the “Start…” graphic! It’s been 43 years since the fucking computer revolution; when will programmers stop displaying ‘lists’ of one item when there is virtually no use case for it. (Again a caveat for the argumentative readers — you know who you are — I’m not arguing for making ‘lists of one’ completely unavailable… you just shouldn’t force the user to see and click on them.)
  1. And change “XP” to the word “Points.”
  2. In addition to making some classes of interstitial stuff configurable to be hidden, just remove crap like the following. Were your instructional designers on mushrooms when they added this one?
  1. Go through the entire system, and wherever there is a French audio element — even AFTER responding to an exercise correctly — make sure there is a ‘speaker’ icon and the ability to listen to the French audio.
  2. Wherever there are interstitial headings or other supporting text in English, such as “Falstaff’s Guide,” continue to display it in English but announce such text in French… simply to add one more place where we hear French.
  1. The interaction where you choose and speak one of two text responses to an audio prompt is slightly bothersome to me, but I acknowledge that this one isn’t a slam-dunk. I think the intention is that the user simply speaks one of the two choices and the system detects whether you are announcing the right choice. I think it should allow you to 1) tap your choice 2) repeat both choice’s announcements. Below are the before and after versions. Correcting it is a little tricky: 1) After an answer choice has been clicked and the user speaks the answer, change the microphone icons to speaker icons (and enable playback of the professional pronunciation); 2) Change the Continue button to a “Check” button like on some other interactions so the answer isn’t registered immediately upon clicking.

--

--

jackbellis.com
jackbellis.com

No responses yet