Apple to preview iPhone OS 4 this Thursday at Apple HQ
edibleapple.com
edibleapple.com
My money's on some sort of limited form of multitasking, where apps can launch background processes or something like that.
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)
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.
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.
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>."
I'm not a fanboy, just a fan of good software implementation, and Apple has had a pretty good track record so far.
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!
Kudos!
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.
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. ;)
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.
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.
These apps would at least have a modicum of usefulness, unlike the plethora of movie quote soundboard apps.
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.
In other words, exactly the way Android already does it? :-)
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.
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. :-(
http://geekfor.me/faq/you-shouldnt-be-using-a-task-killer-wi...
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)
Skype on the iPhone/iPad is great, except for the need to pre-arrange simultaneous launch.
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.
That'd be a fairly good compromise.
"Is there a way to shut off the iPod Touch while the countdown timer is working and the iPod Touch will wake up when the alarm goes off"
You clearly have the ability to receive phonecalls at all times, so the phone is running so you have multiple concurrent tasks so there's no argument.
Except there is an argument, so that isn't what's really being discussed even if the discussion is framed by that term.
Edit: Whoops. I'll leave the comment but I do realize this isn't an iPad thread.
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.
Hopefully this should mean free updates.
From that, it sounds like they will be charging for updates every two major versions, so not as often as the iPod touch.
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.
You just sold someone a minimum $500 device and you're going to charge a nominal upgrade fee on top of it? Why do companies do that?
Why do companies do that?
It has something to do with some weird accounting requirements/rules.>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.
I hope not.
On a more positive note, I hope they have multi-tasking and some kind of dashboard feature.
As a developer, I really hope they have some kind of CoreImage support.
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?