• 1) is it correct to keep button 3 pressed to return to the main menu?

    Yes, it is...

    2) if it is correct, how can I do on the programming side to ensure that my app is always in the background?

    Realistically you need to make a widget (http://www.espruino.com/Bangle.js+Widget­s) or just a file called myapp.boot.js that will always run at startup. You can't persist data in RAM when the app changes, so you'd need to write state to Storage. So for example for a countdown timer you just store that it's in progress and the start time and you're fine (I guess looking at how alarms work might be helpful there).

    I feel like your next question is probably: why can't my app persist?

    The simple answer is: we can't trust apps.

    There's so little memory available that we really need to make sure there's no memory 'leaking'.

    If I were to allow apps to 'unload' themselves such that we could flip between them while keeping other things running, chances are a decent amount of them wouldn't do it correctly. The experience for users would be really bad (with the watch breaking every few app changes).

    Of course you can do it yourself. Kitchen Combo is an example of an app that contains several parts which you can flip between - and which all load and unload dynamically.


Avatar for Gordon @Gordon started