← Back to team overview

ubuntu-phone team mailing list archive

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

 

On Fri, Oct 2, 2015 at 12:27 PM, Alan Bell <alanbell@xxxxxxxxxx> wrote:
>
>
> On 02/10/15 11:10, Matthew Paul Thomas wrote:
>>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Alan Bell wrote on 01/10/15 12:25:
>>>
>>> I quite agree, even if it is a user preference it would be fine,
>>
>> Making background processing a user preference would be the worst
>> possible approach. It would mean sometimes having to choose between
>> battery life and an app that works.
>
> well at the moment the phone prioritises battery life over functionality all
> the time, and people like me have no clue what stuff is supposed to work in
> the background and what stuff is supposed to break, I want it to work like
> my laptop but it doesn't.
>>
>>   It would mean users experiencing
>> different things, from the same app on different devices, and not
>> understanding why, never realizing that it was because they twiddled
>> the setting a year ago to see what it did and then forgot about it. It
>> would mean app developers often not experiencing their own apps the
>> same way that most of their users were. It would mean silly nag
>> screens in some apps prompting you to change your multitasking
>> setting. And for a combination of those reasons, it would require
>> people to learn what "background processing" is, and make a decision
>> about it, when most of them have far, far better things to do with
>> their lives.
>>
>>> I would choose to have multitasking when the screen is on. I find
>>> it rather frustrating on slow connections to be unable to
>>> background the web browser to let it load something while I check
>>> on other things.
>>>
>>> ...
>>
>> Notice how Safari on an iPhone doesn't have the same problem, despite
>> not multitasking. Half-load a page, switch to another app, switch back
>> a while later, and the whole page will usually be loaded. (Except
>> maybe bits that were to be loaded by scripts that were frozen.)
>
> I have never used an iPhone and I don't really care what they do, I didn't
> buy an Ubuntu phone to have a similar experience to an iPhone, I bought it
> to have a similar experience to Ubuntu. My expectation is that running stuff
> runs - my more sophisticated expectation is that things in the background
> have a low nice level and perhaps run in reduced power modes - but still
> run.

I see your point here, but: Ubuntu Touch is an iteration and an
evolution of Ubuntu for very good reasons.
It has to account for the inherent resource constraints present on
mobile devices. With that, assumptions and paradigms
have to be revisited and potentially adjusted. Not taking the
competition into account would be a mistake, so comparing with and
investigating into other well-established mobile operating systems is
a necessary and very healthy exercise :)

I think the same holds true for our very own expectations towards the
overall system. They have to take the problem domain and associated
constraints into account.

Cheers,

  Thomas

>>
>>
>> So, multitasking is not the only solution to that problem.
>>
>> A better solution, perhaps, would be to expand the Download Manager
>> service.
>>
>> <https://developer.ubuntu.com/api/apps/qml/sdk-15.04/Ubuntu.DownloadManager.index/>
>>
>> First, make it accept more than just an URL. You can encode HTTP
>> authentication into an URL, but you can't provide cookies, client
>> certificates, a POST form payload, or even an HTTP Referer.
>>
>> Second, instead of making it an opt-in API for apps to use for "a long
>> running connection", just make it automatic for every transfer.
>> There's little point in halting a transfer because an app is going
>> into the background; the app will usually just restart it again later,
>> using more battery (and more data) in the long run.
>>
>> If those two things were done, the Web browser could use it for almost
>> everything. So as long as the HTML of a page had been loaded, with the
>> other resources requested, the rest of the page would load in the
>> background.
>
>
> that does sound clever, and complicated, and it sounds like it would break
> comet/webrtc/streaming stuff quite badly.
>
>
> --
> 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


References