• I think the back button and stuff like widclose/widcloselaunch have slightly different purposes. The widgets get me back to clock/launcher in one touch from everywhere. The back button is/should be more dependent on context. It was initially created for things like menus, to be able to navigate the different layers there without having to create an explicit menu entry for going back. So essentially back navigates inside the current app and on reaching the "root" level of the app it currently either disappears or the next touch goes to launcher or clock. What is actually happening is of course implementation dependant.
    This is the reason for https://espruino.github.io/BangleApps/?i­d=fastload having the redirect option which can redirect every call to Bangle.load (and thus indirectly Bangle.showClock) to Bangle.showLauncher.

    Maybe we need some kind of UX guideline in the docs regarding the use of the back button? Or a default implementation going back to clock or launcher (configurable?).

    Regarding the weather app, I think the use of the clock UI is a workaround for not having to copy over the clock UI implementation. Since the only thing that UI actually does is setting a button for going back to launcher, replacing that for weather with a custom UI would probably be ok.

  • That makes sense - in rough Android parlance, the Bangle back button mimics the Android Back button (even down to the inconsistency with which Android apps handle "back" events), and widclose/widcloselaunch act like the Home button/"open launcher" keyboard shortcut, respectively.

    I feel like it'd be reasonable to have a default implementation that's either a boolean to enable or made opt-out, similar to how the widget bar can be shown/hidden. However, I'm not sure how practical this would be in reality.

    And noted on the weather app! Whenever I have the time/energy, I'll look into making this change.