We have moved to a new Sailfish OS Forum. Please start new discussions there.
26

[Request to Fix a Bug] True Multitasking

asked 2015-04-21 18:27:18 +0300

babooo gravatar image

Jolla promised us a true multitasking OS on Jolla phone, and still doing so on the tablet. We are sick of applications randomly being closed/killed.A true multitasking OS does not kill applications the way Sailfish does right now (even android does not do that).Personally i cant even open an android application without others being killed, or even sometimes the application itself is killed when no other apps are opened.I believe that this should be The priority for Jolla and focuse on delivering a true multitasking OS and not a fake one,instead of ignoring this issue after three software updates.

I know that this is discussed in other Threads but a dedicated one is definitely a better choice.

edit retag flag offensive close delete

Comments

4

I would also rather have a lagging system than a closed app... you can never know which app is going to be killed and if I open an app to use several details from another one, I had already the problem that the source app gets closed. Great thing in a situation were you need to hurry...

If the system is too "hungry" for the RAM in the phone limit the possible opened app to a max value and tell it via popup to the user so he can close things manually.

PatsJolla ( 2015-04-21 18:42:27 +0300 )edit

AFAIK Jolla kills the application when it runs out of memory. Linux does too. Does Windows do same, or just hang up the whole system?

Smar ( 2015-04-21 18:53:30 +0300 )edit

Windows refuses to open an application when it runs out of memory.

Giacomo Di Giacomo ( 2015-04-21 19:06:19 +0300 )edit
1

@Giacomo That’s not possible. What happens when a program tries to request more memory?

Smar ( 2015-04-21 19:21:05 +0300 )edit
13

Well for those who owned a Nokia N9 like i did,know that it was a linux phone with only 1 gb of rams and 1 processor and was perfect (alsmost).Never killed an app by itself.

babooo ( 2015-04-21 19:43:45 +0300 )edit

3 Answers

Sort by » oldest newest most voted
31

answered 2015-04-23 10:07:34 +0300

t-lo gravatar image

updated 2015-04-23 10:08:52 +0300

There seems to be a severe misconception about the nature of those "killings". The Jolla Phone as a comparably low amount of RAM - which leads to killings when more than a few apps are open.

A true multitasking OS does not kill applications the way Sailfish does right now (even android does not do that).

Yes, actually, when faced with a dire situation (such as Out Of Memory) a sane OS would do exactly this - kill memory-hogging applications that are deemed not as important as the rest. I understand that Sailfish utilizes the native Linux OOM killer (see http://linux-mm.org/OOM_Killer) with a few custom modifications (you would not like to have your call app killed in any case). Sailfish even makes reasonable use of swap space in order to re-gain memory of applications that don't really access that memory (which has its own drawbacks on a mobile device). So, in fact, you're observing standard Linux behaviour when your apps are killed because your device ran out of resources.

I'm not very Android-literate, but as far as I understand Android does not multi-task _at all_ - it puts applications which do not run in the foreground in a special cgroup (the "freezer", see https://android.googlesource.com/kernel/common/+/android-3.10/Documentation/cgroups/freezer-subsystem.txt), effectively stopping those completely. When backgrounded on Android interaction is only possible for an app by use of notification hooks, "intends", and the like. Consequently, those "frozen" apps need very few resources as they can be removed from memory completely if required. Apps must honour this behaviour from the beginning, i.e. be written in a way that does not break the app when it is "backgrounded" like that.

In other words, the OOM killer problems we are facing on the Jolla phone are caused exactly _because_ Sailfish does real multitasking - and hence the backgrounded apps, contrary to Android, still require resources.

edit flag offensive delete publish link more

Comments

Thank you!

XiliX ( 2015-04-23 10:22:44 +0300 )edit
3

It really is annoying having to go back to the app drawer and re-open the apps that were killed. And in a practical sense: it is a worse multitasking experience than on Android. There, you at least have the most recent apps available in the recent apps menu. And even though they may in reality be suspended, it works quicker than Jolla ATM: go back to Home Screen, find out that the app you want to switch to has closed, swipe down several screens to relocate the app, press the app and watch the feature length animation of the app starting up.

So I would suggest the following. If there is enough memory, let everything run at the same time (Real multitasking like you say). But if memory is low: instead of killing the other apps, they can be suspended so that they stay available on the home screen. Of course, if you select a suspended app, it needs to restart as well. But is saves us the hassle of finding the app again in the app drawer.

bilgy_no1 ( 2015-05-08 10:00:44 +0300 )edit

Going Android is the opposite of the original post's proposal (which asks for "real" multi-tasking - even though this is currently implemented). Using Android-like application scheduling would mean a significant development impact on every existing and future Sailfish application. Android apps are written in a way that they can be killed and re-started w/o the user even noticing (and most apps, although not all, implement this the right way). Consequently, there is no "list of running apps" anywhere in Android; instead, Android uses a list of "recently used" apps. Apps in this list may be running, suspended, or may have been killed a long time ago. Tapping an app will re-start it if necessary, the Android ecosystem will try to make sure the user doesn't even notice.

Proposing (and subsequently implementing) a similar concept for Sailfish would be quite a huge project indeed.

t-lo ( 2015-05-08 11:43:14 +0300 )edit
1

instead of killing the other apps, they can be suspended so that they stay available on the home screen

I would settle for a simple placeholder which is left on the taskscreen when the app is OOM-killed. E.g. the user sees a dim B&W cover and understands that the app was killed, but he can tap on this pseudo-cover and it launches the program again. It is very easy to implement and it will solve that "hassle" problem you mentioned.

ScumCoder ( 2015-05-08 11:58:35 +0300 )edit
1

@t-lo I'm not suggesting we go the Android way. Just pointing out the irony that the multasking experience in Sailfish is currently worse than in Android, even though it's supposed to be better. Like you say, the user hardly notices a difference between active/suspended/killed apps.

@ScumCoder That is a perfectly acceptable solution. And if the hardware is fast enough starting up the apps, the user will hopefully hardly notice the difference.

bilgy_no1 ( 2015-05-08 13:15:50 +0300 )edit
4

answered 2015-05-08 11:19:35 +0300

ScumCoder gravatar image

I am the author of this thread:

Make 'app-autoclosing-on-OOM' optional

, and I do not understand what you are talkig about. Ever since Yliaavanlampi came out I haven't got even a single OOM killing. My taskscreen normally looks like this:image description

This is the most multitasking I ever need. (Please note the EXTRA memory hungry program named "Firefox", which is running in AlienDavik). I'm scared to even think how far you are pushing your phone to get OOM killings on Yliaavanlampi/Äijänpäivänjärvi. I doubt any phone with any OS will be able to handle that.

Well for those who owned a Nokia N9 like i did,know that it was a linux phone with only 1 gb of rams and 1 processor and was perfect (alsmost).Never killed an app by itself.

That's because MeeGo didn't have Android support. Uninstall AlienDavik from your Jolla (or switch it off using Utils) and you'll be amazed with how many native applications you are able to run simultaneously.

I am kinda harsh towards the Jolla devs myself, but this time even I have no complaints. They made a wrong decision, people (including me) asked them to fix it, and they promptly fixed it in the very next update.

edit flag offensive delete publish link more

Comments

I agree, there has been improvement. I did notice, however, that lipstick (and / or) some apps eat memory. With an uptime of 21 days, I couldn't start firefox anymore, OOM would kill it immediately. (I have the oom_adj of my long-term running apps set to a value that will never have them killed.) With a restart of lipstick things worked again.

Jolly-Jo ( 2015-05-08 11:35:43 +0300 )edit
1

Wow Well it seems that I don't use my Jolla in the way it used to be ;) I rarely use more then 2 Apps at the Same time (system settings and a android messenger) some times 3 if I'm outside and use my mail app

So I never run into any oom-kill. Still I love the real Multitasking an the half transparency when wiping from the sides to check for Example numbers from a picture I want to write into an input field

imunar ( 2015-05-08 12:00:29 +0300 )edit

@imunar The cover system was meant as a substitute for a classic desktop with widgets (which is absent on Sailfish). The idea was that instead of adding a widget to your desktop, you will start the corresponding app and then minimize it, so that the information you are interested in can be seen on the cover.

ScumCoder ( 2015-05-08 12:16:14 +0300 )edit

@ScumCoder thanks for the replay

Sure, I understand the cover System, but for now I'm (in my use case) in no need for that many covers as new mails and messages will be in the notification slide and I don't care for the weather, data usage and alarms ;)

Maybe the calendar cover is getting attractive ;)

imunar ( 2015-05-08 12:32:14 +0300 )edit

Although the OOM-behaviour has indeed improved, I've still experienced killed apps on 1.1.2 and also on 1.1.4. It seems very hard to keep an app like Whatsapp active, which is needed to receive notifications, when I have 7 or 8 tabs open in the original browser.

bilgy_no1 ( 2015-05-08 13:20:35 +0300 )edit
2

answered 2015-05-08 10:29:28 +0300

bilgy_no1 gravatar image

updated 2015-05-08 10:40:20 +0300

This question raises an excellent point, and I hope that Jolla can work to improve the multitasking in further updates. Like you say, this is one of the key selling points of Sailfish OS, but at the moment is not working optimally. There are a number of other issues to fix in order to really get a great multitasking OS:

Fix the OOM-issue: When there is enough memory, allow everything to run. When memory is low: suspend apps instead of killing apps altogether. This way, they stay available on the Home Screen, so you don't have to re-open the apps from the app drawer.

Allow us to pin apps to the Home Screen, so that they're always on (Autostart from boot) and always in the same place. Feature requested here (please vote): https://together.jolla.com/question/62271/feature-request-sticky-appscovers/

[EDIT] COMING IN SAILFISH 2.0 [/EDIT] We should be able to open more than 9 apps on the Home Screen. Feature requeste here (please vote): https://together.jolla.com/question/691/extend-home-screen-horizontally-if-running-apps-9/ It would be even greater if we can resize App Covers (a bit like Windows Phone tiles), so you can have a larger Cover for the calendar, but a smaller for the flashlight.

Create a quick app switch gesture: quick switching between the two most recent apps without having to go through the Home Screen each time. Or to complete the gesture towards the app you want to open (see Tokaru's idea in the link). Feature requested here (please vote): https://together.jolla.com/question/16455/edge-gesture-app-switch/

True multitasking definitely requires system-wide Copy/Paste. Feature requested here (please vote): https://together.jolla.com/question/832/system-wide-clipboard-copy-paste-capability-partially-released/

Maybe there are other nice-to-haves wrt multitasking, but I think these cover the basics of a good multitasking OS. How about making this thread a repository of these issues/missing features and get as much as attention as possible on this part of the OS?

edit flag offensive delete publish link more
Login/Signup to Answer

Question tools

Follow
5 followers

Stats

Asked: 2015-04-21 18:27:18 +0300

Seen: 1,346 times

Last updated: May 08 '15