Run apps at specific times (and wake system from suspend if needed) #1385
Replies: 2 comments 1 reply
-
To have a real alarm and work ("task") manager, the system will always need to identify what it is facing. Without that, no way no manage anything. When something is identified, then the system should knows what to do with it. To identify something, you are playing with constraints, limits (they can be minimal depending how you can group cases). For wake-up, the app waking-up the system is not a property an app can set, but a property of a case where the system can decide to wake-up or not for this case. For checking (like checking for new mails), this can be a case (as a direction) where the app asks to start each X time (time period maybe to be selected by the user) and have limit such as a given time window to do its thing before being stopped. If you really want to have properties which can be combined at will, then it is about explaining how a system is supposed to manage things. Explaining facilitates review and acceptance of what you want without having to guess you have in mind. |
Beta Was this translation helpful? Give feedback.
-
A small feedback on the current work:
For the system, be clearer on what these new features should allow. Here is what I expect:
Here is an example with the screenshot portal ("easy" case I looked at). Here I'm using a variation of the portal where the user can choose between the permissions "always allow the app to take screenshots" and "ask to take screenshots" (i.e. always display interactive mode).
|
Beta Was this translation helpful? Give feedback.
-
I first started looking into how we can have apps start at specific times a few years ago, primarily to properly support alarm clock apps. Since then I had multiple discussions on how we can get rid of having to have a background process running for each app that needs to perform tasks priodically or at a specifc moment in time (like e.g. GNOME Clocks or Pika Backup are doing today).
Android has two features related to this:
My feeling is that for us a good first step is to focus on the Alarm Manager style use cases. They are both more common, and much easier to handle (seeing as they don't require a whole new system that executes background workloads).
Requirements
With that in mind I'd start with something like this as a scope:
Questions
Some things I'm wondering about:
Prototypes
I've worked on two prototypes for this.
Older prototype from 2023:
New prototype from last week:
CC: @calebccff
Beta Was this translation helpful? Give feedback.
All reactions