1. Forum
  2. >
  3. Topic: Duolingo
  4. >
  5. What We Want From Duo

What We Want From Duo

[deactivated user]

    I've been using Duolingo for almost 6 months. I've seen courses hatch, I've completed a tree, and I've interacted on the forums for my fair share of time.

    In my experience, it's obvious that Duolingo is an excellent site for anyone to embrace a new language and establish a very strong foothold. I appreciate this site so much, and all of the work that goes into it, and I even recommend it to friends.

    Keeping that in mind, Duo has its shortcomings, of which we are all aware, as does every site. However, there are a select handful of very important changes or updates that many community members want from Duo, whose importance is above that of others.

    It is not my intention to speak on behalf of everyone in the community, but rather to convey in an orderly manner many of the complaints, ideas, and potential improvements that could be made.

    As this post is commented on, as points are made, and as ideas are shared, I will edit accordingly.

    • Word Lists

    People have requested these (for the less-developed language courses) for ages now, and they would be very beneficial to those who want to keep track of their language knowledge

    • Translation/Immersion Trolls

    With the introduction of Duolingo for schools, we've obviously had an influx of troublemakers, as mentioned here, who spread profanity and incorrect translations in immersion. Downvoting and reporting them is not enough; restrictions must be placed to prevent such activity.

    • Permanently Rusty Skills

    This seems to be a bug/glitch that an increasing number of people have suffered from recently (myself included), in which 1 or more skills in a language tree can rust, but cannot be re-gilded, no matter how many times they're strengthened.

    I have reported this to Duo, as have others experiencing the same problem.

    • Tips and Notes on Mobile

    Some of us have limited or no access to desktop versions of Duo, and so we must make due with what we have. These should be available on mobile as well as desktop.

    <h1>Want, but don't need</h1>
    • Lingots

    Almost all of us have run across threads where users ask for more options concerning lingot use. Our current options are very limited and it results in little drive for people to achieve more, as well as a sense of uselessness as people's lingots pile up without a worthwile reason to be used.

    • Translation/Immersion In More Languages

    Those of us who are learning or have learned languages like Swedish (which don't yet have an immersion tab) desperately await immersion options in these languages. I have learned from certain course contributors/moderators that Duo is currently having trouble with EU regulations in regards to this, but if anything, we would like clarification on this, so that we know the situation.

    • Expansion of Trees

    Those of us who have completed trees in our respective target languages have often expressed our desire to learn more. Many in the community would love to have more added onto our trees (even if it is optional and not necessary for that gold trophy), later after the course is released and any holes are patched up.

    • Coach / The XP Bar

    Not all of us want these options present, and some of us do want them. Many of us feel that the Coach and the XP Bar (which is currently gone, but originally existed) should be optional for every individual.

    • Course Listings

    No matter what languages we are learning or learning from, many would enjoy having them all displayed on our profiles.

    • Course Updates

    Could these not be displayed on course teaser pages, or could there be links to the incubator page for the language course? Perhaps the last incubator update could be present on the teaser page, as to have all of them would take up too much room.

    • Accolades and Information

    Some suggested ideas for displaying achievements or other information that have been mentioned include:

    » Having a distinct marking around flags for languages whose tree we have completed, a generic example looking like this

    » Displaying a flag denoting your native language

    <h1>Your Ideas</h1>

    Your feedback is necessary on this topic, so please leave any ideas, experiences, or thoughts in the comments. I will incorporate what I think should be added into the original post by editing.

    Thank you all, and thank you Duolingo staff, contributors, and moderators.

    March 9, 2015



    For those interested, a work around for the "words" tab:

    1 - Set your learning course to French (or a course with a "Words" tab).
    2 - In another browser tab, open Duolingo again. (So now you have 2 tabs open, both in the French course)
    3 - In the new tab, change your course to Swedish (or Irish, or whatever language you want a "Words" tab for).
    4 - Go back to the first tab (French), and click on "Words". It should load with the Swedish list of words.

    @N30G3N: Good luck!


    Here is a stripped-down javascript version of a different set of scripts that I use to parse my vocabulary data (I use this info to prioritize which skills to practice when my tree is fully golden). It formats your known vocabulary (at least whatever portion of your vocabulary that Duo includes in the vocabulary overview object - it, and by extension the Words page is missing sizable number of words that are taught within some courses) to be imported into a spreadsheet. It also works with courses for which there's currently no words page, but since Duo's data for these courses is incomplete, information like gender, part of speech or infinitive forms is unavailable, and some words will appear as <*sf>.

    Log into Duolingo, switch to whichever course for which you wish to check the vocabulary and paste this (all on one line) into your browser's javascript console:

    var xReq=new XMLHttpRequest();xReq.open("GET","https://www.duolingo.com/vocabulary/overview",false);xReq.send();dVocab=JSON.parse(xReq.responseText);var vocabOut="\n"+Date.now()+"\nWord\tGender\tInfinitive\tPart of Speech\tSkill\tStrength\tDays Elapsed\n";for(var i in dVocab.vocab_overview){var lineOut=[dVocab.vocab_overview[i].word_string,(dVocab.vocab_overview[i].gender?dVocab.vocab_overview[i].gender.slice(0,1):"n/a"),(dVocab.vocab_overview[i].infinitive?dVocab.vocab_overview[i].infinitive:"n/a"),dVocab.vocab_overview[i].pos,dVocab.vocab_overview[i].skill,dVocab.vocab_overview[i].strength,Math.floor((Date.now()-dVocab.vocab_overview[i].last_practiced_ms)/86400000)];vocabOut+=lineOut.join("\t")+"\n";};console.log(vocabOut);

    For those interested / wondering, this works synchronously to keep the script compact and because there's nothing gained by using callbacks for this sort of quick & dirty usage. If you want to use this code elsewhere (e.g. to include it in a userscript), you should modify it to use a callback for parsing the data upon success and one for handling any errors (something else I didn't bother with for the same reasons mentioned above).



    Users giving users what they want.



    Perhaps you can help ... I've been trying to hack my way through a standalone javascript or PHP script to extract the vocabulary json from https://www.duolingo.com/vocabulary/overview -- i.e. independent of a userscript. My use case is wanting to run some different stats (i.e. skills with x% of words under y strength level) and organize my skill strengthening focus from a mobile device (I primarily use iphone Duolingo app not web browser, so I often don't have access to the skill strength userscript when I'm deciding which skill to work on).

    So far attempts to grab the json from that URL outside of a user script have not been successful ... I either can't get the underlying json data or -- fiddling with your code above in a js file -- get a "Cross-Origin Request Blocked" error.

    Any tips on how to set this up?



    I tried that and half of my words came up as "<*sf>" . It is probably because the Words tab isn't really supposed to work, but thanks anyway! :)


    I've noticed that too. Not sure if it's a glitch, or if those are words that you haven't come across yet. Regardless, better than the current 'nothing' that is offered.

    Edit: Looks like a glitch as they are supposedly in skills that I've already done.


    Agreed, it is better than the current situation. Thanks for the how-to though. :)


    The <*sf> thing is a glitch. If you click the field that should have shown a word, you'll see which lesson the word is from in addition to the fact that the word actually is there but in a different entry of the table.

    tl;dr: the table hasn't been properly laid out.


    It's not the layout of the table that's the issue, it's content missing from the database. Gender and infinitive form information is missing for these new courses, and the <*sf> is in the data (the vocabulary overview object) returned by Duo's vocab API.


    I wonder if userscript mdict would work be able to access the vocabulary.

    In any case, it shouldn't be that hard to create a script that will dump the whole vocabulary into a page. It just wouldn't be as sophisticated as Duo's one.


    Well, you learn something new - I'll be giving this a go.


    No words for Irish. The server returns an HTTP 500 error if you try to load it. It also causes Pinkodoug Allende's script to fail.


    Was there an error message when the script failed? I just did Lesson 1 of Irish Basics 1 to generate some vocabulary (since I've not done the course before) after which the script produced the following output for me:

    Word Gender Infinitive Part of Speech Skill Strength Days Elapsed
    <\*sf> n/a n/a Basics 1 0.999976 0
    <\*sf> n/a n/a Basics 1 0.999913 0
    mé n/a n/a Basics 1 0.9999 0
    is n/a n/a Basics 1 0.9999 0
    <\*sf> n/a n/a Basics 1 0.999992 0
    an n/a n/a Basics 1 0.999814 0
    agus n/a n/a Basics 1 0.999997 0
    <\*sf> n/a n/a Basics 1 0.999912 0


    Yes, I get an HTTP 500 from the GET https://www.duolingo.com/vocabulary/overview and then a syntax error. I also get a 500 if I try to directly load the vocabulary/overview or the words page when I have Irish selected.


    FWIW, I noticed that I get a 403 error on every page load from a CSS import (looking for a file called out-blessed2.css). That doesn't seem related to the 500 error, but I wonder if one of the AB tests is serving up some bad code.


    Since I can't reply to your latest post directly, I'm doing it here so you get a notification. What happens when you paste this into your console?

    window.location = "https://www.duolingo.com/vocabulary/overview"

    It should load the vocabulary overview json into your current browser window. I certainly could be wrong, but I don't believe there are any current ab_options that should affect this.


    Any other output? A screenshot of the output would be helpful. Do you have the same problem when another course is active? Also, which browser? I have confirmed that it works with Chrome, Firefox and IE, but I have not tested it with Vivaldi, Opera or Safari.


    I'm using Chrome. I just logged into my other account that I use for testing, and when I am logged in to that, your script works fine. I am on my way out, but I will get you a screenshot tomorrow.


    Here is a screenshot when I run your script in my primary account with the language set to Irish: Script Output You may notice that I had run the script successfully for Dutch just before I ran it with the error in Irish.

    This only happens in my primary account, which I created in April of 2012 with a password. The script runs fine if I log into my secondary account, which I created by accident, and which is authenticated by Google

    As I previously wrote, I also get the 500 error if I type in duolingo.com/words or duolingo.com/vocabulary/overview in the address bar for my primary account when the language is set to Irish. Both of these work in my secondary account for Irish. So there is something weird about my primary account - maybe it is my AB test set, or maybe it is just a bug in the code somewhere.

    This is really disappointing to me, because I could really use access to my vocabulary for Irish.


    (What's the story with the missing Reply link? Depth limit?)

    When I run window.location = "https://www.duolingo.com/vocabulary/overview" I get the Error 500 screen if I am logged into my primary account and I get the JSON output if I am logged into my secondary.


    Here's the 500 error screen: Duolingo500error


    Yeah, they only allow replies to nest 6 deep.

    This is really some odd behavior. I wonder if your account experiences the same problem in Firefox.


    It seems to be the same. (I don't know how to type a command into the Firefox console, so I just tried using the URL in the address bar, and I get the 500 in one account, but I get the JSON output in the other account.)


    I compared my ab_options between the two accounts, and they are exactly the same. I also compared duo.user.attributes and there are only a few differences (I didn't drill down into every object, though), e.g. the timezone on both is -4, but one says Detroit, the other Havana.

    I may play with the different options, but I have to think that there is something going on deep inside the data structures of the primary account that interacts with a bug.


    Listed in order of necessity, the top being the most needed (IMO)

    -Option for removing the Coach, and a show/hide switch for that and the XP bar

    -Make the coach a non-required feature for the Windows Phone App (I'm not sure what it's like for other platforms, but you can't do anything in the WP app without first activating the coach)

    -The ability to participate in immersion without taking a course. This would mean that speakers of language A wouldn't have to take the A course just to translate A documents in immersion.

    -Ability to translate both directions in immersion. For example, if you were taking French for English speakers, you would be able to translate documents from French to English and from English to French.

    -All of your courses listed together. If you chose to take English for Russian speakers, that should appear with the rest of your courses (for English speakers) in the little drop-down list.

    -A 'back' button in lessons. Sometimes I'll get an answer wrong, but I'll automatically move on out of habit, wishing that I could go back and see what I did wrong.

    -New item in the lingot store: Skill Skip. For some amount of lingots, you can 'skip' a skill in the tree and move on to the next ones (it would only work for one skill at a time, meaning that if you were at a level on the tree where you two skills to do before moving one, you would have to buy two skips to keep going). Obviously, some skills would be non skip-able, since the words that they teach are used so often later on, but some skills are pretty trivial, and sometimes it would be nice to be able to move on.

    -Course updates and links to the incubator pages on the course teaser pages, as well as links to the teaser page on the incubator page.

    [deactivated user]

      Excellent ideas, thank you.


      I think you can do English to French immersion from the reverse tree.


      Yes, but I think that you should be able to it from the French from English course.


      Well, first let me play devil's advocate:

      • Words list - doesn't help much except maybe to provide flashcards, and a quick reference. It also needs extensive translation into 20+ languages. I shudder to think how pictograms will work.
      • Translation trolls - there is a need to balance accessibility vs annoyances. Sure they could add a lot of mechanisms to make these people's lives harder but in the end that may negatively affect the general environment.
      • Permanently rusty skills - The strengthen algorithm chooses weakest words rather than weakest skills, so it focuses on teaching you words, while the tree withering is intented to show you problem areas. A weak skill may not contain the weakest words because they are all over the tree.

      As for improvements

      • I think for newer courses Duolingo should temporarily simply dump all words in a page, and later on add the features of other languages.
      • Translation trolls - The only possible way to deal with translation trolls is to assign immersion moderators, because there are languages which duolingo staff doesn't speak, and trusting random users with the power to ban/block/segregate is likely to result in abuse of power.
      • Permanently rusty skills - Duo could simply add/re-enable checkpoint tests to quickly review material and re-gild sections of the tree whenever the skill tree withers below a certain threshold.

      The "wants but don't need" will always be here, and people will never be completely satisfied. Just look at gaming forums, whenever a new feature is added people want something else. The fact that Duolingo is free only makes this far worse.


      On your note about permanently rusty skills - One of the reasons duolingo gave for changing the points system is they didn't want users simply repeating the basic skills over and over to rack up points. In practice, however, I am seeing a very colorful tree and spending lots of time trying to keep it gold, and generally only getting 4-7 points each time. If a skill is "rusty" enough to need revisiting, why shouldn't I get full points for strengthening that skill?

      I suggest a re-wickering of the amount of decay required for a skill to lose gold status. As it is, what was once a great motivational tool has become an annoyance and a chore.

      I'd also like the option to fully re-strengthen a skill in one lesson. If I'm down to 2 bars I alost certainly need to revisit more words than I will get through in 17 questions. I'd like the option to just take a 30+ question lesson in order to get it out of the way, instead of having to go through the same loop 2-3 times.


      Well, in practice, a weakened skill does not necessarily have a lot of weak words. If you look at the vocabulary tab, duolingo lists a 4 bar word as strong, 3 as pretty good, and below 3 bars those as needing practice. If we compare that to the tree, then 5/5 skill still strong, a 4/5 bar skill is pretty strong, and anything equal or below 3 probably needs practice.

      So while your view of "rusty" skill differs from Duolingo. A skill may not contain enough words to earn you the 10 points. However, the general strengthen skills is more likely to get you high points, assuming that you don't have too many strong skills.

      As for long practice rounds. There is some research that indicates that humans only retain about 8 things on short term memory (if I recall correctly). So long practice rounds/lessons may not be as fruitful as one may expect.

      [deactivated user]

        Thanks for taking the time to write a clear message to Duolingo. Carole


        Whether or not we believe it in the same ways, Dessamator and I, I am glad I'm not the only one who doesn't care for such heavy restriction based on those in school using this for the schools feature. Kids can be annoying, really annoying, but I'm really just against any kind of restriction of their use, and doubly against this notion that the teachers need to be responsible for their students online, because that is such a silly notion to me.


        Would you and Dessamator be willing to accept "consequences for misuse of Duo," as opposed to heavy restrictions against school ages kids? E.g., Assessing a "fine" for posts begging for lingots? Settle on a number of lingots to be taken as a penalty for misusing the forum ? I'm thinking such a response might serve as a more effective deterrent than sending them urls of the guidelines. . .


        The posts begging for lingots don't bother me. In fact, I like looking at them sometimes, because it's funny to me how many downvotes they can get, and yet they always get a whole bunch of lingots from them. Otherwise, it's not all that hard to ignore them. I'm much more willing to accept "let the moderators do their job, and everyone else do your best to ignore what is really quite a minor inconvenience". Seriously, I get more annoyed at everybody -complaining- about the spam, than I do at the spam itself.


        Dear Frankenstein, you are not alone. Upvote!


        Consequences for misusing Duo already exist. It is just that it takes longer for it to happen. It is also at the discretion of staff and moderators.

        I think the best tool for preventing misbehavior already exists. Duolingo does prevent people from using the forum, if they constantly spam, or misbehave. But handling immersion is very complicated, it probably takes them considerable time to discern whether someone is actually maliciously editing documents.

        In a way immersion is like Wikipedia. Everybody is allowed to edit/revert/add content. The only thing missing is like something like wiki admins (moderators) who prevent people from posting profanity and other inappropriate content, and can ban them or lock a document if there is too much conflict. Although a better alternative might be to simple restrict such miscreants to the language tree, and ignore them forever. Everything else is just a side-effect of bad gamification decisions.

        • Dear Duolingo guys, please add tips & notes to mobile version.

        I've made it to level 5 in French in mobile app (without tips) before I figured out there was a web version (with tips). Now I just know a bunch of French words and mostly have no idea how to use them properly.


        How about something that teaches conversational skills?

        [deactivated user]

          What do you mean by this?


          Babbel uses a format in which someone fills in the blanks of a conversation. I would like something similar to this combined with a better voice recognition.


          New item in the lingot store: Skill Skip. For some amount of lingots, you can 'skip' a skill in the tree and move on to the next ones (it would only work for one skill at a time, meaning that if you were at a level on the tree where you two skills to do before moving one, you would have to buy two skips to keep going). Obviously, some skills would be non skip-able, since the words that they teach are used so often later on, but some skills are pretty trivial, and sometimes it would be nice to be able to move on.

          Also: a 'back' button in lessons. Sometimes I'll get an answer wrong, but I'll automatically move on out of habit, wishing that I could go back and see what I did wrong.

          • 1408

          Please get rid of the leagues. All. the cheaters and inflated scores are really not helpful and do not encourage community.

          Learn a language in just 5 minutes a day. For free.