timer-machine-android icon indicating copy to clipboard operation
timer-machine-android copied to clipboard

Problem with customizing the app alerts to my needs

Open dcdom2 opened this issue 2 years ago • 18 comments

Hi,

I like your app and it shows great care and potential. However, I find myself unable to create timers with certain characteristics.

  1. Alert (sound. vibration, etc) at the end of a step (as an option).

    • Current solution is to create a notifier step, but this introduces the difficulty of:
      • doubling step count (notifier for every step).
      • having to duplicate step names (system notification shows the name of the notifier, not the actual preceding step).
  2. Halt at the beginning of a step (as an option).

    • Currently the name of the previous (halted) step is shown in the notification. I need to to know the name of the step I am about to do.

If you put 1 and 2 together:

  • I get an alert that step 1 is finished.
  • I open my phone to find the timer paused and the name of the next step and a button to continue (like the current "Next" button). This is useful for the steps that have a lax start time but need a strict duration.

Thanks

dcdom2 avatar Jun 21 '23 18:06 dcdom2

Separating reminders from the countdown is a trade-off in favor of customization. Before this app, I developed an app that included a reminder at the end of each step, and it didn't work well because of the lack of enough customization.

The reminder "Count" can work at the end of a step.

You have to open the app to check the next and previous steps' information. The space in the notification is too limited.

DeweyReed avatar Jun 23 '23 10:06 DeweyReed

You have to open the app to check the next and previous steps' information. The space in the notification is too limited.

I see. I still think "halt at the beginning" would solve many of my issues. 🤷‍♂️

dcdom2 avatar Jun 24 '23 09:06 dcdom2

Currently the name of the previous (halted) step is shown in the notification. I need to to know the name of the step I am about to do.

The notification always shows the current step' name. Do you mean adding the next step's name to the notification? It sounds like a practical option.

DeweyReed avatar Jun 26 '23 01:06 DeweyReed

In my opinion it should always show the current step title. For example, you have step 1 and step 2. Currently, you can only halt at the end of a step. This means notification will show "Step 1" until you tap "Next". I am suggesting allowing an option for "halt at the beginning" so that I can put the halt in step 2 instead of step 1 and the notification will show the current (halted) step which is the due one (step 2).

dcdom2 avatar Jun 26 '23 17:06 dcdom2

I'm a little confused. You can put "Halt" at any step, and the timer will count toward the duration and continue after reaching it until you click "Next." So does putting "Halt" at step 2 solve the problem?

DeweyReed avatar Jun 29 '23 00:06 DeweyReed

Halt at step 2 will make sure the notification says the title of step 2 (not step 1 which I don't need any more).

Step 1 > Halt           Notification says "Step 1"
Halt > Step 2           Notification says "Step 2"

dcdom2 avatar Jun 29 '23 11:06 dcdom2

Do you mean when the step reaches its duration and continues forward, show the name of the next step?

The current step's name may still be helpful. Adding an option to reveal the next step's name below in the notification might make sense for both cases.

DeweyReed avatar Jun 30 '23 01:06 DeweyReed

Do you mean when the step reaches its duration and continues forward, show the name of the next step?

When step 1 reaches its full time, the timer moves automatically to step 2 but pauses at zero until the user taps continue. While it is stopped at zero (beginning of step 2) the notification will show the name of the current step which is step 2. When the user taps continue, the timer will begin the duration of step 2.

Adding an option to reveal the next step's name below in the notification might make sense for both cases.

Will the notification have enough space?

dcdom2 avatar Jun 30 '23 12:06 dcdom2

In my use of TimeR Machine, I prefer to use halting and move the timer forward manually. But there is a recurrent scenario where I can start the timer, but can't use the phone while it runs. So I can't use halting but instead use count (and newly TTS) to tell me when to do each step and its name. I put the phone away (where I can hear it) like in a pocket or a purse. It works well but misses a small improvement:

Sometimes, I don't remember the upcoming step beforehand. If there can be a way for TTS to tell me 30 seconds (for example) beforehand what the upcoming step name is.

  • Currently you can achieve this by splitting each step into two and repeating the name of the step.

  • So:

    Step 1: first half.      Title: "Step abc"
    Step 1: second half.     Title: "Prepare for step xyz"
    Step 2: first half.      Title: "Step xyz"
    Step 2: second half.     Title: "Prepare for step 123"
    etc
    
  • Alternatively we can also use the voice command to tell the title of the next step before it starts to be able to prepare.

dcdom2 avatar Jun 30 '23 13:06 dcdom2

I see. Thanks for your explanation and examples!

Adding a new reminder can be challenging because it has to work well with every other reminder. On the other hand, a new voice command(like a voice variable "SNameNext" for the name of the next step) will help you in the situation you mentioned. And it's straightforward and quick to add.

DeweyReed avatar Jul 01 '23 01:07 DeweyReed

A voice variable would be nice. When (during the step) do you plan for it to play? I suggest 30 seconds before the start of the next step as a sane default. Customization would be nice, though.

dcdom2 avatar Jul 01 '23 15:07 dcdom2

The variable is easy to add, but the time point to start the reminder is hard to decide and nontrivial to implement because the interaction and order of all reminders are complex.

I'll add the variable first, but the option to start a reminder later in a step will require more consideration.

DeweyReed avatar Jul 03 '23 01:07 DeweyReed

How about expanding "Half" to become "Chime" or "Tracker" where (instead of using count to select a countdown of 120 seconds, voicing every second) you can set times from the end of the step for the app to voice:

Time: {SDuration}/2: Halfway of {SName}. Time: {120} Text: Two minutes till {SNameNext}. Time: {60} Text: One minute till {SNameNext}. Time: {30} Text: Thirty seconds till {SNameNext}. etc

In the Edit Timer view, it can look like ⏰ Tracker:Half,-120,-60,-30 ⚙️

Just an example.

dcdom2 avatar Jul 17 '23 22:07 dcdom2

Like combining Voice and Half so that TTS triggers at a specific time? When different reminders interfere, the complexity of their ordering will increase dramatically.

DeweyReed avatar Jul 20 '23 01:07 DeweyReed

When different reminders interfere, the complexity of their ordering will increase dramatically.

That is true. I have been thinking of how best to manage and reduce such complexity.

This already exists. For example "Beep" has the "respect other sound" option. Also, if you have a 30-second step with a countdown, voice or beep will overlap with the count.

You can offload such complexity (if it arises) onto the user. Let them figure out how best to modify the alerts (for example, reduce the countdown to leave a pause between voice and countdown.

You can also give priority according to the order in which the user selected the alerts.

Whatever solution is best, I ask that voice have more flexibility: For example, voice the step name (or whatever variable) at the beginning, while also allowing voicing a reminder midway (like the current Half) and a voice 1 minute before the end announcing the next step title. Just an example. This can be done by using voice multiple times (each with different timing) or using "Tracker" like in my previous comment.

dcdom2 avatar Jul 23 '23 16:07 dcdom2

The app doesn't support multiple instances of the same reminder. And the feature requires some time.

Adding a trigger time to voice is easier to implement, but one step can only have a voice.

At the time being, you can combine voice, half, and count to at least know which part the step has reached.

DeweyReed avatar Jul 24 '23 04:07 DeweyReed

The app doesn't support multiple instances of the same reminder. And the feature requires some time.

I understand.

At the time being, you can combine voice, half, and count to at least know which part the step has reached.

A(nother) suggestion I am just floating 🙂: how about changing the default behavior of count?

For example, a step of 5 minutes, with count set to 180 seconds.

Instead of voicing every single second (currently, the voice doesn't even have enough time to say one hundred seventy three), do something like this:

  • At -180, say: 3 minutes till "Next step"
  • Silence
  • At -120, say: 2 minutes till "Next step"
  • Silence
  • At -60, say: 1 minute till "Next step"
  • Silence
  • At -30, say: 30 seconds till "Next step"
  • Silence
  • At -15, say: 15 seconds till "Next step"
  • Then count each second from 14 till 0 without naming the next step (the current behavior).

I think that this is a good default (without extra configuration on the user's part), won't conflict with existing timers that use 5-10 second counts for example, and will satisfy my needs until and if you work on other features.

dcdom2 avatar Jul 24 '23 21:07 dcdom2

Good idea! Options like every minute and every second should suffice. I can also improve how the app pronounces seconds longer than a minute.

DeweyReed avatar Jul 27 '23 10:07 DeweyReed