Comment by jerf

Comment by jerf 6 days ago

6 replies

Your question is unclear but I assume you are thinking that iOS has always supported "multitasking". This is not the case. iOS4 introduced it on the iPhone side, and this is how AnandTech [1] describes it:

"To switch between apps on the iOS3 you hit the home button, which takes you home, and then select your next app. Your previous app, assuming it isn’t one of a very limited list of apps that have services that can run in the background (e.g. iPod, checking email), quits completely. Switching back to the previous app relaunches it."

"In iOS 4 Apple promises app level multitasking without sacrificing performance or battery life. A single push of the home button still takes you home, but a double tap will bring up a list of recently used apps along the bottom of the screen. Scroll to find the one you want to switch to, select it and you’ve just “multitasked” in iOS 4."

Even on the Palm Pilot, you could switch reasonably quickly between, say, the Memo Pad and the Calendar, and not lose context in either app because they restarted. The OS was structured around giving apps the ability to freeze their state easily and rapidly thaw it later. I believe Android had some stuff for that, but it wasn't as comprehensive as what Palm had, and I can't speak to iOS APIs at all.

(In 2025, the "solution" to this is largely to just leave the apps running in the background like a desktop, now that cell phones are substantially more powerful today than the desktops of the WebOS era. Whether WebOS could have made a superior phone back in the day, we'd still be where we are today either way.)

[1]: https://www.anandtech.com/show/3779/apples-ios-4-explored/2

kccqzy 6 days ago

Prior to true multitasking on iOS, Apple would tell you to tag view controllers for preservation so that when your app launches, the OS will restore the original view controllers, as if the app has been running the whole time. Old documentation here: https://developer.apple.com/library/archive/featuredarticles...

(These days few apps bother to do this anymore. I switch away from an app in a minute and upon switching back I'm back at the app's home screen.)

  • jerf 6 days ago

    w.r.t. few apps caring about state, I recently upgraded my phone, which I had been using for a while and did not realize was a 2021 model, basically solely because at 4GB of RAM, I was getting to the point that I couldn't switch between any two apps without them all totally restarting on every switch because I was out of RAM all the time. I was also just starting to notice the battery was going but I could have managed that for a while yet... I really upgraded just for the RAM.

    (Also I had to reset the built-in camera to factory state and tell it to stop updating, because it couldn't even start with my phone's RAM anymore. Weird thing is I can't tell you what it was doing any better than the stock factory version.)

    But on, ahem, a "real" phone, it is nice to just assume that either I'm still swapped in, or the user doesn't care anymore. It's not quite 100% accurate, but it's pretty close, and low-effort for the app developer who doesn't have to be guessing any more about what state is and is not important.

JKCalhoun 6 days ago

That's interesting. Yes, I had assumed, with a kernel, that iOS was multitasking — at least to the degree we've come to expect it.

kayodelycaon 6 days ago

I think what’s confusing things is the underlying operating system is multitasking.