CorruptedArk / did-i-take-my-meds

A Kotlin Android app to manage medications
GNU General Public License v3.0
172 stars 14 forks source link

Change caption for the "I just took it" button then its going to register as the next dose #42

Open fjfnaranjo opened 2 years ago

fjfnaranjo commented 2 years ago

Is your feature request related to a problem? Please describe. I forget about taking meds from time to time and I take them when I remember. If I do it late enough the app register my "I just take it" intent as the future dose. Then, the notification is not registered and I don't remember to take the next one.

Describe the solution you'd like I think a simple UI change can fix this (or at least improve it). If the app checks if pressing the button now will count as the next dose (not the previous one), it can change the caption of the button to "I will take it".

Describe alternatives you've considered I tough about lots of alternative solutions but all apply to my personal behavior and I think other users can benefit for this.

Additional context Thanks for the app :) . Seriously.

CorruptedArk commented 2 years ago

This is a tough one, because this behavior is based on the app using "closest dose" to allow users to take the medication a little early or a little late. I'm not sure I can accommodate your problem without breaking the intended functionality

fjfnaranjo commented 2 years ago

If you don't think this will help another users you should consider dropping the feature request completely (we can close the Issue). But I suspect that the users asking about editing entries in the log may be a side effect of not having an option to do this.

About keeping the original behavior, another possibility is registering a long-press event for the button and showing a pop-up with 2 options:

Both create a new register in the log for the last and next dose times, respectively. If the register doesn't exists already.

This is enough to satisfy my specific use case but you should consider if you want the option in the app.

If the app is trying to force the user to log the dose by hand to help him to stay on schedule by himself this option defeats that purpose.

Educating the user about this option is also difficult without cluttering the UI. Some kind of filling animation for the button during the long-press delay probably hints about the pop up menu without needing extra information. In this case, you should also consider including the original button action in the long press (a middle entry with the original "I just took it!" text).

caos30 commented 2 years ago

Hello guys, i agree with @fjfnaranjo that this precise "issue" is usually to uncomfortable to "solve". This can happen at least in two some quite common cases:

So certainly, the first case is the most (mmm...) "annoying" if i want to maintain an ACCURATE LOG of my taken doses.

Said this, @CorruptedArk , i understand that maybe the good solution is not quite easy to add to the app. I've not read other posts regarding this question, but maybe be able to EDIT a taken dose would be the "better" option.

Hehehe, i'm sorry @fjfnaranjo it seems a bit confuse your solution, from the point of view of usability. I think that your solution could confuse more than help, and it probably would generate "wrong times" for some doses if the user choose the wrong option.... sincerely i would feel safer if i could simply edit the date/time of a taken dose.

Anyway, thanks @CorruptedArk for this wonderful app. I'm in love of it. In fact, i've already recommended to close people, including my heart doctor ;-)

fjfnaranjo commented 2 years ago

Hehehe, i'm sorry @fjfnaranjo it seems a bit confuse your solution, from the point of view of usability.

No problem :)

Why do you think is confusing from a UX POV? Maybe because a "long press" is not a common input pattern? I expect that after using it for the first time the user will remember this behaviour correctly. I see the challenge educating the user about its use (or existence), though.

sincerely i would feel safer if i could simply edit the date/time of a taken dose

I've considered hacking a little app to edit the database backups. But yes, an option to do this directly will be nice too.

CorruptedArk commented 2 years ago

@caos30 @fjfnaranjo You can edit a taken dose already. The option appears in the detail view when you tap a dose record

caos30 commented 2 years ago

oooohhh !!!! You're right @CorruptedArk !!! But let me say than then you we should CHANGE THE "TIP" TEXT appearing above the list of taken doses. Now it says that clicking on a dose you can SEE more details... but not SEE AND EDIT details/datetime! I tell you this as translator on weblate.

record_detail_hint = Tap a record to view details

caos30 commented 2 years ago

record_detail_hint = Tap a record to view details

Well, in fact i've just changed now that translation (spanish/catalan) to say something like this:

"Tap a record to view/edit details" :smile:

But let me insist, i think you should modify the text in english to let other translators to modify the translations to other languages. Although in fact i don't know if me as a translator can see on weblate if you edited the previous text in english of a key that i've translated before. So... maybe is needed to generate a new key with the new text... i don't know. I don't administer a project in weblate.

jmichael2497 commented 2 years ago

that does seem like a tricky situation, since as was mentioned, with some medications it is best to skip a dose if it has been too long, and i'm guessing with others might want to adjust times to a new schedule instead.

for ux seems to make more sense to say "took dose late" or "took dose early" if you want to differentiate between keeping next nearest or not. maybe like the dosage history edit... you could make the button show those 2 options instead?

fjfnaranjo commented 2 years ago

Another related problem I'm having: If I try to fix/ammend the log by creating an entry for the previous day (pe. for daily meds), I can change the day in the log but the entry remembers its relation to the closest dose when created.

jmichael2497 commented 11 months ago

ideally marking dose taken, then editing to correct past time it was actually taken, there should be a recalculation done to recognize that change (but currently button stays as "already taken").

the only "easy" workaround seems to be manually changing phone date/time as needed for prior dose not marked, mark dose taken, turn on automatic clock again, and ready to mark next dose as expected.