sweakpl / qralarm-android

QRAlarm is an Android alarm clock application that lets the user turn off alarms by scanning the QR Code.
GNU General Public License v3.0
112 stars 10 forks source link

Feature Request: Reminder notification appears one hour before alarm is due #43

Closed mozilla2012 closed 3 months ago

mozilla2012 commented 3 months ago

This is a feature that the standard Google alarm clock has, and it's really nice:

One hour before an alarm is set to go off, an "Upcoming alarm" notification silently appears that gives the user an easy option to disable the alarm: screenshot

Upon pressing the "Dismiss alarm" button, the alarm is disabled and will not go off. (If the alarm is a recurring alarm (e.g. set for 7:00 every day), then it only cancels the upcoming alarm). The user can also just ignore or swipe away the notification and nothing changes.

The reason this feature is useful is because you may forget you have an alarm set, but you don't actually need it anymore. This is a quiet way to remind you of that, allowing you to disable the alarm before it goes off unintentionally.

A usage example: You set an alarm for 9 in the morning but wake up early at 7 and leave the house. Two hours later your alarm goes off and you aren't home to disable it with your QR code.
This would prevent that, so that you can be reminded and disable it before the alarm goes off in the middle of a public place.

This option should have a toggle in the settings to be disabled.

Thanks! I'm also a dev and would love to help implement this feature but my docket is also full for the upcoming few weeks/months.

sweakpl commented 3 months ago

The app is already displaying a notification allowing the user to dismiss an alarm. It is a persistent notification that appears right after the user sets up an alarm. It allows for alarm dismissal without code until an hour before alarm time.

Thanks for the suggestion, but I'd rather not modify this existing functionality.

mozilla2012 commented 3 months ago

Say at night, before bed, I set an alarm for 9 in the morning. I see the "alarm is set" notification and dismiss it immediately, because I know the alarm is set; I just set it. But then I wake up early on my own and leave the house early at 7, forget about the alarm, and the alarm goes off while I'm out of the house. What do I do? I'll have no option but to uninstall the app.

If it's an optional setting it'd be a handy feature.

In my opinion, the "Alarm has been set for xx:xx" notification would be more useful if it appeared closer to when the alarm is about to go off. Having that notification appear right when I set the alarm really provides no value to me, IMO. If I'm actively looking at the app, why would I want a notification telling me I can cancel the alarm that I just set? I don't understand the use case of that notification and think it'd be better to have that notification appear ~1 hour before the alarm is set to go off.

sweakpl commented 3 months ago

Ok, you're right - ongoing notifications are dismissable since Android 14 and one might not have a reminder that an alarm is set when they've dismissed the initial notification.

I can definitely set up this one-hour-before-alarm notification, but I'm not entirely sure about allowing the user to be able to dismiss the alarm without scanning the code whenever they want (except one case*) by using the notification action. I always really wanted to avoid a situation where QRAlarm would just allow to turn itself to just a regular alarm clock that doesn't require the QR/Bar code. That's why the app requires the user to set up the alarms more consciously, evening by evening, so that the user is really prepared to dismiss the alarm with their code.

Considering all of that I think might replace the old ongoing "Alarm is set" notification with a notification that would appear ~2 hours before the alarm so that it still allows the users to utilize the no-code dismissal feature* via the notification while providing the actual benefits of this approach that you've mentioned.

* There is an existing (optional) functionality that allows the user to dismiss the alarm without scanning the code when the alarm is in less than 1 hour (either by clicking 'Dismiss' button on the notification or 'STOP' on the home screen).