← Back to team overview

ubuntu-phone team mailing list archive

Re: Running background services

 

Thanks for that link Thomas - very helpful!

I'm sorry to say I'm still a little confused about one thing (amongst many!)...

I'm writing an app that is taking this shape:

- An app that can start and stop as the user and OS decides - which acts as the interface between the user and a daemon, which does the real work. - The daemon, which as I said, does the real work. This needs to keep running. - Lots of little apps with NO user interface that do work for the daemon, running very briefly. Planning to do it this way to make it easily extensible.

Is this a model that will work in our scenario?


The app is a little like Cuttlefish (Linux), or Llama or Tasker (Android)

Thanks!

Till later,
Scott.
______________________________
    Scott May.
    scott@xxxxxxxxxxxxxxxx

    Mobile  0417 195 018


On 14/08/13 18:34, Thomas Voß wrote:
Please also see:

   https://blueprints.launchpad.net/ubuntu/+spec/client-1303-add-app-model-and-lifecycle-to-platform-api

and the linked documents for further details.

   Thomas

On Wed, Aug 14, 2013 at 10:33 AM, Thomas Voß <thomas.voss@xxxxxxxxxxxxx> wrote:
The state of an application is transparent to the user. Behind the
scenes, the system can decide to stop/kill non-focused apps at its own
discretion. Whenever the system alters the state of an app to "not
running" it offers an archive such that the app can persist its state.
With that, a user ideally never realizes that an app has been stopped
or killed.

Thomas



On Wed, Aug 14, 2013 at 10:08 AM, Tobias Havla <tbhavla@xxxxxxxxx> wrote:
On 14.08.2013 10:04, Thomas Voß wrote:
On Wed, Aug 14, 2013 at 9:56 AM, Tobias Havla <tbhavla@xxxxxxxxx> wrote:
On 14.08.2013 09:54, Thomas Voß wrote:
On Wed, Aug 14, 2013 at 9:41 AM, Michael Zanetti
<michael.zanetti@xxxxxxxxxxxxx> wrote:
On Wednesday 14 August 2013 09:31:31 Daniel Holbach wrote:
Hello,

On 14.08.2013 09:29, Michael Zanetti wrote:
On Wednesday 14 August 2013 09:07:52 Thomas Voß wrote:
Hey Fabio,

no, applications are not allowed to run in background. Our application
lifecycle is strict in this respect and we only guarantee focused
applications to be running.
Does that mean I will have an Ubuntu Edge phone with 4GB of RAM, 8 CPU
cores and cannot do multitasking on it?
I don't think anyone specified the phone to have 8 CPU cores - where did
you read that?
Nowhere... I think you get my point...

How is "app authors can write daemons" = multitasking?
How does this relate? Thomas said there will be no running apps in the
background / minimzed apps, which to me means there will be no multitasking.


We have had this conversation multiple times in the past, and version
1 of our application lifecycle will not allow to run arbitrary
applications in the background. Instead, we will provide selected
services to hand over to the system for certain tasks, e.g.,
downloads, alarms, music playback. Please note that this is a policy
targetted towards the "mobile phone" usage scenario and swapping
policies at runtime when transitioning to different usage scenarios is
one of the primary goals of the lifecycle architecture.

Version 2 of the lifecycle will then allow applications to run their
own background tasks, UI less, with restrictions on
CPU/Memory/resources in general.

Thomas

--
Mailing list: https://launchpad.net/~ubuntu-phone
Post to     : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~ubuntu-phone
More help   : https://help.launchpad.net/ListHelp
If Ubuntu Touch doesn't support multi task it is far behind iOS,
Android, Windows Phone and Blackberry. Sorry, I thought it would be a
modern system that requires a lot of power, so we can do the same things
as on our PCs.
Okay, let's be clear here: Multitasking and application lifecycle are
related but distinct topics. Obviously, Ubuntu Touch will support
multi-tasking, but an application lifecycle architecture that allows
for controlling resource consumption of applications by the system is
sorely needed to ensure a long-running _mobile_ device. It is not
sufficient to assume that app authors will get it right and it is
important to note that users always "blame" the platform for bad
battery life. And that is for a good reason: It's the platform's/OS's
responsibility to put mechanisms in place to manage a device's
resources!

Our application lifecycle policies and state machines allow us to
exercise this level of control for specific usage scenarios, but they
do not touch on general multi-tasking capabilities and we can leverage
the full process state spectrum to ensure a seamless operation.

   Thomas
So can two or three applications run at the same time and other gets
closed/suspended or can I switch between two applications only with
reloading the application?
We have a gesture to quick switch between apps, so if we have to reload
apps while we are multitasking this gesture makes no sense. A good way
would be suspending apps like Android does (/Greenify). The doesn't
notice that and the battery life is good.


Follow ups

References