About the hearts and life feature
I do not know to what extent it still exists, but if Duolingo is still working on it: I'll quickly present a potential solution to address complaints from people about it:
Instead of "punishing" people by making them lose health, how about turning it into a "rewarding" system instead?
Some random example of how it can be done:
Each lesson would take 1000 points to unlock. Completing a skill faultlessly for the first time without hovering over any words would yield 1200 points = immediately able to unlock the next skill. With 1000 points being awarded for a single error (to not be too harsh).
For skill repetitions the max points you can earn could be lower. For repetitions the amount of points awarded could be proportional compared to the errors made. While for the first time a lesson is taken, correct answers would yield an exponential amount of points. I.e. 3 errors could already mean that only 400 points are gained.
In essence not much would change, it's just psychological: punishing people doen't help while rewarding does. Thus if people feel like they're getting rewarded for doing a good job instead of feeling like they're punished for doing a bad job, it might positively affect their learning and also cause them to see the "feature" as less annoying or even pleasant (which would depend a lot on how exactly the feature would work).
An added bonus could be that such a system is more viable as a "global" solution, whereas the hearts feature would probably serve best when only applied to a specific type of people. Plus, this system could still allow Duolingo to earn a little extra change from people who wish to pay rather than doing any repetition at all.