Do we have any actual proof or justification to think that they will add unfettered multitasking or that most consumers are actually demanding such? Seems to be largely speculation.
Obvious Prediction: All the people that have been vehemently defending Apple's lack of multitasking will very smoothly switch to extolling the virtues of this new feature, and how its way better than Android/BB/whatever.
People who defend single-tasking do so because multitasking can cause problems w/r/t memory, performance, and battery life. If Apple releases a solution that doesn't suffer from those issues, there's absolutely nothing wrong with "extolling the virtues" of multitasking.
My money's on some sort of limited form of multitasking, where apps can launch background processes or something like that.
I don't think you've been following the conversation very well. When people bring up the iPhone's lack of multitasking (I've done this often in the past), most people will not say something reasonable like "Yes, you're right. It's a weakness of the platform that they should address". No, most of the time its a story about how lack of multitasking is GOOD and how the other platforms are bad for offering it, how users are too stupid to use it etc.
This is one way in which I can tell apart people that like Apple products (ie, me) and fanboys (ie, those who think Apple products are perfection)
I don't think I've seen many (if any) direct arguments that multitasking is bad. Most of what I've seen amounts to congratulating Apple for not attempting to provide multitasking when they can't do it without seriously compromising other aspects of the user experience.
You don't seem to acknowledge that there are tradeoffs involved. Apple's competitors have chosen to offer multitasking at the expense of performance (responsiveness, battery life, etc.). Apple's strategy so far has been to not take that performance hit. It seems like they may be shifting now to investing far more than their competitors into their software development to ensure that their multitasking won't cause an unacceptable performance hit.
It's a design choice. I've done embedded devices that run on limited power situations for years. Multi-tasking sucks battery life out because the processor is constantly waking up to do work.
If you've used the G1, you will see quickly what multitasking does to batteries. You as a technical person understand this is a tradeoff. Grandma, or Apple Fanboi #5, doesn't understand this, so they destroy their battery life when playing pandora while doing everything else.
I wouldn't be upset if it was a setting in the device, such as notifications are currently, but if it's something apps can turn on without choice from the user, true concurrency can tank the battery use time whether people want to use it or not.
It's confusing to a non-techie because they don't realize that the most battery draining activity is using the wireless radio- streaming from Pandora (or anywhere) will kill your battery far faster than listening to MP3s in the iPod software will.
Yes, but to be honest, there are legitimate reasons why they chose not to allow multitasking. You can say it's being a "fanboy" if you want, but I personally don't want to take the tech support call from my grandma where I have to walk her through how to open up a task manager and kill a process that is creating a memory leak. Or ask her to reboot her phone just to fix a problem. Or wonder why she's only getting 3 hours of standby time on a full charge of a battery.
These are common issues with past mobile smartphone platforms like WinMo.
Apple is smart enough to know that giving people fewer choices is sometimes a better idea than giving them the power to fuck it up royally. When Apple does implement multitasking, you can bet it will probably be done right.
Does that make me a fanboy? Maybe, but you're being dishonest if you think the average user knows or even cares about how much memory is available in their smartphone.
> Yes, but to be honest, there are legitimate reasons why they chose not to allow multitasking
And those reasons will magically disappear if they offer multitasking some day? Or will the fanboy crowds switch to "well Apple didn't want to do it until they could build a better version of multitasking, and now they have for <insert esoteric implementation reason>."
It depends on whether Apple has a good implementation of multitasking or not. I guess we'll find out later this week during their iPhone OS 4.0 presentation.
I'm not a fanboy, just a fan of good software implementation, and Apple has had a pretty good track record so far.
If they offer multitasking, it will be in a well-thought-out, actually-useful way that doesn't cause you to have to walk grandma through Task Manager or listen to her complain about how her battery life is a quarter what it was before the update.
Your satire is refreshing. Especially the part where I said "Or will the fanboy crowds switch to "well Apple didn't want to do it until they could build a better version of multitasking, and now they have for <insert esoteric implementation reason>.""
And you responded with pretty much exactly what I said, pretending to be a rabid fanboy.
Hilarious!!! HN doesn't usually see much humor at all, it's nice to see some, particularly with such a sophisticated wit!
No, most of the time its a story about how lack of multitasking is GOOD and how the other platforms are bad for offering it, how users are too stupid to use it etc.
To be perfectly honest, I can only think of two use cases for (third-party application) multitasking on a device like the iPhone:
1. App 1 in background streams/plays music while I use App 2 to do something else.
2. IM client in background popping up messages as they come in.
On a device with the form factor and use cases of a typical "smart" phone I just can't think of any other reasonable case where I'd even want, let alone need, multitasking.
So count me among the group who'll be happy if something shows up which actually makes multitasking on a device like the iPhone useful, but who don't particularly miss it at the moment because there just isn't that much it'd be good for.
Passive GPS tracking apps
- Like locale for android which changes your profile settings to put your phone on silent when your at school. Speakerphone only while travelling fast, forward to your home phone while at home, etc.
Why would it drive you crazy? From what I understand (I've never used it), the Locale app is customizable. You specify what setting you want changed and under what circumstances. I actually use similar but more limited free application on my N1 called "Timeriffic". I have it set to turn off notifications (text messages, new emails, etc) automatically at night and turn them on the next morning. I leave the ringer on though for phone calls, because generally if someone calls me on my cell after 11pm it's probably important. :-)
For what it's worth, I have had my Android phone for ~17 months and to this date Locale is _still_ its killer app. I simply refuse to own any other phone until it can do the same.
I will certainly understand if iPhone/iPad multitasking arrives with some fairly severe limitations placed on the developers of background apps. Right now there's zero ability in that area so anything, even if severely limited, will still be an infinite improvement (depending on how you like to imagine your divide by zero operations playing out. ;)
It sure sounds nice in theory, but I'm paranoid enough about such things working that I'd end up manually turning off my ringer anyway. At least for a long time until I felt really comfortable with it... it is super sucky to be "that guy" at a wedding/funeral...
Do you really go to enough weddings or funerals in the same location that you'd be able to use something that keyed off GPS to change the ringer settings? I seriously hope you'd explicitly turn off the ringer in those cases.
:) Good point, but I was really just using those as hyperbole. A better example is that it can't know when I'm in a meeting or not (conference rooms in my building are interspersed with offices), so I've still gotta manually silence it during meetings... that's the most common use case for silencing for me (some aren't in this same situation, but many are), and location-based auto-silencing is useless for that.
So now the user has two things to keep in mind as far as silencing: which times it is programmed to do so automatically (all of which the user must be a bit suspicious of already - as you said, to be extra-sure the user would want to manually override even at those locations during times that it's really important for the ringer to be off) and which times they still have to manually override it. So we've got extra mental burden and anxiety for the user, partially or wholly overriding the savings of not having to worry about silencing in some circumstances. We're only trusting the system for those times where we'd really like it to work but it doesn't have to be guaranteed, so there's some lurking uneasiness during those times.
And the user has to program it. And I'd think it's very likely to be a significant battery drain since it's needing to turn on the GPS quite often to be useful. Etc etc.
Anyway, it's a super-cool sounding feature when just considered as a bullet-point, but it just strikes me as a "techno cool" feature (kind of like speech recognition and "Minority Report" interfaces) that I doubt I'll ever see widely used. I'm sure there are a few specific circumstances where it's really handy and I'm happy for those who enjoy it, but I have nearly no interest in it compared to a trusty manual switch and I think I'm speaking for the vast majority of users there. Could certainly be wrong.
No offense, but the fact that you can only think of two use cases for 3rd party app multitasking isn't really a very compelling reason not to include it in a smartphone os. It's the awesome use-cases that nobody has thought of yet that are being stifled by this limitation.
Those are the two I'd personally care about, and so are the two I come up with.
However, one of them accounts for something like 90% of all the use cases I've ever seen proposed, in any forum, anywhere, for third-party multitasking on the iPhone, and really just boils down to one word: "Pandora". I've said elsewhere and will say again that Apple could probably placate a huge number of people simply by giving Pandora and no other third-party application an exception to the multitasking policy.
But in a larger sense I'm extremely skeptical of the claim that there are many "awesome use-cases that nobody has thought of yet", simply because of the two fundamental problems: form factor and resources.
First, the form factor problem: a mobile phone's screen can only be so large before the device stops fitting in a pocket, which means you get a certain amount of total UI real-estate, and that's it. Unfortunately, it's a pretty tiny slice of real-estate, which means that the traditional multitasking interfaces -- multiple windows, or multiple panes within a larger container -- don't work. You just don't have room on that screen for four or five applications and clear delineations between their screen areas to all be displayed simultaneously; you really don't even have room for two, because even if you cram all your stuff into that space you're still going to run right into Fitts' Law and have something that's unusable.
This means you get only one realistic UI option, which is that every application runs "full-screen". This may not mean using 100% of the screen area, but the size problem means you need to use so much space that there really isn't room for much else to fit alongside it. As a result, all the cool kids in the mobile OS field (iPhone OS, Android and WebOS) are doing the "fullscreen app" paradigm.
And then there's the resource problem, which has been discussed endlessly but not in particularly constructive ways. Every application that's running needs to have code and data resident, and a huge number of them want a network connection too. This means every additional application eats up more memory (a scarce resource on a phone-sized device) and power from running one of the device's radios (ditto -- and note that even if the app someone's interacting with at the moment doesn't need a network connection, odds are that some other running app does, so you don't even get a break when the user's not directly interacting with a network-using app).
This is a resource-management problem, and whatever solution is used for it will inevitably cascade back up into the UI. WebOS uses a card metaphor to cycle between applications, but launch a bunch of applications and the UI goes from responsive to... well, not responsive. Which suggests that, nice as the metaphor might be, it doesn't really work.
The other option, which is the one pretty much everybody else is going with these days, is to have a monitoring process serialize the state of and then terminate one or more applications when resources start running low. This also has the advantage of fitting nicely with the already-necessary fullscreen-app UI because from a UI perspective there's no interaction difference between "Leave App A running, but move App B to the front" and "Save App A's state, terminate it and launch App B". If you don't believe this, note that it's exactly what Android does when it runs low on resources; unless you're watching a process monitor you have no reliable way, as a user, to tell what it actually did when you hopped from App A to App B.
This is also indistinguishable from what the iPhone already does; any decent application already saves state on normal termination, so the fact that the application isn't really running anymore is only noticeable if it was meant to keep doing something in the background (like play music or pop notifications in response to events).
Which means that basic, built-in constraints of running on a mobile-phone-sized device, all by themselves, drastically limit the opportunities for meaningful multitasking. Because of the form-factor problem you can only ever have one application doing actual user interaction at a time, while all others have to sit in the background and do whatever they do without displaying interface (other than notifications) or requiring any serious interaction from the user (basically, you can pop "this thing happened" or "would you like to do X? Yes/No", and not a whole lot else because you don't have room for more UI without stealing full-screen focus, which is, again, indistinguishable from a serialize-and-terminate-and-launch).
Which brings us back, basically, to "play music while some other app is being used", and "pop up notifications". That's not exactly a rich playground of possible use cases; music is, well, music, and notifications are basically only worthwhile to do when:
1. Event X happens (e.g., IM or SMS received).
2. Clock reaches Time X (alarm, reminder).
3. Device arrives at Location X. This offers the largest number of possibilities, but there are still only so many pseudo-geocaching games, walking tours and social-network things you can do without flooding the app market with a bunch of essentially-duplicate applications.
So... yeah, there's really only the two use cases for multitasking: music, and notifications (which I tend to lump under "IM" since that's the one people would probably use the most).
As a side note, what's best for enabling this is not actually full multitasking (in the "every app stays completely resident running all its stuff" sense), but something much more like daemons which periodically wake up and do things.
Device arrives at Location X. This offers the largest number of possibilities, but there are still only so many pseudo-geocaching games, walking tours and social-network things you can do without flooding the app market with a bunch of essentially-duplicate applications.
These apps would at least have a modicum of usefulness, unlike the plethora of movie quote soundboard apps.
Yes you are right about everything you've stated and make a very well-reasoned argument, and I basically agree. I'm just not comfortable with accepting that we sitting here can perfectly predict the interesting use-cases and list them. That's all.
But then again there are all kinds of multitasking devices on the market, so nothing is really stopping the innovation of new use-cases. So I guess we do totally agree. I'm not so much worried about multitasking on the iPhone, since you're right that it's only currently preventing the (arguably) limited set of use-cases you describe.
Well, given that the iPad runs the iPhone OS, I think you can generalize this to one case. Any app that needs to maintain a persistant network connection. That covers IM, streaming...and remote login (ssh, vnc, rdp, etc...)
And as long as the multitasking doesn't introduce undue complexity or any new lag into the UI, there's nothing wrong or hypocritical about that.
It's clear from the range of smartphones out there that multitasking is hard to get right. Palm seems to have the best UI for multitasking, but their performance is far below Apple standards.
Multitasking is also somewhat of a long-tail feature. The mainstream, non-nerd majority is what Apple's been targeting with the iPhone and the iPad, and to them the lack of multitasking is at worst a nuisance that is usually offset by the platform's other strengths. The nerds who really badly want multitasking are a significant and vocal minority, but still a minority.
Apple's established a clear pattern of not releasing a feature until it is done to their satisfaction (see copy and paste), and this feature is easy to get wrong and hard to get right, and it's not a dealbreaker for too much of their market, so it stands to reason that it would be a long time coming. So long as whatever multitasking system Apple releases raises the bar for ease of use, the wait is justified.
Obvious Prediction: people who can't see the difference between a claimed feature and a feature that is designed and works well will continue to be mystified by people who reject claimed features and acknowledge only features that are designed and work well.
Obvious Prediction: Apple fan boys will continue to claim that any feature on an Apple product is well designed and works and will, sight unseen, claim that any feature on a competing product is not well designed and doesn't work. :-)
Edit: I should have mentioned the other obvious prediction: Get downvoted to oblivion by Apple fan boys for daring to critique the cult of Apple. :-(
I don't see those as being incompatible positions. Lots of people don't like the BB/WinMo/Android style of multi-tasking. My single biggest frustration with my Android phone is every few days it slows down to a crawl which reminds me to go open Advanced Task Killer and kill off all my background tasks. Some apps run in the background, some quit. Some apps are impossible to quit once started without a third party task manager installed. The GUI for switching apps is a simple alt-tab style switcher. Even something a simple as having thumbnails of the active windows or a taskbar/dock would be a big improvement.
Personally, I just dislike the existing phone UI's for multitasking. If they can make that awesome and battery life doesn't take a nose dive, I'm all for it.
Well, not everyone agrees on the definition of multi-tasking. As a consumer, interleaving of processes seems quite adequate to me (i.e. no apps running in the background; apps are suspended on minimize), but an app developer may not agree.
I suspect that multitasking support, if introduced will be of the interleaved type- Apple's stance on true background apps being battery killers seems sensible to me.
But then, you never know: with the newer iPad style batteries, they might even pull it off! (I still doubt it, though, since that sort of OS update won't work on older iPhones)
Are they fast and reliable enough? (My understanding was that part of the Urban Airship value proposition was helping to paper-over the unreliability of Apple's push notifications.)
You absolutely do not need multi-tasking (for 3rd party apps) to have background music. You simply need to expose the system media player as a service. I'd actually much prefer that solution. In fact, _most_ backgrounding needs would be better as a sensible system service call. Services could be provided for scheduling jobs, callbacks for location awareness events, etc.
Yeah, you're right. Streams are tricky- music and network too. I think Android solves it using services; would be interesting if Apple comes up with something different (I don't like daemons on my phone personally; but maybe it doesn't matter to most people.)
Sorry I accidentally downvoted you. I agree with you. From a consumer point of view not being able to play music in the background makes the iPhone OS seem incomplete.
I wonder if some sort of hybrid of the current push notifications and GCD might prove a workable stopgap? I.e., apps can register asynchronous event listeners while running, and push notifications can trigger those to give the appearance of multitasking.
If the background listeners/workers are heavily resource-constrained and subjected to limited API access, you might be able to maintain most of the battery life and performance advantages of the current single-task model, while still allowing apps to perform some amount of background processing. Any "heavy lifting" involving a full app UI, the GPU, or outbound network access could still require user confirmation and a task swtich.
I'm sorry but there isn't a false dichotomy between multi- vs. single-tasking, or did you mean to imply something else? I know the operating system is a multitasking environment, but that aspect of it is not exposed in any kind of useful way outside of Apple's pre-chosen features.
As a technical description maybe there isn't, but at user level there is; one or the other or somewhere in between. This is what people are arguing about that you unhelpfully dismissed.
I think most people are used to their computers being able to play music and browse the Web at the same time. If Apple wants to push the iPad as a computing device, they might hit a snag with consumers.
Edit: Whoops. I'll leave the comment but I do realize this isn't an iPad thread.
I wonder: will iPad owners have to pay for OS updates?
For the iPhone, their price has been considered-included, as an accounting matter, in the ongoing revenue Apple shares from the mobile operators. But, for the iPod Touch, upgrade fees have applied to get new features -- with the stated rationale being accounting requirements.
The iPad(Wifi only) is clearly more like an iPod Touch. But even the iPad(Wifi+3G), with no long-term contracts and buy-as-you-need-it service, may not have any ongoing Apple revenue share.
All iPad owners may be on the hook for a fee when iPhoneOS4.0 arrives.
I can't quite decide how to interpret that myself. (I admit I never considered they might be going to an every-other policy.) My theories were:
Pessimistic -- They knew 4.0 was right around the corner and that charging people $20 or so for 4.0 would go over like a turd in the punchbowl. So they're covering 4.0 but it'll be back to business-as-usual with 5.0.
Optimistic -- They're trying out not-charging for major releases but are reserving the right to change their minds again.
Given that iPad app pricing has been substantially higher than it is for the iPhone, I can't imagine too many iPad buyers balking at a reasonable OS upgrade fee. Here I define "reasonable" loosely as "cheaper than a desktop OS upgrade", which would put the price cap somewhere in the $20-25 range.
You bought a minimum $500 device and you're going to complain about a nominal upgrade fee? Why do people bitch about this? You have even less excuse if you're using a 3G version which costs $700 and charges you a min of $15 a month (assuming you use the 3G).
>The common interpretation is that the next major OS update (iPad 4.0) will be available to iPad owners for free, but that Apple reserves the right to charge for iPad 5.0 and beyond.
There was an article about that somewhere (can't find it right now) where they say that according to the EULA the 4.x upgrades are included in the iPad price.
It's a shame they couldn't release the iPads with 4.0 on them because many of the non-technical people won't realize there's an update or no how to update it. Though I guess last time they did an update along with a major device release (iPhone 3G) it was pretty disastrous because of all the hits on their OS and activation servers. Maybe they should have not required iPads to activate via iTunes.
I would love them to make two changes for 4: OTA updates and syncing to mobileme or a USB hard drive. If they did those two changes, it would open up more people to be able to use and iPad.
I suppose so if you never want to do any updates or get media onto or off of it. Apple lists iTunes as a requirement so I don't think I'm exaggerating.
Bringing flash would be only half of the solution. The usual use cases mentioned are video and games. Well, some video providers already are updating to include non-flash alternatives, but let's say this is valid point.
Then we have games, and I am wondering: what's the use of Flash games, which are designed either with keyboard or mouse in mind. How many would be playable with multitouch at all?
Me, too. Mobile Webkit is the key to rationalizing the web. All that information-free flash app garbage is finally starting to clear up as clients realize they're missing the most lucrative corner of the market (those who pay more for Apple).
The best argument for dynamic HTML sites and HTML 5 is iPhone compatibility. Let's keep Android and iPhone Silverlight- and Flash-free. Okay, mobile vendors?