Quiet Mode

Posted on
  • Does anyone use 'Quiet Mode'?

    The implementation doesn't seem to fit very nicely and it seems hard to use, so I'm considering removing it and creating an app that allows you to just schedule certain setting changes for certain times of day (eg screen brightness, vibration, etc).

  • Great ! i was dealing with this App, trying to figure out what i was doing wrong (The silent/alamr mode was never auto switching, and when manually back to normal mode, i always had to reboot the bangle to make it set its setting back to normal)

  • I use quiet mode, in order to stop my watch from vibrating or lighting up while I'm sleeping.

    In a perfect world it would be nice if my watch synchronized itself with my phone's do not disturb mode, but as long as there's some way to make sure it doesn't bother me at night I'll be happy.

  • I use it, to suppress buzzing during the night.

    I agree it is rather clunky. Both the separate settings, and especially the bit where every app checks the quiet mode setting before buzzing.
    Ripping that all out and just scheduling setting changes would be a definite improvement.

  • so you guys managed to make it work...
    Do you use a different LCD brightness for the quiet mode as well ?
    Does the schdeule works or do you manual switch to quiet and back to normal ?

  • I always leave the LCD brightness set to full.

    The schedule works fine for me - I have it switch to "Off" at 8:00 and "Alarms" at 23:00.

  • ok, in my case it s only the LCD brightness that stick maybe.
    Anyway, the widget icon does not seem to change when the time scheduled is reached on my bangle.
    I ll give a try without any LCD change

  • There is a need for a quiet mode with anything that might go off while you are asleep. EG I dont care about that system update notifciation on my phone at 3AM. But I dont like the current implementation that much. Not sure why the setting is not implemented through the firmware instead of every app that does a buzz having to check quiet mode. Could the firmware silently return from Bangle.buzz() if quiet mode is enabled ?

  • The buzz call isn't the only thing that needs to be suppressed... I charge my watch by my bed, so I don't want the screen turning on and shining in my eyes for that 3am update notification either. However, I do want the screen to turn on if I interact with the watch directly, so a bit more nuance is required than just "suppress the setLCDPower call".

    Similarly, I wonder if there are cases where one would expect vibration to work even when quiet mode is enabled, similar to how do not disturb on Android does not prevent games or media apps from playing sound.

  • Oh right, that's the reason this stuff is built into all apps: it's the only way to know if it buzzes for an alarm or only for a notification.
    We might get away with something like Bangle.forceBuzz() for alarm apps? Someone might want to definitely disable all vibration though...
    Suppressing setLCDPower from apps might work, because turning on for interaction is done by the firmware. But then you end up needing a "disable setLCDPower" setting to schedule it :-(

    I don't use an alarm app, and if a notification arrives I twist my watch to look at it anyway, so just scheduling vibration = on/off and removing setLCDPower from notifications would be fine with me...

    (The schedule app also works fine for me: "Off" at 8:30 and "Alarms" at 21:30.)

  • Ahh right - ok, so the qmsched app is definitely the missing piece of the puzzle. So @rigrig as it's yours, is there any reason you think we couldn't just remove qmOptions/etc from settings and instead store it in the Quiet mode app?

  • just remove qmOptions/etc from settings and instead store it in the Quiet mode app?

    That would probably clean up things a bit.
    So the idea is:

    Current situation:

    • global quiet setting: apps check this so they know whether to buzz
    • global qmOptions setting: overrides options like brightness during quiet mode
    • qmsched app: changes quiet setting at scheduled times, shows a widget

    After moving things to qmsched:

    • keep global quiet setting: apps still check this. No longer needs it's own submenu.
    • qmsched app changes quiet setting at scheduled times, shows the widget
    • qmsched app also handles overriding options like brightness
  • so, the issue is here, on my use of the schedule app. I flushed it and reinstalled it, but still no change.

  • @rigrig yes, that sounds perfect. When it needs to change something, it can change the actual setting immediately and the settings.json file, so if apps change the effect is permanent.

    Is that something you're happy to do, or should I look at it?

  • I'd be happy to take a look at it, most of the work will just be moving some code around anyway.

  • Hi all,

    I'm not sure if I'm correct in this thread, I just try :)

    So, from the user side, I enjoyed Nubia watch's handling of "quiet mode" the most. It worked the following:
    To activate quiet mode:

    1. Go to settings -> set quiet mode active
      => Watch confirms and shows "quiet mode screen"
    2. done :)
      => After a few seconds, screen turns off completely.

    To deactivate quiet mode:

    1. Hold button for a few seconds
      => watch lights up and is ready
    2. done :)

    If you are in "quiet mode screen" and press the button (short, i.e. not long), screen shows "quiet mode screen".

    What is "quiet mode screen"?
    It only shows the time and the text "Quiet mode - long press button to turn back on" (or similar).

    Personal note: I liked this behavior very much as it was straight forward once I learned it. I'm not too much on a daily schedule which is why scheduling doesn't work out for me too well.

    I read the discussion here. You discussed some technical stuff (buzz, alarm... etc), I can't answer for other smart watches I had (Pebble, Nubia, Ticwatch).
    I can say, though, that I'm quite sensitive on light. So in quiet mode, the screen should never turn on except I explicitly ask it to do so which, I suppose, is best achieved by a long-press of the button, as I mentioned before.
    It never happened, but I guess I would startle if it would vibrate during sleep :D

    It would be great, though, if it could still measure heart rate etc. of my sleep...

    I haven't looked into coding for bangle, yet. I hoped you guys liked the idea and perhaps adapt qmsched or so to operate like this. Or you tell me, long-press is not supported by bangle :)

    Looking forward to your feedback.


  • Long press is normally reserved for a reboot. You could override that in code but then if you get into bother there is no way to reset the watch.

    Using the health app you can measure heart rate in your sleep. But note when the hear rate monitor turns on will light up the back with the green leds.

  • If there was an 'enter quiet mode' app, you could use the pattern launcher to invoke it whenever. I just use a schedule, works great.

  • If there was an 'enter quiet mode' app, you could use the pattern launcher to invoke it whenever.

    This sounds like a good idea. If you don't want the watch to do anything it should be pretty easy to write an app that just sits there silently with the bare minimum functionality when run.

  • I've been looking at making an app to allow easy changing of screen brightness, wake behaviour (basically to run before bed). Did you get anywhere with the app you mentioned in the first post for scheduling changes like this? If not then this might be something I'll pick up.

    Right now I'm just testing reading and writing settings:

    settings = require('Storage').readJSON('setting.jso­n', 1);
    if (!settings) load();
    if (settings.brightness != 0.1) {
      settings.brightness = 0.1;
    } else {
      settings.brightness = 1.0;
    require('Storage').write('setting.json',­ settings);

    EDIT: From actually reading the thread further it looks like some of these quiet mode scheduling apps might do what I want already, will have a look

  • I think you're looking for Quiet Mode Schedule and Widget.
    It can turn quiet mode on/off automatically on a schedule, and you can also tell it to switch themes or change LCD brightness during quiet mode.

  • Thanks @rigrig yep this is basically exactly what I wanted - though it has the issue of flashing to the previous brightness for a split second every time a new app loads while on the quiet mode. That's a pretty minor issue given I likely won't be interacting with the watch much while quiet mode is on.

    I wonder if there's a way of getting round that without also writing the global settings value like I'm doing above.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview

Quiet Mode

Posted by Avatar for Gordon @Gordon