zeeguu / web

Frontend for the zeeguu web application.
https://www.zeeguu.org
3 stars 5 forks source link

341 add a small notification icon to the exercises tab #342

Closed tfnribeiro closed 2 months ago

tfnribeiro commented 2 months ago

Added a little notification to indicate Exercises are available:

image

netlify[bot] commented 2 months ago

Deploy Preview for voluble-nougat-015dd1 ready!

Name Link
Latest commit 3958f262811b269ae53cd8e51fc4eaea8729d1b7
Latest deploy log https://app.netlify.com/sites/voluble-nougat-015dd1/deploys/6627c1bdd6a62600082fa34a
Deploy Preview https://deploy-preview-342--voluble-nougat-015dd1.netlify.app
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

mircealungu commented 2 months ago

Overall I love it, but it bugs me that I start from 9+, I go to do some exercises, and as soon as I go back to home, I get 9+ again... it feels like I've made no progress at all... what could we do do avoid this?

tfnribeiro commented 2 months ago

We could add a cooldown that disables the notification for a day after you have done exercises? Or we could just have a setting to disable the feature?

We could also change a colour, so Red is "New" and blue is "available"?

mircealungu commented 2 months ago

Do you think we might be able to estimate the minutes required to catch up? That would be less than the number of words probably so we could show a number that would not be that intimidating?

tfnribeiro commented 2 months ago

I honestly think that with time it would be even more confusing, especially when we are going to introduce new exercises that can have words in different stages.

We could try to make it based on Exercise Sessions rather than number of bookmarks. At some point though, a user might have many bookmarks, so I think the setting might be the best, if we don't want intimidating numbers.

tfnribeiro commented 2 months ago

@merleschoen What do you think about this discussion?

mircealungu commented 2 months ago

And I was so excited about minutes :) I started envisioning minutes also elsewhere too. Minutes to read instead of number of words in article finder. Minutes active today, at the top, near the user icon, etc. :)

But I see how it would not be easy to estimate with different exercise types.

When you say sessions: this means the way we have now 12 words in a session, so showing how many of these sessions would one need to do to finish all the due words?

Then again, I'm going back to: what if we put the absolute number? If somebody is serious about It, maybe they don't end up with having 1210 words to be demoralized. And if they do, then they know they have to get their act together and do some exercises before they go to read and add more words to study! Might be for the best!

What might also help is some kind of upper bound that we choose that would not allow them to have more than 42 words per day? Or some other magic number.

Also, very very good idea to tag @merleschoen ! She's the CEO after all!

tfnribeiro commented 2 months ago

I think time estimates are interesting, but especially with learners I think it can really depend on the user, so it would be more of a little model that estimates based on the user's past activity.

Having a look at Discord, they seem to cap the number of notification counts at 100 (99+), we could do the same, I think it's unlikely that a user would have more than that - and if they do it's clearly because they are not interested in the exercises.

image

I gave a try to the exercise sessions, and the only problem with that is that if you get words wrong the number might stay the same after 3 sessions.

tfnribeiro commented 2 months ago

I will just add one thing, I think Merle has added a front-end function that adds a logic to check if the exercises are correct or not according to the API. That way I could update the counter live and maybe the initial check just sets the red dot, and then the user when they start the exercises they can see how many total exercises exist, and then it gets live updated as they complete them. What do you think of this?

tfnribeiro commented 2 months ago

I actually got it to work already:

image

image

image

merleschoen commented 2 months ago

Nice @tfnribeiro ! I think it's important for the user to see their progress reflected by the notification - nothing more frustrating than doing exercises and the number doesn't change. And I agree with Tiago that the notification should be about bookmarks, which is also clear, now that it gets live updates.

tfnribeiro commented 2 months ago

After loading a newer dump, I saw my test user has 178 total bookmarks. Maybe there is a good reason to remove any word that is scheduled but hasn't been worked on in the last month? I am thinking that ruins the assumption of the spaced repetition?

We also have a method that re-schedules bookmarks that aren't learned so this clean-up would be too bad?

mircealungu commented 2 months ago

This is not a bad idea! After all if you didn't practice it in the last month it is as good as forgotten...

merleschoen commented 2 months ago

By removing do you mean delete the bookmark altogether? In that case, I think we should have a note in the history tab, telling users that a bookmark will be deleted after one month of inactivity.

I also think it depends on how far the user has come with the bookmark. Pimsleur's spaced repetition has intervals of 25 days, 4 months and 2 years. But if you have only practiced a word on day one and it's been a month and you haven't practiced it since it is most likely forgotten.

tfnribeiro commented 2 months ago

No, I would just not have them in the schedule table, so the bookmark is kept and can be scheduled later on for the users.

We have had a little chat, and we have some extra ideas and I will try to separate them from here, so they are more explicit. However, regarding the notification we believe that we should only show the notification for words the user has done at least 1 exercise before. This sorta implies the words the user is actively learning. If the counter gets to 0, they have now completed all the words in progress and new ones are introduced. What do you think about this?

merleschoen commented 2 months ago

Excellent solution! Totally makes sense 😃

mircealungu commented 2 months ago

Excellent solution! Totally makes sense 😃

For once we agree on something! :)

tfnribeiro commented 2 months ago

Closing - Continued in https://github.com/zeeguu/web/pull/353