← Back to team overview

ubuntu-phone team mailing list archive

Re: Power management policy

 

On 07/19/2013 09:04 AM, Thomas Voß wrote:
On Fri, Jul 19, 2013 at 5:51 PM, Mike Bybee <mbybee@xxxxxxxxxxxxxxx> wrote:
On 07/19/2013 08:45 AM, Josh Leverette wrote:

The spec looks very promising.


On Fri, Jul 19, 2013 at 10:06 AM, Thomas Voß <thomas.voss@xxxxxxxxxxxxx>
wrote:
Hey there,

you might be interested in:

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

https://docs.google.com/a/canonical.com/document/d/1ij8RtPsR_eYMW3mys8Gu1Y2CVFZpjXdMpdIjIGZ1SCA/edit#

In summary: We will implement a very strict lifecycle policy, too, and
one that seamlessly adapts and extends to different form-factors.

Thanks,

   Thomas

On Fri, Jul 19, 2013 at 4:46 PM, Zisu Andrei <matzipan@xxxxxxxxx> wrote:
Hey guys,

What I find interesting in the iPad (I just have one because I need it
for
work) and recently in Mac OS Mavericks is their power managent policy.

Put simply, in iOS, except a few very special cases, you applications
will
be stopped when they go into background. So the foreground app gets full
reign of both memory and CPU. This also has a very beneficial effect on
battery life - in Android, apps running in the background still eat
cputime.

What OS X Mavericks is doing is taking this idea further into a
noteboook
environment [1] with their application nap and timer coalescing. You
really
only get the most out of your battery.

While this might not totally work in an environment like Ubuntu, would
it be
possible to throttle the foreground application and slow down the
background
ones?  What would this imply? Is it do-able in the current state of
Ubuntu
Phone, or do we need extra things at kernel level?

[1] http://www.apple.com/osx/preview/advanced-technologies.html



--
Sincerely,
     Josh



So, using a common example of an IM client or media player - would we assume
that would stay in "unfocused" state? You mention that only core apps can
run as background - that would mean it's not a valid state for a normal 3rd
party app.

Even core apps will not be allowed to run in background. We have an
exit strategy in terms of the flag described in the document, but we
will most likely not use it. However, we will provide services within
the system (media playback, downloads, alarms) to allow apps to
describe specific background operations. We will extend the list of
supported operations over time.

HTH,

   Thomas



I would suggest that we want to fall closer to Android's app model than Apple's - or perhaps let the user decide how heavily it policies background apps. A mobile can get by with very limited background apps - but a tablet will not. My android tablet frequently has multiple apps running that I switch between regularly, from allowing a slow website to load while I'm writing a doc to a game that I pause so I can look up a hint.
Let's not paint ourselves into a corner before we even start.


Follow ups

References