iSoron / uhabits

Loop Habit Tracker, a mobile app for creating and maintaining long-term positive habits
GNU General Public License v3.0
7.72k stars 926 forks source link

Day score chart for per-day habit should arguably show 100% score for days with the habit met (rather than current ~60%) #1284

Closed hartwork closed 2 years ago

hartwork commented 2 years ago

Pre-submission checklist

Description

Thanks for the Loop Habit Tracker, the Android version, very nice UX, thank you! :pray: What I consider a bug — maybe you'll disagree — is this: I have a habit set up in the app to workout 3 times a day with a daily goal of 3. Now when I meet that goal, the daily score view graph never shows more than ~60% while I'd expect and want it to show 100% for those days, at least in Day view: There is nothing possible to meet more on that single day, I would argue. I found some score math at https://github.com/iSoron/uhabits/blob/6af2edb690cac9ba1a54356fa5030c9365dc0db5/uhabits-core-legacy/src/main/common/org/isoron/uhabits/models/ScoreList.kt#L62-L68 that I don't yet understand but haven't tried too hard yet either. I have not found an FAQ entry on how score is calculated and how that math is helping the user interest. I would ask to:

Steps to reproduce

  1. Go to the main screen
  2. Click on an item with a goal per day that has been met yesterday
  3. Toggle the score view to "Day"
  4. See that yesterday has a score of ~60% rather than 100% despite having been met

System information

Screenshots

none

iSoron commented 2 years ago

Thank you for the detailed bug report, @hartwork. The score chart always shows the "habit score", which is calculated based on exponential moving averages, as described in the FAQ. Switching to day mode just makes the chart more detailed; it does not change the way we compute the score for that day. If you want to see how complete a given day/week/month is, please check the "History" chart, below that one.

I am closing this issue as it is not a bug; the app is behaving as expected.