All About Symbian - Nokia (S60) and Sony Ericsson (UIQ) smartphones unwrapped

Go Back   All About Symbian Forums > News and Comments > Series 60

Reply
 
Thread Tools Display Modes

  #1  
Old 30-03-2009, 12:09 PM
slitchfield slitchfield is offline
Administrator
 
Join Date: Nov 2002
Posts: 6,061
slitchfield is on a distinguished road
Shock, horror: Multitasking has been working for a decade and a half!

Why the big deal over problems with multitasking in a phone? Why the cries of "Can't be done" from the Apple world? I've been multitasking on just about every device I've owned since 1993.... What's really behind the current negative thinking over background applications on the iPhone? I put forward my experiences with Psion, EPOC and Symbian-OS powered devices over fifteen years as evidence that a well-written operating system shouldn't need kludges like Apple's 'Push notification' scheme.

Read on in the full article.
Reply With Quote

  #2  
Old 30-03-2009, 12:48 PM
Unregistered
Guest
 
Posts: n/a
Are you sure Steve? Symbian apps are developed to take part in the multi-tasking by deriving classes from CActive. This is the Symbian Active Object (so named before MS stole the words).
Symbian Active Objects are a co-operative multi-tasking, and this method uses absolute minimum processor when the app is not in the foreground, and thus conserves battery.

This is the often overlooked advantage that Symbian has, because it is a mobile OS designed from the ground up to work with minimal hardware and power resources. Nobody ever gives it credit, but NO other OS is anywhere near it in that respect, it is way out in front. This is why fat and clunky linux and unix based ports are struggling with multi-tasking and why Windows Mobile eats battery.

Steve, the OS from which Symbian OS is descended is EPOC32, which was new new development with a complete new codebase released in 1997, on the 5 and Revo.
Reply With Quote

  #3  
Old 30-03-2009, 12:51 PM
bbj bbj is offline
Registered User
 
Join Date: Apr 2006
Posts: 31
bbj is on a distinguished road
Multi-tasking

Forgive me for pointing out but basically the entire point of an Operating system is to manage the resources of a device, including processor time.

In a sensible OS it controls whether a process can run or not based on a number of factors.

So either i) MacOS/Linux as an OS is so fundamentally broken it is unable to perform such a basic task or ii) whatever nonsense Apple come up with is utter rubbish. Given the heritage of Linux I leave you to draw your own conclusions.....

In EPOC 16 (running on a 7.68 Mhz processor) - yes thats about the same processing power as a 10th century washing machine, there were never any significant real world issues with multi-tasking because the OS stopped total stupidity. It is/was not possible to say block the Kernel, file server or window server etc from running because the OS stopped such abberant behaviour, Symbian OS is not that much different.

If this is truely a problem then clearly the OS is not fit for the purpose alot of people actually want to use the devices for and perhaps Apple should think about using an OS thats is fit for purpose and putting their UI on top of it.


Almost certainly the real problem is that most iPhone components cannot properly handle somewhat abnormal conditions, e.g. low/out of memory without crashing/exiting. Not unreasonably Objective-C as a language attempts to hide all the nasties associated with memory management (as does say java) with the consequence that practically no programmer has any notion of how to handle an out of memory error condition in an app - other than exit. In most cases this is inappropriate behaviour as far as the user is concerned. By stopping any background apps you more or less elimiate this problem as the amount of Ram avail to any single app is pretty much the same from start to finish of the app.

So my conclusion is that a 10th century washing machine is clearly more fit for purpose than MacOS !!
Reply With Quote

  #4  
Old 30-03-2009, 12:52 PM
nondual
Guest
 
Posts: n/a
Lightbulb apple-controlled multitasking flag for apps

i think the "games" argument is a little bit wonky, but i agree with the rest of the article.
also, apple could solve the "problem" in a very simple way - namely by categorizing the apps during their review into apps allowed to run in the background, like IMs, GPS stuff, etc etc, and apps not suited to run in the background, like games (?) or other very resource heavy stuff. the app then would carry a (apple-signed) multitasking-flag, which tells the OS if it is allowed to run in the background or not. it's as simple as that - and apple can keep full control of the whole process.
Reply With Quote

  #5  
Old 30-03-2009, 12:55 PM
bbj bbj is offline
Registered User
 
Join Date: Apr 2006
Posts: 31
bbj is on a distinguished road
EPOC 32 was derived from EPOC 16

In short, Active objects are co-operative within a single thread to reduce the number of threads needed in the overall system to do a task + be very signficantly more efficient in handling multiple event sources within a thread.

The OS manages multiple threads and has little to do with active objects - thread get multitasked regardless of whether they happen to use AO's or not.
Reply With Quote

  #6  
Old 30-03-2009, 01:14 PM
antonioj
Guest
 
Posts: n/a
Great article Steve! Although i love the iphone, for all it does right, this is something i donīt "get".

For 90% of apps, thereīs not a big deal on not having multitasking. For IM apps, i reckon Push Notification should be enough. But there all other types of apps, that NEED to run on background to be usefull, like gps trackers, etc. And sometimes, you just want to have one or two apps always on to jump quickly between them. On the iphone, using backgrounder, i normally have tweetie and beejive always running.


This article also shows what iīve been saying in several iphone forums. 128mb of RAM is not a low value!!! Like the 5800, and my old P1, show, it should be enough for alot of multitasking on well optimized OSs. But on the iphone scene what we hear is that the iphone is very limited regarding RAM
Reply With Quote

  #7  
Old 30-03-2009, 01:14 PM
Serious 60
Guest
 
Posts: n/a
C'mon Guys

Apple sees everything from a design/monetisation point of view.
Think of the wider picture. Multitasking means a less deterministic environment - no developer can test their app in concert with a million permutations of other applications contesting for resources (RAM/CPU/sockets/LBS/Bluetooth/energy).

The question of weather the OS can support it is irrelevant.
As an example. Lets say that iPhone OS guarantees a high watermark of 200MB ( that is, the OS stack/menu etc will consume at most 200MB) so that when your app runs it will always have the same amount of RAM available to it. You can design your app so that you don't have to trouble the user with low memory dialogs. Or again if you are contesting for a shared resource, you don't have to have logic in your code which deals with a Bluetooth headset already being in use.

The net result of a restriction is less entropy - a problem that has plagued mobile software as it has struggled to maintain QA in the face of growing complexity.

Apple are masters of reducing entropy, which should translate to reduced support cost, improved perception of quality by both retailers and consumers and damage limitation to their brand = further monetisation.
We don't want a PC on our phone - we want a consumer electronics heritage of "just works".

If you want to see how shameful an out of memory handling system can be. Look at Trolltech's experience of dealing with out of memory:
doc.trolltech.com/qtopia4.3/syscust-oom.html

or this shocker from sutter:

gotw.ca/publications/mill16.htm

"On some operating systems, including specifically Linux,[4] memory allocation always succeeds. Full stop. How can allocation always succeed, even when the requested memory really isn't available? The reason is that the allocation itself merely records a request for the memory; under the covers, the (physical or virtual) memory is not actually committed to the requesting process, with real backing store, until the memory is actually used. Even when the memory is used, often real (physical or virtual) memory is only actually committed as each page of the allocated buffer is touched, and so it can be that only the parts of the block that have actually been touched get committed.

Note that, if new uses the operating system's facilities directly, then new will always succeed but any later innocent code like buf[100] = 'c'; can throw or fail or halt. From a Standard C++ point of view, both effects are nonconforming, because the C++ standard requires that if new can't commit enough memory it must fail (this doesn't), and that code like buf[100] = 'c' shouldn't throw an exception or otherwise fail (this might)."

In summary, an application could fail or be killed on linux through no fault of the application developer.
Whatever people say against symbian - It does have a robust out of memory handling scheme
Reply With Quote

  #8  
Old 30-03-2009, 01:25 PM
Unregistered
Guest
 
Posts: n/a
EPOC32 was definitely an all new codebase in 1997.

Active Objects are the bit that makes the difference to the user, sure the OS does more but CActive is the trick.

Of course iPhone multitasks, you can receive a call in the middle of a web session and then drop back to the web session. It just doesn't go far enough.

Symbian doesn't get the credit but it is the clear winner in this area, especially against fundamentally older OSes like iPhone and Android.
Reply With Quote
Ads

  #9  
Old 30-03-2009, 01:33 PM
Unregistered
Guest
 
Posts: n/a
I was listening to MobileTechReview's most recent podcast yesterday, and they were discussing this Apple background app/multitasking 'situation'. And i had to laugh.

At the time i was hiking around Hatfield Forest. Apart from the podcast, i had Viewranger running so i know where i am and where i've been. I also had Google Satelitte maps running to back up what i should be seeing around me. My backup GPS (Internet Tablet N810) was using BT DUN through my phone to update its own (Maemo Mapper) maps (BTW, tethering? On an Iphone? Not OEM available yet!). My push mail (SMTP AND POP3 in two different apps) was announcing messages from family about my trip to L.A later this week. I snapped off a few GeoTagged pics with the phone camera and uploaded them to Flickr. And when i took a break at the park cafe, i was surfing on Opera Mini.

On the way home i turned off Viewranger and turned on McGuider, but still had all the other apps running and the N810 (on VE Streetview) pulling maps through the DUN.


Still had plenty of juice when i got home. Thank you Apple, for reminding me why i went with a better brand.





On a side note MoTR also seemed to be saying that "The Ipod Touch will be the first non-phone device to have Skype". Er, what?
Reply With Quote

  #10  
Old 30-03-2009, 01:36 PM
Tzer2 Tzer2 is offline
Administrator
 
Join Date: Sep 2007
Posts: 2,208
Tzer2 is on a distinguished road
By and large, I've never had problems with multitasking on Symbian phones.

Obviously power users who habitually run literally dozens of apps at once have a good chance of finding a combination that doesn't work, but ordinary users are only going to multitask perhaps two or three apps at a time, four or five at most.

And the apps that ordinary users do use simultaneously are likely to be the standard built-in ones like music player, messaging, log, podcasting etc. These wouldn't be that hard to test in conjunction with a third party app.


Quote:
We don't want a PC on our phone - we want a consumer electronics heritage of "just works".
If that's genuinely Apple's attitude, then perhaps people should be comparing the iPhone to Nokia's Series 40 devices instead of S60?

That's not a criticism or a joke, it's a genuine suggestion. I've long written about Series 40 (and other feature phones) as less flexible but more stable alternatives to smartphones. If Apple has the same vision for the iPhone's future, then I think it should be called a feature phone, and there's no shame in that at all.

Nokia's known by readers of this site for making smartphones, but the majority of their sales and profits come from non-smart feature phones.

Obviously feature phones are looked down on by most smartphone enthusiasts, but they make up something like 85% of phone sales worldwide. Even in rich countries where most people could afford a smartphone, the majority of phone users still plump for feature phones because they're cheap and good enough.

Also, feature phones aren't necessarily low spec, some of them have autofocus carl zeiss cameras, wi-fi, TV Out and GPS. Nokia's just released a WebKit-based browser for Series 40, which is the same browser engine used by S60 and Safari.
Reply With Quote

  #11  
Old 30-03-2009, 01:45 PM
Jhoravi
Guest
 
Posts: n/a
I disagree when you said "GAMES" being the reason for no multitasking. A mobile OS can be designed to do preemptive multitasking where It can take control of that game to a sleep state.

I believe the real reason is that Apple thinks the majority of users don't switch task between apps at all! And if they do, they just multitask MUSIC in the background that's why music multitasking is enabled in iPHone. Due to that, they decided to utilize all resources to that single running app rather than to those background apps that most ignorant users don't even care! I can prove it as I know a lot of friends who own Nseries even since the days of Nokia 6600 and they are not even aware that they can press-and-hold a button in order to multitask! I even instructed them how important it is and adviced them to get used to it. I even demonstrated examples of copy and paste between apps but until now THEY DON'T USE IT!! Majority of smartphone users are really that dumb!!
Reply With Quote

  #12  
Old 30-03-2009, 02:04 PM
antonioj
Guest
 
Posts: n/a
Good point jhoravi! So, you know what comes next...Apple will "invent" multitasking, and everyone and their cat will start using it regularly
Reply With Quote

  #13  
Old 30-03-2009, 02:07 PM
mattrad mattrad is offline
Registered User
 
Join Date: Jan 2004
Location: UK
Posts: 48
mattrad is on a distinguished road
I think most users - and I know, this is not a site for average users - do not want multi-tasking (“multi-what?”). This isn’t slewing off into an iPhone fanboi rant, so hear me out.

They don’t want multitasking, they just want to be able to do things quickly and with ease. Occasionally this will involve doing a few things at once. Even less often, this will involve an app doing things without user intervention (a background process). The question is how best to make that possible.

Essentially, you just want the assurance that you can set an app a task and then dismiss it, without having to keep it in the foreground and therefore dominating your attention. I believe Apple’s Push Notifications along with quick app switching will fulfil the need of most users in this regard.

But it won’t work for everyone, and I think the number of people happy to live without background processes will decrease as the expectations of mobile devices increases.

In this context, iPhone OS does have some background processes. I can write a text and dismiss the app while it’s still sending, and know that the text will be sent – but only because it’s an app that Apple has blessed with the ability to do so. What is frustrating is the inability of other built-in apps to maintain a persistent state – I can return to Safari after a while and the pages will be remembered, but will have to load again.

From my own experience of running FStream (internet radio) in the background while doing other stuff, I can say that the battery life of the iPhone 3G isn’t all that drained. Even if just a few user-definable background processes were allowed (without resorting to jailbreaking), it would be a good step forward. But I don’t think Apple will allow that until they can either shoehorn in a bigger battery, or have the OS manage power consumption better - because a phone that doesn't have much battery life has a degraded user experience. Perhaps this is a reflection of Apple's immaturity in designing cellular products.

In the meantime, it just highlights how adept and mature the Symbian OS that background processes are handled very well and that battery life is not unduly impacted. The problem for Symbian is that it operates behind overly complex and generally unlovely UIs (sorry S60…).

Matt
allaboutiphone.net

Last edited by mattrad; 30-03-2009 at 02:12 PM.
Reply With Quote

  #14  
Old 30-03-2009, 02:10 PM
svdwal svdwal is offline
Registered User
 
Join Date: Apr 2006
Location: The netherlands
Posts: 156
svdwal is on a distinguished road
How about this for a conspicary theory. If iPhone OS would allow multitasking, nobody would write about it, because it is normal for an OS to multi-task.

But with a non-multitasking iPhone OS there are lots of technical people writing about it, generating lots of buzz. Given the old adage that "there is no such thing as bad publicity", it means Apple gets an enormous amount of free publicity, which is good for their iPhone sales.
Reply With Quote

  #15  
Old 30-03-2009, 02:37 PM
Unregistered
Guest
 
Posts: n/a
I think everyone is forgetting the amount of apps iPhone and iPod Touch users install ;-)

Yes it is silly that Apple doesn't engage Multi-tasking, but if you look at the average S60 user nearly all of them don't add many apps to the phone, meaning that their multi-tasking experience is good because with limited apps in use, they don't get any out of memory messages.

Now with the Mobile OSX platform, even the average users literally have over 50 apps installed on their device. This makes out of memory messages a lot more feasible on an Apple device.


Apple is smart on this one, imagine some silly average user wondering why he can't open all 140 applications one after the other?
Reply With Quote
Reply

Bookmarks

Tags
decade, half, horror, multitasking, shock, working

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



All times are GMT. The time now is 07:56 AM.


vBulletin skins developed by: eXtremepixels
Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Copyright Notes || Contact Us || Privacy Policy