← Back to team overview

ubuntu-phone team mailing list archive

Re: The problem with "no background processing for apps"

 

On 02.10.2015 09:36, Alberto Mardegan wrote:
On 02.10.2015 10:29, Yann wrote:
If I can add my insight ... I think some applications (not all) should
be able to run on background like Facebook for example ... everybody has
Facebook Messenger on other platforms, and they write messages only
through this program. The problem is that we don't have any Facebook
notification (or at least i don't, and yet i have activated the FB
notifications in settings), and as long as we don't check the webpage,
we don't know. Maybe there is a way to have notifications only for
private messages ??

I think that for this case, as well as the Dekko example mentioned at
the beginning of the thread, are not good use cases for asking apps to
be able to run in the background.
The reason is that I want to get e-mail and Facebook notifications
regardless of whether the respective application is running or not. So,
at least for these cases some kind of system service must be used. Maybe
we don't have it right now, but that's the way to go IMHO.

I still believe that background processing is something we'll have to
allow in some cases (especially for navigation apps), but I'm also
against allowing any app to continue running in the background.

I totally agree with that. Just running the full app all the time doesn't make any sense. When a app needs to run something while it's not visible there is always a specific thing it wants to do any those bits are what we need to abstract in some way so that the system still has this under control and can limit those bits to only run when the system is in a good state. For example think about the case where we're really short in battery and don't want anything power intensive to run. If we would just allow any app to run in background and do anything it wants we don't get enough time to get to the next power outlet. For such cases the system needs to limit what runs and what doesn't.

For your example above we already have one abstraction layer: account-polld. It already polls some of your accounts for new messages and presents those as notifications. The control over this, when a poll should be run and how long is still up to the system. Some time ago I started experimenting with adding support for external pollers in account-polld which would enable every app to put in a poller for its accounts. For this is just an experiment and nothing which will land anywhere anytime but I think those bits are what we need to get out of "no background process for apps". Similar case is spotify support which was already discussed in another thread where a similar solution would apply to extend media-hub to allow external players which a spotify app would then implement one for.

Btw. for messaging we have the upcoming messaging-framework to solve this problem ...

regards,
Simon



References