Daniel Eran Dilger in San Francisco
Random header image... Refresh for more!

The Palm Pre/iPhone Multitasking Myth

Pre-Multitasking

Daniel Eran Dilger

Vendors in the smartphone market desperately need to offer unique strengths that can offer a credible alternatives to Apple’s blockbuster iPhone and its App Store. A primary strategy of Palm’s new Pre is to advertise the potential of “multitasking apps” as a key differentiator. The problem is that Palm and its boosters don’t seem to understand what multitasking is.
.
This is nothing new. “Multitasking” as a concept has been stretched into an almost meaningless buzzword for decades. It joins a variety of other abstract technical ideas that are used to distract attention away from usability and toward pointless features that can be worse than the problem they are attempting to solve. Here’s why, following a story arc that begins over thirty years ago.

Multitasking on the Mac
Multitasking is a great idea; why not enable computers to do more than one thing at once? The primary reason, of course, is that some systems can’t handle doing more than one task at a time. The original 1984 Macintosh was designed primarily to make computing accessible by presenting an intuitive graphical interface. Its early 80s hardware couldn’t really handle doing anything else at the same time.

Once users grasped the concept of launching a graphical application, say MacPaint, then quitting it to launch MacWrite, the obvious next step was to want a faster way to jump between the two applications. The original Mac was a lot like the iPhone: users had to quit the foreground app in order to launch the next one from a central launching pad: the Home screen on the iPhone or the Finder on the first Mac.

Almost immediately, the desire to accelerate the use of multiple applications resulted in Switcher, a hack for the Mac that enabled the system to pause the foreground app, load the next program into memory, and then jump back and forth between the two. The next step was the MultiFinder, which enabled users to instantly jump between applications presented on the screen in overlapping windows.

Neither solution was true preemptive multitasking, which required a more sophisticated operating system than the original Mac OS delivered. However, to users who needed to get jobs done, switching back and forth between different applications solved most of the problem without introducing significant disadvantages, at least until applications stopped cooperating.

iPhone 2.0 SDK: The No Multitasking Myth

Real Multitasking
After successfully delivering the premise of an intuitive graphical computing environment in a commercial product, Steve Jobs wanted Apple to aggressively move the Mac environment on top of a more sophisticated foundation. A new “Super Mac” operating system was explored, as was a partnership with both AT&T (then the owner of commercial Unix) and a joint engineering project with Apollo, a workstation vendor that produced a Unix-like, sophisticated operating system called Domain/OS.

Apple’s conservative management rejected new investment in the Mac’s underlying operating system, resulting in a split where Jobs and many of the company’s best engineers left to develop the next thing in computing: a pairing of the essence of the Mac with the technical sophistication of a true multitasking operating system: Unix. Jobs’ NeXT shipped its first computers in 1988, and continued to advance the state of the art into the 90s, albeit being commercially unsuccessful.

Nothing successfully rivaled the Macintosh user interface until Windows 95 appeared more than a decade after the original Mac. Within that decade, while Apple shipped lots higher-level technology from QuickTime multimedia to advanced typography and effortless networking, the company did very little to advance its core operating system technology. It certainly recognized the problem, and took stabs at delivering so-called “modern operating system features” in the Pink, Taligent, and Copeland projects.

However, by the time Windows 95 became available, Apple had not enabled the Mac OS to preemptively schedule applications; essentially, this meant that a rogue app could hog the system’s resources, preventing any other program from running. In order to deliver true multitasking, a system needs to centralize command in a kernel process capable of taking back control from a failed app and distributing the computer’s processing resources among the apps that need to access them.

Steve Jobs and 20 Years of Apple Servers

Multitasking in Windows
Unix systems like NeXTSTEP could do this, as could certain other platforms including Commodore’s Amiga. Neither of these niche players could command significant enough sales to bring true multitasking into the mainstream, which was then dominated by the Mac in graphical computing and MS-DOS in the larger market outside of Apple’s professional graphics and education-oriented business.

When Microsoft announced that it would bring Unix-style multitasking to the PC with Windows, the tech media ignored the fact that this technology was already widely available on both the low end represented by the Amiga, and the sophisticated higher-end represented by NeXT and other Unix-based workstations. Instead, they uncritically presented Microsoft as an innovator in bringing true multitasking into the mainstream.

Microsoft’s first effort to ship its own multitasking operating system was Windows NT 3.1 in 1993, a half decade after NeXT. Microsoft had earlier shipped its own branded version of AT&T’s Unix under the name Xenix, and more recently had worked with IBM to deliver a true multitasking kernel to replace the more simplistic DOS named OS/2, but Microsoft had not developed any of the core kernel technology for either of those earlier efforts.

Windows NT was new to Microsoft, although it was largely derived from VAX/VMS, a high performance operating system developed by DEC as a competitor to AT&T’s Unix. Microsoft hired Digital’s VMS development team, led by Dave Cutler, and paid them to create an original operating system for Microsoft that could itself be pitted against Unix.

There were key differences between Windows NT and Unix; NT was heavily influenced by Microsoft’s efforts to clone the Macintosh, resulting in a graphical-orientation and a self-tuning design philosophy. Microsoft hoped to essentially take its copy of the Mac environment and pair it with its commissioned copy of VMS, creating a credible alternative to NeXTSTEP, which similarly paired the essence of the Mac with Unix.

1990-1995: The Rise of Windows NT & Fall of OS/2
1990-1995: Microsoft’s Yellow Road to Cairo

NeXT vs NT
Jobs achieved his goal with NeXTSTEP in 1988 and established it as the most stable and productive development system by the early 90s, creating a platform sophisticated enough to be used in high-end research and mission critical industries ranging from the banking industry to the NSA and CIA.

In contrast, Microsoft’s NT was a continual disappointment throughout the 90s. It ultimately couldn’t replace DOS as the mainstream operating system for PCs until Windows XP appeared in 2001, nor could it even pose as a reliable alternative to Unix in servers; NT was notorious for suffering abysmal uptime, even in a carefully controlled server environment, well into the late 90s. Mission critical systems from telephone PBXs to ATMs typically relied upon the use of IBM’s OS/2, as NT was simply not up to the task.

Anyone who was paying attention throughout the 90s was fully aware that Microsoft’s terrible NT software was only suitable for companies that could afford to throw ridiculous amounts of hardware at it. When Microsoft bought Hotmail and then WebTV, both systems originally built using Sun’s Unix servers, it ran into a major boondoggle of needing to build out massive PC server farms to account for the terrible performance and reliability of NT.

Microsoft’s monopoly position enabled it to eventually shovel sufficient billions into NT development until it could compete as a worthy competitor. Windows 2000 (aka Windows NT 5.0) could reasonably be compared against IBM’s OS/2, commercial Unix, and NeXTSTEP in terms of sophistication, but only because those alternatives had been repressed from competing in the market over the previous decade. By 2000, Microsoft had only caught up with the state of the art from ten years’ prior.

During this period that fixed such great attention upon the supposed catch-up in technical sophistication by Windows NT, Microsoft was actually selling something else to the mainstream market: Windows 95 and later variants of the DOS-based (as opposed to NT-based) system: Windows 98/98SE/ME. Microsoft claimed that Windows 95 offered something that the Macintosh didn’t: preemptive multitasking.

This was sort of true, as Windows 95 could preempt control of certain applications. In practice however, Windows 95 was not significantly better than the increasingly creaky classic Mac OS. Users didn’t care about how the kernel worked, they cared about the symptoms caused by a lack of proper multitasking: crashing, locked-up applications, and the general inability to do multiple actions at once. Windows 95 did not outshine the performance of the Mac OS from the 80s, and was far behind the technical superiority delivered by NeXT and the Amiga OS many years prior.

Windows XP Media Center Edition vs Apple TV (Web TV)
Why Does Microsoft Really Want Yahoo?

Feature dependance: memory protection
Before ever really achieving technical superiority in its operating system, Microsoft began making severe compromises to boost performance and maintain backward compatibility. A key partner technology to preemptive multitasking is protected memory. It doesn’t matter if your applications are preemptively scheduled if a rogue application can stomp on the memory in use by other applications; a lack of protected memory erodes any benefit of scheduling multiple processes at once.

Under Windows 95/98/ME, applications could stomp all over critical shared memory that belonged to the operating system, resulting in frequent crashes and general instability. It wasn’t just Windows 95 that suffered from a lack of effective memory protection. The design of Windows NT also took liberties with memory protection in an effort to make it run acceptably fast. Even after delivering its NT-based Windows XP to mainstream PC users in 2001, Microsoft continued to shove all types of unrelated tasks into a single process running within a shared (unprotected) memory space.

This was due to the fact that, unlike Unix, the NT kernel was not designed to accommodate lots of concurrent processes. Instead, NT was designed to run tasks as threads within a limited number of concurrent processes. Spawning a new process in NT is an expensive job requiring significant resources. For this reason, third party developers are forced to avoid kicking off independent tasks as their own processes, and instead must typically package them up as single a multithreaded process, defeating the purpose of having preemptive multitasking or protected memory.

Larry Osterman’s WebLog : Shared Services

NT’s Shared Services contradiction
Microsoft itself bundles a variety of Windows system tasks into the mysterious svchost.exe process, a practice known as “shared services.” The company describes this as if it were a good idea, but in reality it is a terrible idea forced by the inability of the NT kernel to launch lightweight processes the way Unix does. And unlike Unix, it becomes harder to identify which process is causing a problem, harder to isolate processes and assign them the least privileges necessary on the system for security purposes, and harder to manage system resources in general.

The point of preemptive multitasking and memory protection is to put the kernel in charge of the system. By bundling up tasks into fat shared services with a communal memory space, Microsoft has turned NT into a beast from the 80s. In fact, the main reason Windows users complain about iTunes is because it spawns a variety of independent processes that work fine on Unix but cause Windows to kneel over and beg for mercy because it isn’t designed to handle multitasking with the same level of modern sophistication as Mac OS X.

And so, for the last decade and a half of Windows, Microsoft’s enthusiasts have been trumpeting accolades for Windows’ “multitasking,” a buzzword feature that wasn’t novel, wasn’t the best implementation, and most importantly, wasn’t contributing to security, performance, and stability as it was supposed to. Simply put, a feature that does not achieve what it is supposed to do is not a real feature.

Five Windows Flaws: Shared Services

This is all happening again.
During the late 90s, Palm introduced its Pilot PDAs with a striking similarity to the desktop Macs from the previous decade. Like the original Mac, the Palm Pilot was largely an effort to introduce simplicity and ease of use using a graphical environment. Also like the Mac, the original Pilots had limited resources, and conserved these by only allowing one process to run at once.

The original Palm OS used a kernel capable of true multitasking, but only licensed it for use in a single-tasking environment. This meant that Palm devices could only run one app at once. This wasn’t a big problem until users began to desire increasing sophistication as PDAs began to morph into smartphones. By 2005, Palm was in the same position as Apple’s Mac in the early 90s: an inherently single-tasking core OS with a demand for true, preemptive multitasking that would be difficult to bolt on as an afterthought.

The Palm OS was blindsided by the iPhone, which like Mac OS X, was based on a Unix kernel and therefore inherently capable of running multiple processes at once. Like the original Mac and the Palm Pilot before it, the iPhone’s hardware was far more limited than what currently existed on desktop computers. It made no sense to try to run multiple windows of applications on a small mobile device with a 3.5“ screen, a lesson embarrassingly hammered into Microsoft after a decade of failure in trying to deliver exactly that with Windows CE.

The Egregious Incompetence of Palm
The Spectacular Failure of WinCE and Windows Mobile

Apple’s iPhone approach to multitasking.
Instead, the iPhone only multitasked things that made sense: users could surf the web while taking on the phone, or listen to music while playing games, but third party developers couldn’t install their own background processes to sap performance and battery life or introduce unanticipated security issues. This engineering trade off was politically unpopular among the tech press, which has lambasted Apple for not ”supporting multitasking,“ as if the company had simply forgot to include it.

In reality, the iPhone goes beyond simple preemptive multitasking and memory protection to deliver a tightly secured environment for applications that strictly manages what individual third party applications can do. The much publicized downside is that apps can’t do things like regularly report your location to a service like Google’s Latitude; the unstated upside is that applications can’t do things like regularly report your location to a service you have not approved, without your knowledge or consent.

The iPhone’s kernel is a particularly strict overseer. It refuses to run code that hasn’t been cryptographically signed by a party known to Apple; it does not permit apps to stomp on system memory or memory of other apps, and it makes the installation of viruses and spyware effectively obsolete, expressly because it does not delegate away multitasking control to third party software. In a jailbroken phone, all bets are off because the system’s security is bypassed to allow anything to happen.

iPhone OS X Architecture: the BSD Unix Userland
iPhone 2.0 SDK: How Signing Certificates Work

When multitasking isn’t.
Two years after the iPhone’s debut when the Palm Pre arrived, the inevitable accolades surrounding the new phone’s ”unlimited multitasking“ began to bellow like clouds of steam from a whistling teapot.

The Palm Pre does indeed offer some novel user interface features that include the presentation of multiple types of data together, such as email from multiple accounts and contacts and calendar items. It also enables users to flick between views of data. However, the Pre’s ”applications“ are so limited that it becomes a joke to compare them to the iPhone’s. There is no support for hardware accelerated graphics in real games, and in place of sophisticated application frameworks, Palm has simply exposed a way to build applet widgets using HTML and JavaScript.

This is not necessarily a bad thing, but simply an easier-to-accomplish alternative approach to delivering a mobile platform. It is not comparable to an actual application development framework where real applications run however. There are advantages and disadvantages, but hiding all this meaningful subtlety behind a dummy buzzword is simply irresponsible reporting.

Even more shocking, however, is the conspicuous lack of attention to the reality that the Palm Pre, currently running on Sprint’s CDMA network and expected to reach Verizon Wireless’s CDMA network early next year, can’t do simultaneous voice and data. This isn’t a limitation in Palm’s operating system, but rather a major lapse in Qualcomm’s CDMA/EVDO network technology.

CDMA (voice) and EVDO (3G data), unlike UMTS/HSDPA, can’t perform simultaneous voice and data at once. It also lacks GSM’s inherent ability to conference multiple parties at once into the same call. ”EVDO rev A“ has the technical capacity to handle a voice and data connection at once, but this requires handling the voice conversation via VoIP as data rather than a normal cellular voice circuit, something the Palm Pre can’t do (and apparently no other Sprint or Verizon phones can do either).

How AT&T Picked Up the iPhone: A Brief History of Mobiles
The iPhone isn’t coming to Verizon

The features we do not speak of.
All those iPhone ads that show useful multitasking scenarios, where the caller jumps on the web, looks up a restaurant, and then emails their friend a picture of some adorable child, all while talking on the phone, are impossible on CDMA networks like those operated by Sprint and Verizon. This ironically seems to be a huge secret, despite the fact that everyone also seems to know this. Call it M. Night Shyamalan’s Village Taboo.

While everyone seems to be emotionally in tune with the flaws of AT&T’s network, including its regions of threadbare 3G service, nobody seems to recognize that Apple has a variety of very strong reasons to want to stay on a UMTS/HSPDA network rather than jumping ship to a voice-multitasking impaired one that is slated for obsolescence within the next couple years.

Would Apple prefer that AT&T get to work to fill in the remaining holes and bolster its mobile backbone? Certainly, and AT&T is working to do that. It also seems to be forgotten that AT&T is really an amalgam of regional networks that is no older in name than the iPhone itself. Apple invested in where the puck would be, not where it is. This is particularly annoying for users like me in San Francisco or New York, where AT&T’s already imperfect network coverage has been hammered to death by legions of iPhone users each incessantly and mercilessly pounding the network.

There’s no need to make excuses for AT&T’s seeming lack of rapid progress, or its delay in releasing a competitive femtocell, or its apparent inability to recognize the demand for tethering or MMS data features. But ignoring the inherently multitasking crown jewels of the 3GPP technology portfolio while criticizing the iPhone for not being able to swipe between fake apps like the Pre is absurd.

What’s the point of having a fast data network when you can’t even browse the web to occupy yourself while on hold with Sprint over handling the return authorization for your faulty Pre hardware due to its defective return rate rivaling the troubled Xbox?

Once again, ”multitasking“ is being confidently thrown about in a way that ignores half of the story while falsely presenting the weakest of implementations in an unfair comparison with something that works at least as well, if not better in many respects. Is it too much to ask that those presenting technical comparisons do so evenhandedly and accurately?

32 comments

1 wplate { 07.28.09 at 9:10 pm }

Fine, but I still want multitasking on my iPhone.

2 wyseguy { 07.28.09 at 9:32 pm }

You make a great point about CMDA2000 and EVDO, and the inability to access data over the cellular connection while on a voice call. I don’t know why so many people don’t bring this up when comparing the Pre to the iPhone.

That said, it appears you confused some terminology. GSM is essentially 2G voice, while EDGE is 2G data. UMTS is 3G voice, while HSDPA is 3G data.

You cannot use EDGE while you are on a GSM call. If you are on a 2G cell while on a call on an iPhone 3G or 3GS running 3.0, you’ll notice that the “E” icon disappears, and you cannot use data services, except over WiFi until you end the call.

If you are associated with a 3G cell (with the little “3G” icon displayed at the top of the screen), then you can access data over HSPDA while on your UMTS voice call.

3 cy_starkman { 07.28.09 at 10:13 pm }

Thanks for the excellent information regarding CDMA, I look forward to assaulting Pre fanbois with it soon.

Thanks also for mentioning the Amiga OS which offered pre-emptive multitasking back in 85-86. many of its innovations are yet to be repeated 20+ years later.

I always liked NT4, in the wake of Commodore feeding all its profits to the Board of Directors and going broke, Apple floundering around and NeXT being too expensive it was an okay option; and certainly the first and last time Microsoft made it easy to manage users and network services out of the box, 2k took that away.

One thing that the steaming kettles forget is that they abused Apple about only offering HTML and Javascript apps when the iPhone was launched and yet 2 years later one would think it was the best idea ever. The Pre can store the webapp in a local cache, oooo there’s some real genius there, what with the CDMA limitations the local caching starts to sound more like a work around to not being able to run the webapp remotely when on a call.

Say Daniel, I noticed that in 3.0, in settings the iPhone seems to be storing local databases for webapps, like if you go to GMail for example, it even seems to sync them with the desktop (I surmised this by observing the GMail database on the iPhone when I don’t use GMail but my GF does and occasionally does so on my MBP but never has on the iPhone). Not sure if I missed this development on the earlier 2.x but I did not recall ever seeing it, could you shed some light?

4 patriot { 07.28.09 at 10:19 pm }

nice work Daniel. You always shine the light on unrecognized technological factors which should be well-known but aren’t. Bravo.

5 phil { 07.28.09 at 10:25 pm }

I always hold my breath when you start off with the strong opinions but, as I read on, you come through with history (imagine !) and logic. Another great post. Thank you.

6 nat { 07.28.09 at 10:43 pm }

False comparisons do not a valid argument make. That’s my (admittedly dorky-sounding) motto for everything.

The Pre’s ‘card’ UI is novel for sure, but its ‘apps’ are akin to Dashboard widgets. The iPhone’s MobileSafari offered a nigh identical card-like interface for switching between multiple web pages two years ago, yet the tech media bemoaned the notion of web apps outright.

Now third party apps can, in a roundabout way, do background processes like embedding Maps, iPod playback, and/or a web browser. That said, I truly don’t understand what people want to have going on in the background. Pandora or Spotify and…and…?

I understand if people want Apple to deliver a HUD for notifications and/or a slicker method of switching between apps, but other than music streaming apps, what’s the point of having, say, a video game running in the background while surfing the web and listening to music? Initial load times (which decrease drastically after the first launch) are about the only downside I can think of.

Solid article, Dan.

7 nat { 07.28.09 at 10:46 pm }

And by ‘only downside I can think of’, I’m referencing Apple’s current policies for multitasking.

8 My iPhone #2; Multitasking … or not. « Design By Gravity { 07.28.09 at 11:03 pm }

[...] … or not. On the excellent if a little Apple-cheery blog Roughly Drafted, a recent post knocked the hype of the Palm Pre multitasking while illuminating how well the iPhone OS works. The [...]

9 scotty321 { 07.29.09 at 12:39 am }

Horrifyingly enough, the iPhone doesn’t even multitask its own visual voicemails! You can’t play visual voicemails in the background while switching to another app to make notes on what the person in your voicemail is saying! Or… you can’t check your calendar on the iPhone while a person is leaving you a voicemail about your future calendar appointments! This is absolutely ridiculous! I told a guy at the Apple Store about this, and he said, “Oh, nobody needs to listen to voicemails and doing anything else simultaneously.” And I was like, “Really? Because pretty much everybody I know wants this capability.” And he literally responded — I kid you not: “Get a pen and a paper.” F*** you. So now I’m paying $150 per month for a $299 gadget and now I need to carry around a pen & a paper, too? How much do you sell the iPen and the iPaper for?

10 nat { 07.29.09 at 1:32 am }

@scotty321,

Is what you are describing ‘horrifying’, or really just inconvenient?

I don’t believe the Palm Pre even has visual voicemail, which means you have to call your voicemail box. I’m guessing you find not being able to see who left the messages in your Sprint voicemail box before and while listening to them pretty inconven…er uh, horrifying too, right?

11 esmasin { 07.29.09 at 6:06 am }

Do you all know that gsm pre is coming to Europe? I think that cuts off all that “not a multitask netowrk” problem.

[well it will if Palm remains solvent long enough to pull that off. Regardless, it will only help EU, ATT, and possibly TMobile users. It will not solve anything for the only people who can buy the Pre Now and in the foreseeable future. - dan]

You are comparing multitasking on 80′s and 90′s operating systems with a multitasking on current mobile network technologies??!! Why not compare multitasking on iPhone’s and Pre’s kernels???

[Actually, I'm comparing market hype against relevant reality, both back then and today. You are right that both phones have a multitasking kernel. The iPhone is limited to multitasking specific apps, while the Pre has no real apps to multitask. Additionally, both phones involve more than a CPU, they rash also have a baseband side, which further limits what the device can "do simultaneously" which is what the article laid out.]

Both kernel have unix taste and are capable of multitasking, both devices shows that, but the iPhone limits it to apps develeoped by apple. At what level does and app of pre run? thats what I want to hear from you.

The lack of deeper SDK will be solved in one year, just like first iphone SDK, thats not a problem any more.

[What makes you think Palm will throw away its Mojo SDK and invent an entirely new, sophisticated set of app development frameworks? Does Palm have some special experience that nobody else in the industry knows about? It took google several years to put out Android, which is largely based on Java and is still unfinished. iPhone OS is based on ten years of Cocoa development at Apple. Rim uses Java. WiMo is win32 & .Net. What do you imagine Palm has up it's sleeve that is better than web applets running within WebKit on a Linux kernel?]

12 The Palm Pre / iPhone Multitasking Myth « David Chin Online { 07.29.09 at 7:02 am }

[...] You cannot access data over the cellular connection while on a voice call with the Palm Pre, says Daniel Eran Dilger.     [...]

13 Berend Schotanus { 07.29.09 at 7:45 am }

Preventing 3rd party apps from running simultaneously or on the background is a blessing to the customer and a burden to the developer. As a former Windows user I HATE all those “smart” applications that do things to your computer that are intended to be sophisticated but in the end don’t work and are almost impossible to remove. With this experience in mind the absence of “multitasking”on the iPhone to me is one of its best selling points.

Apple is effectively acting is a police service towards its OS-X ecosystem, telling people what is and what is not allowed. As we see in the Obama / Gates affaire being a good cop is an extremely difficult task because it will always come with criticism from those parties that ran against your limitations.
Because the Apple policy is so effective developers experience a lot of pain from the limitations imposed so it is quite understandable they make a lot of noise and they have the right to do so. As a small party with limited time and money for development in a difficult and overcrowded market it is natural that Palm is riding the waves of these emotions. I am glad they are giving it a try. The true benefit I expect from the PRE is not its multitasking capability but the web and services oriented architecture.

14 greendave { 07.29.09 at 8:04 am }

Ok, on my old 2G iPhone I listen to music whilst browsing the web, at the same time my email is sending and downloading messages, my text messaging displays the content if I get a text, the phone rings and the music silences if a get a call which I answer with a click on the remote switch – I press the home button whilst in the call and use maps to find the place being described in the call and then swap to contacts to add the phone number, hang-up and my music starts playing, click on safari and I am back exactly where I was when the call came in. And during this time I had push enabled allowing any IM to display (but I didn’t get any since I don’t have any friends left now that I spend all my time on my iPhone)

Now that’s MultiTasking!

15 wplate { 07.29.09 at 8:22 am }

@greendave,

Yes, it is fine when you operate within the strict use parameters, but I find I would like to sometimes listen to Pandora while I play a game and that’s not permitted.

wrt push notification of IM messages, fine someone to help you give it a try in real-life. My experience was that it was pretty annoying and slow. You’re in OtherApp and you receive the notification. You dismiss it and switch to the IM app waiting for it to launch. Then back to the Home screen so you can switch back to OtherApp. There is a lot of clicking and waiting, to me it feels way less than seemless.

I would be happy with an option to allow multiple apps to be running simultaneously, knowing full well that my battery life will suck even more.

Apple does a good job with user experience, the real hold up to backgound apps is designing an elegant UI for quickly switching between them.

16 mailjohannes { 07.29.09 at 9:00 am }

“Multitasking is a great idea; why not enable computers to do more than one thing at once? The primary reason, of course, is that some systems can’t handle doing more than one task at a time.”

Multitasking is invented to maximum utilize computer hardware. It was noted that a CPU is mostly idle. And for hardware of millions of dollars it is essential to utilize it to the max, to be cost effective. Multitasking was a necessity in the early computer days.

Windows 95 was truly multitasking for 32bit applications. It was also very usable and stable if you kept away from the 16bit DOS junk. A big leap from 3.1.
Windows 95 was compatible with UNIX in another aspect: networking. Even commando’s like if ‘ipconfig’, ping ‘telnet’, ‘ftp’ etc worked out of the box (without the need of an install of a separate IP stack from another vendor, most of the time not fully ‘UNIX compatible’).
At the time a lot of Apple users switched to Windows 95 because Apples ‘bombed all the time’. And this was of course because of (un-)cooperative multitasking and memory corruption issues.
I know this from people who worked in the publishers world at the time. As a result, later on, almost all users of Apple in the Netherlands switched to Windows 95 (and on).
So, Apple computers came to the point of being almost unusable, and Windows 95 was the much better alternative.
The fact that so many user switched to Windows, is prove of that.

17 roz { 07.29.09 at 12:39 pm }

@mailjohanne

People didn’t switch to Win95 because of any kind of multi-tasking. Mac had had multi-tasking for a long time already and only a small percentage of people could tell what was wrong with it.

Win95 succeeded because it upgraded the HUGE install-base of PCs to a better GUI. It’s technical merit was in relation to Win 3.1 and DOS, not the Mac. The key was a better marketing strategy, one that put Windows on top of commodity hardware sold by competing hardware makers, that brought Win95 the market share it commanded.

@daniel

Good article in most respects. Still, let’s not offer Apple too much of an excuse for not supporting CDMA/EVDO phones over the last two years. So Rev A can’t support a call and data traffic at the same time, the same is true for EDGE, and that was good enough for the original iPhone. I have been using an iPhone with that limitation for two years now. That is not a technical reason for not supporting CDMA.

It’s one thing to say, this is Apple’s marketing decision, for better or worse, they went with GSM and ATT and made it exclusive for a really long time because they saw merit with that path. It’s another to say Apple had a technical reason for necessarily skipping EVDO when it didn’t.

It’s not a technical decision for Apple to go with UMTS/HSPDA, it’s a marketing decision. Blackberry and other device makers ship for every network protocol. It is not a big deal. Some phones work globally, others don’t. Nothing new there. iPhone international plans from ATT are so restrictive, does it even matter that the phone can operate in other countries?

Apple is not alone in making this sort of deal; Pre is exclusive to Sprint for now and even when they get to Verizon they will be only on CDMA in the US. In Europe they will ship a UMTS/HSPDA version. Granted if Apple knows it is not going to ship on a US CDMA carrier, it saves by not developing that phone. Still that decision, to seek a long-term exclusive deal with one carrier in the US market is a marketing decision pure and simple.

18 LunaticSX { 07.29.09 at 1:08 pm }

“The original 1984 Macintosh was designed primarily to make computing accessible by presenting an intuitive graphical interface. Its early 80s hardware couldn’t really handle doing anything else at the same time”

You seem to have forgotten about Apple’s Lisa, which offered full preemptive multitasking and was released one year before the Mac, in 1983. It even had a slower 68000 processor, at 5 Mhz rather than 8 Mhz. That paragraph could be rewritten like this:

“The original 1983 Apple Lisa was designed primarily to make computing accessible by presenting an intuitive graphical interface. Its early 80s hardware could handle full preemptive multitasking even with the limitation of its relatively slow 5hz processor thanks to the sophistication of its operating system and the use of the relatively new and modern of the time 68000 processor (a chip frequently used then in full Unix workstations).”

Don’t forget that the original Amiga used the same 68000 processor (at 7 Mhz) as the Mac (8 Mhz) & Lisa (5 Mhz).

[But don't you think that the Mac's multitasking potential was cut short because of its skimpy RAM? The 1983 Lisa had a luxurious 1 MB standard, while the original Mac could only afford 128K. With 1/8 the RAM, you can't do much at once, even if your CPU is clocked faster. The Mac didn't get a standard MB until the Mac Plus in 1986.

The first Amiga in 1985 had a total of 512K RAM (half used by WOM for system software), and was typically upgraded via a cartridge expansion; most other models had at least a MB. Even so, "multitasking" on the Amiga was pretty limited by the amount of RAM you could afford.

The initial NeXT Computer had at least 8MB to work with, making it a more impressive multitasking machine. - Dan]

19 David Dennis { 07.29.09 at 4:37 pm }

Unfortunately, the iPhone App Store has so many participants a little guy has a tough time getting noticed. So I decided to buy a Pre and try out development on the device.

I am afraid that as a device there is no comparison between the Pre and iPhone. iPhone has been honed like a Japanese Zen Garden to a mirror-like smoothness, a gloss that would indeed take years to duplicate, if it could ever be done by lesser minds than Steve Jobs and Jonathan Ive.

To be specific, on the Pre, the keyboard is dreadful, the gestures surprisingly difficult to execute and the slider rather obviously less than perfectly durable. I showed it to a couple of my friends, one an iPhone user and another a LG Env user, and both hated it pretty much on sight. (The Env user looks covetously at my iPhone whenever we meet; I think she’ll switch soon.) And to make matters worse, Sprint service in my area is so abysmal that I would have had to return the device immediately if I had been required to use it as, well, a phone.

On the other hand, I really loved the multitasking. Being able to run Pandora in the background, for example, was something that changed it from a curiosity to something genuinely worth using. And the card interface was beautifully done. Admittedly it was a blatant copy of Safari app switching on iPhone, but I don’t think more than one page on an iPhone loads or runs at once.

Although the framework’s documentation is much worse than Apple’s, there’s also much less there and it’s built on a language most of us know. So it’s taken less time to get my starter application running than I had thought it would. On the other hand, the simplest things, like audio support, create strange problems that tie me up in knots.

I don’t think Pre is much of a threat to the iPhone. Not until they make that keyboard usable. A friend lost his phone and borrowed my iPhone, and I had to use the Pre as my primary communications device for a day. The keyboard is so horrible that I could not wait to get my iPhone back. And the fact that the 8GB Pre costs $200 while the 16GB iPhone 3GS costs $200 makes the Pre hard to justify.

But there are some who like Sprint and hate AT&T. I’m hoping that and the much smaller numbers of available Pre applications will make my app development venture a success. I can succeed in a marketplace of maybe 0-10,000 applications, and be invisible in a city of 65,000.

So I would not treat the Pre’s multitasking with the contempt Daniel does, but certainly Sprint and the Pre are not going to knock iPhone off its guilded perch. Simply put, it’s a better product, except for people who really want to multitask and who are willing to deal with that keyboard.

Still, I enjoy using the Pre to develop applications. Just as long as I don’t need to use it as a phone …

D

20 John E { 07.29.09 at 8:24 pm }

“multitasking” is indeed a loaded term, meaning different things depending on the context, and now being used as a slogan by Palm.

Palm is highlighting that the iPhone has some real inconveniences, whatever you call it. your music won’t keep playing in the background while you work on another app – unless it’s from iTunes! Apple obviously could fix that. you can’t jump back and forth between two apps without going to the home page in between each time. Apple ought to be able to able to solve that. that’s really about it except for the 10% of “power users.” but Apple does need to tie up those meaningful loose ends.

on the other hand the discussion of true “multitasking” and Windows was instructive. the one big difference between Windows NT – both Vista 6.0 and Win 7 6.1 – and Leopard/Snow Leopard is that they are verifiably much slower while “multitasking.” all the speed tests show this result. now i know why. So Apple can and should pound on Win 7 as being the much slower OS. in the marketing battle to come this fall, “multitasking” will be very good ammo for Apple against MS.

21 cy_starkman { 07.29.09 at 9:20 pm }

So many thought out comments.

Apple’s GSM over CDMA choice has a history behind it in dumping tech that is on the way out, before it has actually died. Like the floppy drive, I don’t think marketing, I think cost savings and technical choices. It was considered a marketing disaster, but was it?

On the blogs and boards i only read from people in the USA who don’t want AT&T (reasons various) calling for Apple to support CDMA; even suggesting Apple is doing themselves out of millions of sales, but that is a national, not global centric view. The recent quarterly call gave 44% to international sales. I ask where will more revenue come from – devoting your limited resources to a custom phone for China or for Sprint?

I agree with listening to a radio app as a mutlitasking reason and beyond that a gps/geocaching app and then I’m not sure. I also feel it’s less a technical limitation and more a design one, like cut and paste which languished as the butt of all jokes for 2 years, yet it’s obvious even the 2G can do it, but it was held up as, who knows, 50 different implementations were tried, when it came, it’s a really top method. I can imagine all the task switching options being tested right now, is it up and down, is it a drop down, is it some other gesture, how will the implementation effect existing apps and API’s. Same story with Nintendo and why it took a while to add an SD menu, out of all the solutions and issues which is best?

As for Win95 having it all over the Mac, well that’s a bit bizzare, Win98SE was solid but 95 was a crumbly skin and cobbled together parts.

As for EDGE vs CDMA and no network multitasking, sure, but when the EDGE iPhone was released 3G was already well entrenched across the world (though not the USA) Apple could see which way the wind was blowing and culutrally and logically, doing the first release in Australia with an exclusive deal to Telstra vs the USA and AT&T deal would have been not even considered. So what else you going to do to maximize R&D, start on the path that leads to the globally used standard or completely dump that R&D within 12months so you can go with Verizon first. AT&T was the only real choice they had, now is a year or two of local pain while across the planet your brand is going gangbusters.

22 mailjohannes { 07.30.09 at 3:46 am }

@roz
I didn’t say that people switched to Windows 95 because they new exactly what was wrong with the Mac’s they used. (Although several users knew this exactly.) They knew that the Mac’s had problems because the Mac’s ‘bombed all the time’ , disrupting the work flow seriously.
Some people pioneered with windows 95 and got better results. This word of mouth advertising – that windows 95 was a better product than the Mac at the time – resulted in the switch from Mac to Windows 95.
Microsoft’s advertising wasn’t that big in the Netherlands and had none (or almost none) influence as far as I know.
I do know that a lot of company’s didn’t want to switch to Windows 95 at all, because of the cost and the problems they anticipated (and that because of the huge problems with 3.1 and DOS).

From a technical point of view, because of the reasons I mentioned (preemptive multitasking for 32 bit apps, Unix networking) better stability and a much better user interface, it is hard to see that Windows 95 wasn’t a big improvement over 3.1.
I know from hands on experience at the time and a direct comparison between Windows 95 and 3.1 that it was indeed a big difference. I also know from others that Windows 95 got them more productive with less problems than the Macs they used before.

23 roz { 07.30.09 at 4:08 am }

@cy_starkman

In the US we have two large carriers. One is ATT, the other Verizon. Verizon being CDMA. It’s a huge chunk of the market. I am not saying VZ should have gone first, just that after ATT, maybe 6 months later, plan to have an offering. Personally I would rather see an offering for every network. It would mean some decrease in margins but much larger unit sales. My ideal is to see the iPhone just sell thru the iPod channel and blow them out. One sku for GSM, another for CDMA and enable for whatever carrier you like. That would have been changing the rules of the game and a big benefit to consumers.

I don’t see GSM v CDMA as an either or. I see support both as part of the game. You support the big networks and that is just part of the cost of doing business. Now we are seeing the what happens when you don’t support carriers, you get one iphone killer hyped after another, mainly because you have 3 carriers left out of the game. They have to respond someway, and their answer is FUD and distortion that also hurts the brand. I would rather see them plugging their version of the iPhone and competing on price for data, etc.

24 mailjohannes { 07.30.09 at 5:43 am }

@John E and @daniel,

Actually Windows is better at multitasking than Leopard because of a faster implementation of the context switch.
With snow Leopard Apple has fixed this, and this results in a 10% overall performance gain.

Also creating a new process is inherently slow due to the nature ‘of the beast’. So all flavors of Unix share this ‘problem’.
It is a common solution for Windows and Unix programmers alike to create as little as possible processes and create lots of threads to handle the parallel aspects of an application.

So the key difference in speed for most parallel applications isn’t a comparison between process start-up speed but a comparison between thread start-up speed and thread handling (context switches mainly). And as I said – and that’s a fact – Leopard is slower in context switching than Windows and that’s the main issue in multithreading. (I also know this from practice because I test heavily threaded applications on linux and Windows XP side by side. My observation is that Windows XP is equal in performance compared to linux. And I know that Vista/Windows 7 is faster than XP and linux is faster Leopard in this respect.)

So as Mac users we have to wait for Snow Leopard to have equal performance, and that’s nothing to brag about.

25 henryhbk { 07.30.09 at 8:40 am }

So, let me posit: who cares? The user couldn’t actually care whether multitasking is preemptive or cooperative (a la original mac os). In fact the user only knows about protected memory and preemption when an app either overwrites other apps memory or goes into an infinite loop.

The problem with folks comparing normal desktop computing with mobile phone computing is the problems are different. By this I mean that mobile computing is “real-time” computing, where as on the desktop if email takes 1 second extra to do a task, no biggie, but if your phone call is out for that long voice becomes choppy or calls are dropped. Predictability is more important than raw performance. Most of the multitasking people are complaining about are human level multitasking (i.e. send an email while on phone, or the person who wants to listen to VM while taking a note). Yes these do require some “true” multitasking, but there is a mission-critical task and a secondary task.

Someone above commented : “it was noted that a CPU is mostly idle”, and for desktop computing, this is true, and definitely a usable resource. In mission critical apps, this is accepted so that when the critical task comes in, there is no (or at least predictable) latency to handle the task within task parameters.

A handheld computer and a phone are 2 different devices. This would be totally unacceptable as the first, but something required in the second. I need my phone to ALWAYS work, and my email/calendar to be a close second. Everything else is nice, but if there are stutters/delays in these (I guess media can’t have stutters, but my call to the nurse as I run down the hall can’t getting dropped no matter what) I can accept that.

26 RDM: The Palm Pre/iPhone Multitasking Myth « Day and Age { 07.30.09 at 12:32 pm }

[...] Daniel Eran Dilger: CDMA (voice) and EVDO (3G data), unlike GSM/HSDPA, can’t perform simultaneous voice and data at once. It also lacks GSM’s inherent ability to conference multiple parties at once into the same call. ”EVDO rev A“ has the technical capacity to handle a voice and data connection at once, but this requires handling the voice conversation via VoIP as data rather than a normal cellular voice circuit, something the Palm Pre can’t do (and apparently no other Sprint or Verizon phones can do either). [...]

27 John E { 07.30.09 at 1:10 pm }

@mailjohannes – i’ve no idea what you know. all i can tell you is a benchmark speed test i saw published in past months (PC World i think) for Win 7 beta compared to Leopard (and XP and Vista) showed Win 7 to be much slower at “multitasking” – running multiple applications simultaneously. there will soon be a lot of these head to head tests once Snow Leopard is released, so we can wait for the hard facts soon.

28 daGUY { 07.31.09 at 12:13 pm }

The tech news tends to report on the iPhone’s “lack” of multi-tasking it as if it’s a technical limitation, but it’s not; it’s a design decision. The phone itself is quite clearly capable of multi-tasking (note how music continues playing in the iPod app no matter what you’re doing, for example) – Apple has just opted not to allow third-party apps to run in the background. Big difference.

Anyway, I really think the whole situation is overblown. I’ll concede that there are a few apps that could legitimately benefit from running in the background (namely Pandora), but I think the vast majority have no need for it. AIM is the other main one, but I think the push notification system works well enough as a substitute – you still get notified when you have a new message, which is all you’d need a background process for anyway.

And as I said, this is not a technical limitation. It’s entirely possible that a future iPhone will have sufficient enough battery life for Apple to allow third-party apps to run in the background. I believe they will once the hardware gets to that point. They’re just not going to give people a sub-par experience in the meantime.

29 roz { 07.31.09 at 1:08 pm }

One thing I think they should add to the push notification is the ability to allow a third party to get GPS updates so a web service like loopt could track movement on the server-side assuming the device holder consents.

30 Orenge { 08.04.09 at 2:42 am }

The iPhone can multitask a whole LOT of things:

Phone calls/SMS
Instant messages (AIM etc.)
Web browsing (Safari is always running)
Email (Mail is always running)
Music/podcast playback (with popup controls, no less)
Screenshot capture
Clock alarms and timers
Calendar notifications
Push notifications from third party apps to do just about anything–with no system resources wasted

Not half bad.

31 In the news « Popslim Blog { 01.24.10 at 3:17 am }

[...] Eran Dilger has an interesting article on multitasking on the iPhone (and the Pre) on his RoughlyDrafted website.  He points out, for [...]

32 Week One With the Droid-Let’s See How It “Does” « Aural Bytes { 02.21.10 at 9:01 am }

[...] the side of the iPhone on this one, for the reasons mentioned above (not to mention that the iPhone does have a level of multitasking), but I’m game, and I’m happy to be proven wrong in situations like [...]

You must log in to post a comment.