citiususc / calendula

An Android assistant for personal medication management
https://citius.usc.es/calendula/
GNU General Public License v3.0
206 stars 106 forks source link

Allow user to acknowledge taking an intake ahead of schedule #121

Open scruloose opened 6 years ago

scruloose commented 6 years ago

If a user wants to take their medications before the scheduled intake for whatever reason (maybe it's a medicine that has to be taken with food and a meal is ready earlier than usual, or maybe the user is going out somewhere and takes the medicine before leaving rather than having to carry it around...)

Currently, if I scroll ahead in the timeline on the home tab→select an intake→hit the checkmark to acknowledge that I took my meds, the app pops up a dialog telling me that the intake is "not available" and that's that. So if I have actually taken the medication early for whatever reason, now I am forced to remember that the upcoming reminder from Calendula is bogus and I should acknowledge it but not take my meds. This is counterproductive, and may lead to accidentally taking the dose twice.

(As a general design principle, I would suggest that you try not to assume that your users are incompetent and need to be restricted to doing things the way you think is right, and put more emphasis on making Calendula flexible so that it can accommodate a wide variety of circumstances.)

Suggested solution: Similar to what happens when the user hits the "Take Medicine" checkmark on a stale notification: pop up a dialog warning the user that this intake is not scheduled to happen for [x hours and y minutes] or some such, and ask whether they really mean to take it now. Have two options to choose from: one for "No, cancel" and one for "Yes, I really am taking this intake now." Naturally, if the user selects the "Yes, I really mean it" option then you need to update the inventory accordingly and also make sure to skip the selected occurrence of that intake reminder when its normally-scheduled time comes.

angelpinheiro commented 6 years ago

Hi @scruloose, thanks for your contribution. It's true that the current behavior is not very flexible, and your solution seems appropriate (as you said, we are already doing that for past intake confirmation). We always try to give users as much freedom as possible, although in this case we opted for the current solution because previously some users reported that they mistakenly checked next day intakes, causing next day notifications not to be shown.

scruloose commented 6 years ago

Hi @angelpinheiro, thanks for your prompt reply. I am glad to hear that the current approach was chosen in response to users' concerns, and obviously I am pleased that you are accepting the suggestion to make it more flexible!

In support of the goal of giving users as much freedom as possible, I have suggestions for a couple of other areas as well, but I will raise those in their own issues. 😉