All Articles Tagged multitasking

Multitask-Masters: Brain Surgeon Stat!

iPhone_multitasking.jpg

The iPhone SDK will not allow 3rd party apps to multitask or run background services. We’ve previously covered both initial developer Twitter-rage at this, and pundit counter-points. We’ve also covered Craig Hockenberry before — the man who (perhaps poetically) develops Twitterrific for the Mac and jailbroken iPhones, and is now bringing it to the SDK.

Hockenberry, via his furbo.org blog, shares his experience on iPhone development and his views on the multitasking (non-?) issue.

To be blunt, I’ve never seen so many experts without a fricken’ clue. If you haven’t written code using the jailbreak tool chain, your opinions on the iPhone SDK, based entirely on what you see in a simulator, just aren’t relevant. You might as well be explaining the nuances of brain surgery.

Wha-wha-wha-what? Please, allow Mr. Hockenberry to continue:

Twitterrific on the iPhone could definitely make use of a background process to gather new tweets. In fact, a prototype version of the software did just that. And it was a huge design failure: after doing XML queries every 5 minutes, the phone’s battery was almost dead after 4 hours. In fact, the first thing I said after giving Gruber this test version was “don’t use auto-refresh.”

Hockenberry goes on to discuss the power demand problem of the radios, both EDGE and Wi-Fi, and the danger of even well-intentioned developers getting individually reasonable but collectively overwhelming access to background services. He does, however, expect that in a future release Apple may include some method of notifying network apps that the radios are being used (for example, by MobileMail Touch), and allowing brief TCP/IP connections during that period. Bottom-line, at the OS’s discretion, not the individual apps’.

Sound reasonable? Sound crazy? Should Apple give unfettered access to everyone immediately an trust users to sort through it themselves? Or should Apple be as strict as possible from the get-go? What do you think?



Multitask-Masters: iPhone Pundits Strike Back!

iPhone_multitasking.jpg

Developers want them their multitasking. They want them popping up, one after the other, like Agent Smith replicants in the Matrix sequels. What? Viruses incarnate from poorly conceived follow-up movies is a bad analogy?

Not according to some leading Apple pundits.

Witness Daniel Eran Dilger’s iPhone 2.0 SDK: The No Multitasking Myth from Roughly Drafted Magazine:

By limiting the amount of background processes running, the iPhone’s OS X can offer more of that available RAM to the foreground application, along with a less distracted processor. The iPhone is not a general purpose computer; it is primarily a phone, browser, and iPod. Due to the restrictions imposed by the SDK, it will also be a credible gaming platform and pack the power to run significant productivity applications, all without giving up the ability to be a responsive phone, browser, and iPod. Other devices can’t make that claim.

Sure, Dilger is sometimes considered on the extreme-end of Mac’tivism. Let’s see what Daring Fireball’s John Gruber has to say when he takes on One App at a Time:

Why has Apple imposed this limitation? Easy: the iPhone is severely resource constrained. Battery, RAM, and CPU cycles are all severely limited. If third-party apps could run in the background, all three could suffer. RAM would suffer for sure; all running apps consume memory. The iPhone has just 128 MB of RAM, and no swap space. CPU performance and battery life would suffer when background apps do something — and if they’re not doing anything, what’s the point of keeping them running? I noticed a significant increase in battery life after I switched the Mail app’s auto-checking interval from 15 minutes to 60 minutes. That’s just one app.

Okay, but they’re not developers. They don’t understand the needs, the passion. But then developers aren’t pure consumers either and developers don’t always understand consumer needs. Sometimes developers are so busy with the abstract coolness of what they can do, they don’t always stop and consider the colder reality of whether they should.

For every OS-changing Switcher app, there are dozens of buggy, crash-inducing WinMob and Palm fetishware. (As I can personally attest to, when even major apps from major developers rendered my Treo unusable).

No developer goes out there with ill-intent (malware aside), but their concern is app-level, not device or OS level. That’s where Apple comes in. The overall user experience isn’t the developers concern, nor should it be. It’s Apple’s concern, and right now Apple is imposing that concern via no-multitasking guidelines.

Note: John Gruber, quoting Hank Williams, also gives us The Flip Side of the Multitasking Argument. (Hit up the Roughly Drafted link above for some excellent back-and-forth between Williams and Dilger in the comment section as well.)

UPDATE: Gruber follows up in Foot, Meet Bullet, a point-counterpoint with Ian Betteridge.

What do you think? Is the ban on multitasking good or bad for the general user-base (i.e., our moms!)? For power users? Will Apple make exceptions for certain big developers (like AOL for AIM)? Will they relax the policy after the initial development rush is over, the space shakes out, and only cooler, more seasoned and reasoned heads remain in the game? Will some crafty devs will figure ways around the rules? (creativity thrives under constraint!). Or will things just stay the way they are?

No Multitasking for 3rd Party Apps?

John Gruber skims through the iPhone updated HIG (Human Interface Guidelines) and reveals the following:

Only one iPhone application can run at a time, and third-party applications never run in the background. This means that when users switch to another application, answer the phone, or check their email, the application they were using quits. It’s important to make sure that users do not experience any negative effects because of this reality. In other words, users should not feel that leaving your iPhone application and returning to it later is any more difficult than switching among applications on a computer.

Will there be a function to preserve state between App uses? (The way iTunes remembers what song you were playing and where you were in that song) Or will each App have to load fresh each time? (The way photos gives you the album chooser, rather than the last photo/state screen upon launch).

Treo users have been stymied for years by lack of true preemptive multitasking, while Windows Mobile has been criticized for letting Apps pile up like splattered bugs on an speeding windshield. But functionality like background music playing, downloads, data (i.e. email checking now that it’s push) seem like no-brain must have’ems. What’s the deal Apple? And what do you think?