Duo Strength v1.1 - XP and crown levels info and other new features [Browser Extension]
Hello again everyone,
Thank you for all the support you have given me over the last nearly 7 months since I first posted about Duo Strength - Browser extension that adds back individual skill strengths. I have just released the new version Duo Strength, version 1.1.0! This new version adds some new features that I hope people find useful, I have found them to be while developing them.
Here are some of the headline new features:
- Extra Crown and XP info in the crown and streak pop-up boxes, including:
- XP level, progress and prediction of next level-up
- Maximum number of crowns earnable, and your crown tree level
- Breakdown of number of skills at each crown level
- Prediction of next crown tree level-up
- Suggested skill to practice on completed, fully strengthened trees
- Link to next lesson on unfinished, fully strengthened trees
- Options page for enabling, disabling and customising features
Here are a couple of screenshots of some of the new features:
I first started working on this new version in March so I am excited to finally release it. I will say again that this project is open-source and released under an MIT license. If you are interested in helping develop the extension or are just interested in looking at the code, you can visit the project on GitHub; you can also open an issue there or comment on this post to report any problems.
Thanks again for all the support, I’ll start work on the swedish version of this post now!
NB - Options page how-to
The options page can opened in a couple of ways:
- In Chrome, you can right click on the Duo Strength icon, in the top right of the window and then click options from the context menu.
- In Chrome, you can click this link: Duo Strength Options Page
- In Chrome, you can go to chrome://extensions/, and click details on the Duo Strength item.
Then near the bottom of this list you can click extension options.
- In Firefox, you can go to about:addons or press Ctrl+Shift+A. Then click on Duo Strength and go to the options tab
OMG. I am grateful people like you exist, although I do feel significantly inferior when in your presence. Thank you so much for this.
Ten lingots for you!
Thank you Msanjose1, that's very kind of you! I hope you find it helpful!
Congratulations on finishing your latest work. I am sure people will be fascinated by the skills/crowns overview and the "At your current rate..." estimate. For me, it states "about 7 days" to complete 110 XP in order to advance to Level 18 in Italian. Since I often make mistakes in Italian, I don't always get 15 for each lesson. Also, last Tuesday I did about 110 XP in German. Not sure how (or if) that figures into the calculation. I have to reduce the screen scale to 80% in Chrome to see the bottom of the Daily Goal chart, but that's not a problem.
Thank you very much for all of your hard work and for sharing this with the community!
Thanks Thomasco3! The XP prediction is made using all the available history of how much XP was earned for that language in the userdata file, this is normally up to a weeks worth. It shouldn't take into account any XP earned for other languages. I have just had a look at the code for the prediction and can see it is working correctly, but can up updated to use one the more realistic methods used for the crowns prediction; this factors in that people normally do duolingo once a day. I'll work on this and include it in the next update.
I'll also have a look at what I can do about the increased size of the Dail Goal box, I have been using fairly high resolution monitors when developing so tend to have more space than a lot of people will if using a laptop etc.
If you are interested, here is what the prediction algorithm is currently doing: For your case, the earliest lesson available was on 2019-07-22 at 23:26 GMT, the most recent lesson was on 2019-07-29 at 13:23 GMT. This gives a time period of 6.58 days, over which you earned, 118 XP. This gives a rate of 17.9 XP/day, leading to the prediction of 6.13 days, rounded up to 7 days.
Thanks again for the support,
You are right, Toran, my HP laptop is set to 1280x720. I briefly switched it to 1600x900, and the Daily Goal chart was displayed properly. But like I said, it is no problem for me to press CTRL+"-" twice to zoom out a bit.
As to the calculation, I would include BOTH the start date AND the end date to define the time period (as opposed to simply subtracting the one date from the other). The reason why I would do that is because I had already completed my Italian lesson early on the 29th (GMT-6). So it might break down like this:
= 8 days: 118 XP
118 XP / 8 = 14.75 XP/day
110 XP remaining / 14.75 XP/day = 7.46 days, rounded up to 8 days
However, that only applies to my specific case. You did say "about", so each user has to take the calculation with a grain of salt.
Yeah, the XP prediction code was some of the first I wrote for this update and hasn't had much attention since then.
The crown prediction thinks in terms of what was done on each day and counts days, not the specific times of lesson completions. The current method falls down most clearly when there are just two data points, and the time gap could be much less than a day if lessons were done late one night and early the next day.
Like I say I'll change this to the more sensible day counting method and include the change in v1.1.1
Just wanted to say I have published version 1.1.1 which includes the fix to the prediction method. It should be pushed out to users in the next couple of hours.
Very cool, Toran. I hope many users will spread the word about the new updates. All of the extras in your Chrome extension add a lot of intelligence and sophistication to the LEARN/start page.
I was just switching my language setting to German and then Polish to see if I noticed any differences in the displays. I have been inactive with Polish for some months now, so the predictions are missing. That makes sense. What I also noticed is for the two languages where I have completed the tree to Level 1 (German and Polish), the top line of the Crowns display reads "0 skills at 0 = 0 crowns". Would it be possible to omit this line if the variable in "Your tree is at Level" equals "1"? You could also omit any line were the user has "0 skills at LEVEL = 0 crowns". The display might look cleaner and more compact that way. ANYWAYS... these are just suggestions, and of course I understand that you may prefer the more elaborate, detailed display. Thanks again for listening!
The v1.1.1 update is now out, though another is likely coming today to fix a different small issue someone else commented about!
Yeah the prediction is omitted if there isn't enough data to make one. Thanks for the suggestion about compacting the crowns breakdown, I'll give it a try, I can always add it as an option that users can turn on and off.
Thanks again for the support,
EDIT: Here is how it looks on my swedish tree
Just uploaded v1.1.2 which includes this as new option. You can see the end of my post as to how to access the options page to turn the feature on.
Thanks again for your support and the suggestion!
Hi Toran, Thanks for considering the idea to omit lines that are not meaningful, for example, when you've already completed all of the skills at levels 1 and 2 on your Swedish tree. I also noticed that my Polish Crowns display looks especially compact, because (the prediction is omitted AND) it doesn't have the extra Bonus Skills section, which is displayed for my Italian and German Bonus Skills displays. In my case, I haven't actually "purchased" (with lingots) the Bonus Skills, so of course I know that I haven't completed any of those skills. Would there be any way to omit this section if a user has not purchased the Bonus Skills? I think this would greatly enhance your suggested option of turning ON/OFF the compacted breakdown. Thanks again for listening!
Unless you can prove me wrong, the bonus skills section of the Crowns breakdown only displays if there are any bonus skills available to be purchased. This would mean that there are no bonus skills for Polish. Can you see the bonus skills in the shop?
This comment admittedly from 3 years ago states that Polish does not have any. This may have changed but I was under the impression that the only languages with bonus skills are the ones that duolingo made themselves, unlike the contributor made trees, like swedish or, as in this case, polish.
Reading your comment again you don't mean to imply that there are bonus skills for Polish. Sorry I misunderstood.
Yeah I can have a look at hiding the bonus skill section if the skills have yet to be purchased. This may require me to get far enough through a tree with bonus skills to unlock the option of purchasing them. I'll see what I can do.
Hi Toran, This is in reply to your recent comment where you talk about which languages have Bonus Skills (according to the page you linked: DE ES FR IT PT). Instead of you having to work thru one of those languages to a point where they are unlocked, maybe the new update will suffice (IF 0 skills at LEVEL = 0 crowns, THEN don't display the row). Then I would just see "Bonus Skills" with nothing below it.
I have a had a little look and I can't straight away see a sensible way of detecting if they have been purchased or not.
Unfortunately, removing 0 skills rows from the bonus skills section won't solve this either, as even if you have not purchased the skills, they will be counted. This is due to the same reason as above, I don't think tell the difference a bonus skill that has yet to be purchased and one that has been purchased but yet to have been started. All the information about the skill will be the same.
Hi Toran, I just got version 1.1.2 and the more compact view looks really nice, even if for example, it is only 1 row less, because I don't have any levels at 0 in my Polish tree. As you said, for German and Italian the rows of the Bonus Skills section still display even when Show rows with zero skills is unchecked.
Thank you for this additional customization!
I'm glad it is working for you! v1.1.3 now applies that option to the bonus skill section. I just completely forgot to do that before I released 1.1.2.
Thanks again for your support,
Just added detection for the in beta banner, and made sure the needs strengthening list and skills suggestions are below it. Here is what it looks like now:
I'll put this in v1.1.2, and push that out when I can, the v1.1.1 is still pending review.
Thanks for spotting this, I hadn't checked arabic in the mobile layout. I'll make the change and include it in the next update. It will also remove the leading & before lists that have one skill.
Hi again dlhgl,
v1.1.5 has now been approved and is being pushed out to users. This fixed the overlapping text you mentioned. It also adds much more support in general to the mobile layout of the site. The crowns and xp info should be shown as they do in the desktop layout.
v1.1.2 which includes this change has been released and should hopefully automatically update in the next few hours.
Thanks dlghl! Ah I haven't been on any beta trees, I'll add the arabic tree and see if I can put the list below the in beta label. Some small changes I made in v1.1.1 are still being approved for chrome, so the fix may not be out until tomorrow.
Thanks for letting me know,
Thanks very much DiegoDutra, I'm glad it's working for you. If you ever have any problems, just ask and I'll try my best to rectify them.
Do you have plans to make addition in this page: duolingo.fandom.com/wiki/Duolingo_Browser_Extensions
It has some recent changes which indicates people are visiting there.
Hi, Yeah I came across that page the other day and considered submitting the extension. I'll have a look into the user privileges needed to make an edit to that page and add it if I can. Thanks for the heads up!
Great job! I use DuckDuckGo but will try it on Chrome tho! Eskerrik Asko!
Eskerrik asko Bask-Armenian! I'll have to add Basque to my list of languages to learn more of!
I have been using DuoStrenght extension since you first posted about it. The new information you added gives me reason to love it more. Now I can see what before required me to go to duome. A big thanks from a fan of this great extension. Sending you a few lingots (even if they really have no value).
Thanks so much for the support Edjane, I am very happy people find it useful! If there are every any other features you think would be helpful, I will try my best to implement them.
This morning I noticed major malfunctioning in Duolingo Strength. I figured they probably made some change to the website. Then I noticed the animated icons on the LEARN page.
For XP overview on DE IT PL, it states: "Portuguese XP, 99 XP, Level 2, 21 XP till Level 3".
For Crowns overview for DE IT PL, it states: "Your tree is at level 0, 89 skills at 0 = 0 crowns, 1 skill at 1 = 1 crown, 1 skill at 2 = 2 crowns" (the rest are all zero rows).
I was curious to see what else was being affected by the new website changes, so I clicked "Enable all". DE is not showing that I need to strengthen anything (according to duome, about 30 skills are below 100%). For both IT and PL, it states: "Your tree has 2 skills that need strengthening: Basics I & Basics II" (for IT they are at 75% and for PL they are at 100%). The crowns achieved count is correct for each language. However, each language is showing a possible total crown count of 457. That points back to my previous post: 91 skills * 5 Levels = 455 crowns, PLUS 2 possible bonus crowns = 457.
Just seen your comments, thanks for letting me know about the changes and issues you are seeing. I will start looking at this now and let you know when I resolve the issues and get Duo Strength back to working properly.
Edit: I think I have found the issue, I'll push out an update as soon as possible. It seems like the location I was grabbing the users username from has been changed and instead the username was being set to 'profile' for everyone. This must actually be a real username so it is retrieving the information from this user not know that it isn't the right data. I hope this should be a quick fix.
Just pushed out v1.1.4 which should fix the incorrect username issue, and also adds handling of the new TRY PLUS button at the top of the tree. Any text added above the tree, like the needs strengthening list, should not overlap with this button.
I hope the update will be pushed out to users in the next hour or so, but it could be longer based on the time taken for recent updates to be approved by the Chrome web store. I'll edit this post when I know it is available.
Thanks again for letting me know about the issue, your support is much appreciated.
The tree level shown with the crown's information is calculated as the minimum crown level of all the skills in the tree. E.g an unfinished tree is level 0 as at least one skill is still at crown level 0; as soon as the tree is complete the tree level is 1 as every skill is at at least crown level 1.
Note that the crown level of any bonus skills are not taken into account in the calculation as the highest level they go up to is 1. This definition is to mirror the tree level shown on duome.eu.
I hope this helps,
The daily goal chart won't show up when I hover over it. The crowns chart works, but this one doesn't.
Also, thanks for this attachment, it's super-duper-schmooper helpful!
Thanks for the support. I have just had a look at the issue you describe, and on first look it seems to be a duolingo thing, not the extension. The streak pop-up window doesn't show up even when the extension is disabled.
I will investigate more to see if there is anything I can do about this.
Thanks for taking the time to look into it, ToranSharma! 5 lingots headed your way for your excellent "customer service"! :)
No problem! v1.1.3 is still pending review by Chrome, it should be available soon hopefully. If you are on Firefox, it's already been out there for some hours.
Thanks! It looks like Duolingo has made the streak chart go down into the actual Learn space, under the leagues, achievements, and other stuff.
It wasn't there before, but now your streak chart is on there as well.
Thanks! (I feel like I didn't make much sense).
The update has just been approved, it should auto update after a restart of the browser or too.
Just had another look and what duolingo has done is move the Daily Goal box from showing on hovering on the streak indicator, to its own box in the sidebar, just like it used to be before we had this new UI with the white navigation bar at the top.
I'll add back a version of the old code that handled the information being put in the sidebar and upload that as v1.1.3
NB This seems only to be true for some users, so I will still support it being in the dropdown box as well.
My thoughts are that it will probably not stay in its current place in the sidebar for long, as it is, the advert is only partially visible on my 1440p screens. Devices with a smaller vertical resolution will likely not have the advert showing at all. I don't see duolingo being happy with this.
Just uploaded v1.1.3 which includes the changes to support the Daily Goal box being in the sidebar rather than in its own pop-up box when hovering over the streak icon. This should be pushed out to users in the next couple of hours, though Chrome seems to be getting slower at this the last few days...
Thanks again for bringing this change to my attention and for your support of the extension,
Just a heads-up or FYI, this morning I see my Daily Goal chart has been moved back to where it used to be. Since I have opted out of leagues it appears slightly lower than it had been when I still had to hover over the streak flame icon. Everything is working fine with the Strength extension, just that the placement is different. I tried it with the League Panel displayed by temporarily setting my profile to public, and the Daily Goal chart appears directly below the League Panel.
[Follow-up post] At my screen resolution of 1280x720 (with League Panel and XP Breakdown deactivated), the XP prediction is directly displayed (without having to move the mouse or scroll down) when my Chrome browser is set to 90% resolution. That is actually an advantage over having to hover over the flame streak icon.
Thanks for the info about the changes. If it would be helpful to you, I can try and add an option to move the XP info just above the Daily Goal information. This would however mean that this would potentially be pushed off the screen instead if you have the league tables enabled.
Another alternative could be that, barring duolingo rearranging this again (which is almost inevitable), I could add the option that XP info is put back in a hover over window on its own.