Personally, I don't see why everyone is making such a big deal about multi-tasking. With the "main apps", as long as the app saves state when you switch from one to another, it can feel like multi-tasking even though it is not. The apps don't need to run in the background as long as you can quickly switch from one task to another. There are very few tasks that actually need to be running while they are in the background.
I think that the need for multi-tasking is in smaller apps that normally don't even show up as tasks on the Mac/PC. For example, Skype running in the background monitoring for an incoming call. Or geotagging apps logging locations for photos or saved jogging / cycling routes without needing to make those apps active in the foreground.
These are the sorts of multi-tasking that I would like to see for the iPhone/iPad.
If Apple is worried about battery life, it could track the CPU allocated to each app and show you which apps are sucking your battery dry.
[If Apple is worried about battery life, it could track the CPU allocated and show you which apps are sucking your battery dry.]
Too complicated for most people. Take a look at Windows task manager, and imagine someone trying to figure out which tasks aren't needed and can be safely dispatched. Heck, look at the one on Blackberries.
The Notification Manager has taken the pressure off of the need for an app to run in the background waiting for something to happen. It could be improved. Allowing apps to send internal notifications would be nice.
The biggest issues is having to go back to the Home screen when you switch between two apps. It'd be nice to pop up a calculator, or to enter a note and continue work w/o having to go through the Home screen twice.
People always use the WinMo or Blackberry task manager as an excuse to not implement one on the iPhone, as if Apple couldn't come up with a good implementation.
There are good/simple task managers out there. eg. on Symbian you hold down the home key and you get a simple list of icons like the Mac's Cmd-tab task switcher. You then press the icon of the app you want to switch to or the delete key if you want to close it. Apple could do exactly the same thing on the iPhone - hold Home to get the task list.
On Symbian also, if there is not enough resources to run an app, it asks you to close one of the existing running apps. You switch to the task list to close them. I don't see how that is complicated for a user.
Symbian also puts indicators next to running apps - just like in the Dock on a Mac. Why hasn't Apple carried that paradigm over to the iPhone?
"Symbian also puts indicators next to running apps - just like in the Dock on a Mac. Why hasn't Apple carried that paradigm over to the iPhone?"
Well, because only one app is ever running, it's the one taking up your screen, so there's currently no need for it.
I don't think making users manage the device's resources is a good thing in general, it should be avoided if possible. I would think the coming multicore mobile CPUs would help some of these issues from a technical standpoint (keeping the "front" app responsive).
> task manager
An iPhone task manager enables the user to manage their own tasks, not the system's task. Key difference.
Skype doesn't need to run in the background to monitor for an incoming call, that is what notifications are for. Skype on iPhone has just not taken advantage of this yet. Now that they can run over 3G it is likely that they will.
Apple is not going to ask the user to make judgements about CPU utilization or battery optimization, and that is a HUGE feature of iPhone OS. The system is managing that stuff. Do you think I want to be interrupted during a meeting or while driving or while watching a movie or reading a book for an opportunity to do some computer science?
notifications aren't quick enough for this. I can get notifications minutes, even hours after they're sent.
Agreed - Softphone, for example, is a very capable SIP client, but struggles with incoming calls for two reasons:
- notifications are often too slow (In my experience, ~50% of them arrive with a delay of at least 30 seconds and sometimes as much as several minutes)
- even when notifications come in promptly, the app takes some 5-10 seconds to launch after clicking the notification
So it's (almost) impossible to answer an incoming call via notifications before the caller goes away or to voicemail. I've done it once or twice, but rarely.
[If Apple is worried about battery life, it could track the CPU allocated to each app and show you which apps are sucking your battery dry.]
Google's Nexus One does this. Doesn't stop people complaining about how bad its battery life is; most people tend to jump to a conclusion that there's a problem with the device, not third-party software.
If you allow multiple apps to run at the same time, you end up with the following:
* A true "quit" needs to be implemented. Right now, to the user, you simply leave an app. If you have multitasking, you need to distinguish closing the window and quitting the app.
* A way to kill unwanted background processes.
* A way to regulate how much CPU time a background process takes.
It is a lot of added complexity and probably more than most people want.
Most iPhone apps are pretty good at saving their state -- something that probably wouldn't happen if developers could depend upon an app running in the background.
The big complaint is switching between apps. For example, pulling up the calculator while writing an email. Or, cutting and pasting various paragraphs out of several webpages into an email. It would be nice to have a way of switching between two apps without going through the home screen. Even if it's simply a way to get back to the previously running app.
That would help.
I like to think of another reason that Apple does not (yet) support MultiFinder-like app support:
* They are working hard to get the interface right! Gestures, yes!
And this is hard work, just watch how many people work on their computers in full-screen mode only. As someone mentioned, the iPad OS is perfect "for the rest of us" (read: not "us," but our parents/grandparents) to get the tasks done that are offered on the device.
Imagine if a four-fingered swipe across the screen, up-to-down would, just like in OS X, open Widgets? I mean, most of the applications people want to use together are small and simple compared to the main ones. Imagine if Apple allowed development of Widgets for the iPad: A Pandora widget would allow basic functionality needed and wouldn't closed when dismissed!
I jailbroke my iPhone exclusively so that I could continue to listen to Pandora/iheart radio/SiriusXM while composing/responding to emails.
I agree; I actually wrote up and did some quick mockups of a 'Recent Apps' screen idea a few days ago. I like how you've broken down and explained the categories of "multitasking".
Dashboard and Widgets would help a lot here...
Just a question, which is off-topic but related in a way: At this point, what specific information do we have about multitasking on the iPad?
We *know* almost nothing about the iPad. Only single-tasking was shown. It will run "most" iPhone apps. Not all of Apple's were shown. As shown, it runs a derivative of iPhone OS.
I think Adam lays out the issues well, but I am willing to speculate more grandly.
I personally think Apple will have a multi-tasking OS for iPad and new, more powerful iPhones inside of a year, because it's (a) so obvious a feature and (b) far from impossible given the underlying OS. But Jobs will be very careful with the iProducts' limited resources.
I think they will give programmers a background mode option, suitable for e.g., radio-type apps, and allow very little CPU and RAM for it -- as, e.g., iPod. I think they will also allow notifications, but only simple popups, eg, Missed Call. And I think they MIGHT allow a full app to go into a suspend mode, which would give the appearance of full multi-tasking, at only the cost of switching.
The main case I have for background multitasking is VoIP applications. Currently you can't run them in the background so using VoIP for incoming calls is not practical and of course a normal cell call can possibly interrupt outgoing.
I can still see Apple avoiding multitasking in two ways though.
1) Implementing VoIP properly as an integrated iPhone framework - probably not available to 3rd parties.
2) Allowing approved 3rd parties to multitask after rigourous approval scrutiny.
Unfortunately, with AT&T involved and Apple primarily US focussed, the likelihood of either happening even outside the USA is slim. It's why I'll always have to carry a Nokia.
If a ring from a VoIP app is your main case, then your case is weak. That is by definition a notification and has been possible since iPhone OS 3.0.
-- Incoming VoIP call --
You make it sound so simple. The developers of the application have to restructure their services in order to communicate with Apple's servers and support their joke of a notification system. This adds a lot of server overhead, and extra work, for something several other devices can already handle on their own. His case is not weak; Push Notifications are. Allow the app developer their own method of low-resource communication with their servers.
You say the problem with push is that Apple hasn't opened it to developers. Actually the problems are twofold: 1) developers need to support Apple's proprietary push framework (but AIM, Snood, and various others do this already), and 2) Apple has to carry all the traffic twice -- once when their push servers fetch the updates, and again when they push them to iPhone OS devices.
These make the whole thing less simple & attractive than simply using standard APIs to fetch updates -- although many people find it a good tradeoff for immediacy and the attention of reappearing in front of users.
Also, Apple's notification system is suboptimal. Better notifications (Android is supposed to be good -- perhaps in iPhone OS 4.0?) should make push more popular.
"It would seem that updating background state on a schedule would be the sort of thing Apple could make available to developers, just as it's available for a few of Apple's own apps. Apps would have to register with the iPhone OS, which would mediate how often data was fetched, but that shouldn't be either terribly hard or excessively demanding on battery life."
Well, it might be. I would want Twitter, Instapaper, and NetNewsWire to check regularly. In the future I might also want AIM or a Jabber client to do the same, and might think of other apps. Currently my iPhone only checks for new email & calendar/contact updates hourly, so the additional drain of checking for tweets/RSS/articles every 5-15 minutes would be quite significant.
Some users would do more, and complain loudly if their iPhones died soon.
A few of these behaviors are available on the iPhone, such as following a URL from an email message in Safari, creating an email message with a photo, and displaying an address in Maps. But for the most part, apps can only ask Apple's apps to do things; the main counter-example on my iPhone is Boxcar, which can open a variety of Twitter apps in response to a tweet notification. But Boxcar is extremely limited; it can open a Twitter app, but it can't control that app in any useful way, such as to display the specific tweet in question, for instance.
Actually, Instapaper & NNW can both send draft tweets to Tweetie. By going through instapaper,org, NNW & Tweetie can both post (indirectly) to Instapaper.app.
But yes, defining featureful URL handlers and getting other developers to support them is decidedly non-trivial.
Another problem with background notifications is don't you need to launch your whole app (with all the resources it consumes) just to do your check (or whatever it is you're doing)? In other words, you might as well just have it open or state-saved because it's going to take memory, CPU, network bandwitch, etc. to do its thing anyway. iPod in the background works because it can launch a low-priority thread that just plays an audio stream, and doesn't have to load the code of the iPod app, plus the UI, etc.. But allowing developers to spawn daemons is a nightmare waiting to happen too, and I don't see Apple allowing it.
One thing I'd like to see Apple do is implement "internet radio", like on iTunes, so anyone such as Pandora or iHeartRadio could stream audio to the device efficiently, but it would be controlled through Apple's iPod conduit (ie. no third-party code running). Add some way for the device to send simple data back upstream to the provider, to change channels or skip tracks
I consider the Product Feedback page to be suspect. I assume Apple's only doing statistical analysis of what people complain about, rather than actually reading reports. If your feedback is important to you, register for ADC (free level is fine) and use Apple's Bug Reporter to log Radar items. Those will (eventually) be read & evaluated by an engineer.
I've heard in the past that Apple does pay attention to the feedback pages. Bug Reporter is good for bugs, but since the reports are largely seen by engineers, that may not be a good way to get something up into the product management level.
They will eventually have to go the distance, and I expect that as technology allows, they will. The Holy Grail as far as I'm concerned is listening to music while looking at slides to get an answer for someone that I'm Skyping from my iPad, while getting an email or an IM that pertains directly to the conversation.
When it can do all that, I'll _have_ to buy one, no matter how much Apple tries to fit into Darth Vader's suit. (now I think I know what Jobs dresses in black...)
Odds are good I'll get one anyway. But if they want to _make_ me do it, now they know how.
You can already do that on an iPad and iPhone. You run the music and slides on the iPad like you would a PC, and you do the talking and email/IM on iPhone, like you would a phone.
If that isn't enough multitasking for you, then replace the slide viewing with Google Wave.
As I wrote back in July, there is very strong evidence that while Voice Control runs in the foreground, third party apps continue to run in the background.
Accordingly, Apple seems to have solved the problem of how to run a third party app in the background. It simply doesn't allow it in most circumstances, for good or ill.
Perhaps Apple considers this a user interface issue, like with copy-and-paste. How would you indicate to an iPhone that you want to switch apps? A gesture? Morse code with the buttons? Apple took a long time to solve copy and paste, despite all the clamor and "duh, Apple, what gives?" comments. Maybe that is the situation with multitasking.
The comment system seems to have removed my link. Go to usedandenthused.com and search for Voice Control and you'll see my July post.
Sorry, but yes, the system removes nearly all tags to avoid abuse. Straight text links are fine.
Will the Iphone/ipad/iPod touch eventually get more multi-tasking abilities? Yes, if battery life continues to improve they will. Will they ever get "Full" multi-tasking like a desktop machine? I seriosuly doubt that.
I think the firs step, beyond the current PUSH and possible enhancement to that, is going to be the saved-state fast load/switch where you can 'quit' an application to run another application, then come back to exactly where you were.
The biggest underlying issue with multi-tasking is not, IMO, the battery, but is rather the amount of available memory and cycles. Apple is not going to do anything that makes the iPhone or iPad seem slow, sluggish, or bogged down. Not ever.
But does Apple care if you can listen to Pandora while reading email? No, they really don't. They give you iTunes that is backgroundable and I'm sure as far as they are concerned, that is fine for 95% or more of their users. And they're right.
I foresee another form of multitasking. Applications could have a secondary "background process" that is allowed to run in the background- on minimal resources, e.g. no UI. It may trigger notifications and perhaps it could be allowed limited access to some peripherals, like the accelerometers, audio output and gps. The notifications could give the user the option to switch to the application by starting the 'main' process.
That is exactly what I am thinking the eventual form of third party background support will be... that covers most gaps they have today.
I have some coworkers who have droid phones and they have to download a "task killer" app so that the phone doesn't crash or suck battery life. No thanks.
Pasteboard is supported on the iPhone and applications can use it to programmatically send data to each other (you can flag another application to check the pasteboard via URL handling). Also if you put a document in the temporary directory space, it is likely more than one app could read it (although the danger would be it would vanish at some point so it's not a great sharing solution).
I wonder what percentage of people would be happy if JUST Pandora ran in the background or became part of the iPod section. Not that they would, but I bet that satisfies the majority of people.
No Multitasking in iPad? Please indicate where, in Apple's iPad specs, it says that it doesn't multitask? Guess what folks, you can't, because Apple hasn't said it, and so you have no way of knowing 'til you get your hands on one.
Also, let me point out that the iPhone is the only phone capable of doing the only pair of tasks simultaneously that matters: namely, being on a phone call, and transmitting data over 3G. In fact, the Verizon network is physically incapable of this simple feature, which makes all those other phones non-starters right out of the gte
I think the answer to your question is that the iPhone already multitasks, but in a new way. Traditional computers "parallel multitask", but iPhone "serial multitasks." iPhone forces apps out of its system resources entirely so that it's always ready for the next app. The net result is users run MORE apps in a day, not less. That's why App Store has 140,000 apps and 3 billion plus downloads: users run MORE apps. They do MORE tasks.
> We've gone backwards with the
> iPhone OS, which forces you to
> quit one app ... before you can
> launch another
That is incorrect. The user never quits or launches an app. The home screen is a task switcher. The system manages what processes are running, not the user. To the user, all of their apps are running at all times.
On a competing smartphone, switching between 2 apps is often slower than on the iPhone, even though those 2 apps may have active processes.
What matters is the results, the whole device, not the CS details under the surface.
That's a fair point - from the experience user perspective, we may be quitting and launching, but from the normal user perspective, they're just switching between apps and have no idea of the cold/warm launch state.
Full-on multitasking is already available on Jailbroken iPhones in the form of Backgrounder, which allows you to send any app to the background without quitting it.
To quit an app, you press Home, just like normal. To background it, you press and hold Home (for voiceControl users, you can change this to press-and-hold-Power). To stop an app's ability to background, repeat the action.
You can even pre-define apps you always want to run in background, like Pandora; you then hold the button to explicitly quit.
Thing is - it really does smack the battery life to listen to Pandora over 3G while checking Twitter, Mail, and playing games - and that's with JUST Pandora backgrounded.
I make the tradeoff, but I can see the concern that "average Joe" would only complain that his battery life sucks, without realizing he's doing it to himself.
Without being dismissive to the average Joe, the average Joe does not know what a running app is, let alone a background app, let alone how to manage them. They shouldn't be expected to in order to use a phone, either.
I do Mac training, and I hardly ever encounter a user who knows what the little lights in the Dock mean. When they want Safari, the click on Safari and it appears; same with iTunes and so on. They have no concept that Safari was or was not running before they clicked it. Eventually, they end up running all of the apps in their Dock and wondering why their system has become sluggish. CS nerds who think that is not a deficiency of the machine are fooling themselves.
It's no surprise to me that those of us who do computer training are the loudest iPad evangelists. Most users are TORTURED by PC's, even Macs.
Many people cannot deal with the distraction of traditional multitasking, either. The iPad has already been described favorably as a "quiet place" by a non-CS user.
The iPhone and iPad both evoke the same conflict -- the tech-savvy computer people vs. simplicity for the masses. Apple will not do anything that makes the iPhone or iPad more complicated to use. The Marketing Dept will make decisions about multitasking, not the geeks. End of discussion.
This whole discussion is flawed. Everything you are talking about wanting to do - esp. your examples of looking at an email and setting up a meeting at the same time blah blah blah...
You are a power user, and you want a laptop or a ModBook.
The iPad and the iPhone are _not_ being designed to cater to the geeks that, frankly, even know a site like TidBITS even exists.
If you read Gizmodo, Ars Technica, or TidBITS, Apple is *not* gearing the iPad to you.
And that suits them just fine.
I recently came to this revelation myself a few months ago and decided I need to replace my 3GS with something more flexible.
I want a phone where *I can chose what information is available to me at a glance on my home screen (the next 5 calendar appointments thank you very much), not just a huge wallpaper.
I want a phone where all my notifications from all apps are stored neatly and unobtrusively in one place which is visible at all times (embarrassing how poorly my iPhone handles even 2 push notifications in succession).
I want a phone where *I have control over what apps are running (is it so much to ask to listen to Spotify while I check the web on the bus home?)
In short, Android is looking more and more appealing. It's a shame its not spit polished to death like iPhone OS (jerky scroll pains me..) but I'd rather allign myself with a flexible open platform with a bright future rather than put up with the Oh-So-Simple-Your-Ma-Can-Use-It iPhone.
Sorry Apple. It's been fun.
I think, for your needs, webOS looks better. Of course it has less applications...
Well, yes and no. The fact is that the iPad, like the iPhone, is a platform, and people are going to develop highly geeky things for it. It is what we make it to be, and Apple is fully aware of that. So while we geeks may not be Apple's target audience, that doesn't mean Apple isn't paying attention to our needs (since Apple employees often fall into that category as well).
The needs of the geeks simply can't ever outweigh the needs of the normal users.
i enjoyed seeing a Judy Blume reference in the intro :D
This may be embarrassing, but I haven't read Judy Blume since I was a kid, and I didn't intentionally put a reference in. What are you referring to?
HTML 5 offers APIs for standardising inter-app communication within a web page - these could provide a 3rd alternative between Apple Events and purely URL based comms, although I would go with you r bet this is the way forward (saving state into a shared area, passing a URL to the shared document)
Can't be hard to allow an application to leave a dameon process running, which is presumably what Mail, say, does. Obviously each daemon would need managing, but that's not beyond the ken of a sensible engineer. One thing that won't ever happen is Apple relying on a system to either auto-quit, or facilitate forced quitting, of apps - far too inelegant. It's somewhat of a joke to anyone other than a geek that one of the most popular apps on android is a task manager to allow forced quit, that allows uninformed users to quit whatever they fancy
Two things that would help massively: apple enforcing a policy that requires apps to save state when quitting - most do, but some don't; and a more informative, and permanent, notification system - notifications shouldn't replace the previous, but add to them. Especially, apps should be made to save state - when you can only see one thing on a screen, and when response is quick, reloading a saved app is functionally equivalent to multi-tasking.
I really liked the point you made about 'freezing' the background state of an app. That could even be effected from the iPhone's Settings app to implement across all the apps on the phone. :) The other thing that I would really like to see would be a shortcuts standard implemented across all apps---w/out having to go back to the Home screen like everyone is saying. I think that if I saw these two things implemented and implented well (the Only Way for Apple) I would be one super happy camper. :)
....Oh yeah, the other thing that I would like to see built into the UI is a 'one touch' auto-scroll to the bottom of the page (you know, the counter part to the other 'top of page' auto-scroll that's already built in to the existing UI).
I wonder if Apple will try to redefine task switching as it has other parts of the GUI. I'm thinking of an expansion of the "send a link" type functionality in mobile Safari into an Automator type framework for app development - it would be a userland manifestation of object-oriented programs.
It would obviously be a more limited functionality that allowing people to manipulate data freely between apps through the medium of the clipboard and the file system, but Apple has shown itself willing to add limitations in the name of ease-of-use, stability and intuitiveness.
In July 2009, Apple brought VoiceOver to the iPhone, which meant blind users could use the iPhone just like everyone else, however, there is a serious problem because of no multitasking that is keeping many blind users from considering using the iPhone at all. GPS is extremely important and useful for blind travelers as it gives them a lot of info not just about their current routes, but also what's right around them, that others get by looking around. Currently on the iPhone if running gps and a call comes in, you lose the gps app. Because of how blind people rely more intently on gps than some sighted users might, this is considered dangerous, and thus some blind users are shying away from the iPhone because of it.
I am expecting Apple to include some new functionality in OS4.0.
I think the change with the most bang for the buck is suspend and restore application switching.
When the user leaves an app, it remains in memory, and can be instantly resumed.
There's enough memory in an iPhone to support several applications. Users could hop between memory resident applications instantly with no loss of context.
Eventually memory will run out, so at that point, the OS would ask the oldest app to quit conventionally.
No need to change the UI, and a very noticeable performance boost.
There is only enough memory in the 3GS and latest iPod touch, not in previous ones. I think (just a hunch, no evidence) iPhone OS 5.0 will be the first one not supported by the original iPhone.
Another thing that would be nice to see in iPhone OS 4.0 would be the Universal auto-orient function that they said would operate in the iPad OS, such that the Home screen would even re-orient for landscape along with all the other instances where auto-orient doesn't function (like typing out this message (in portrait)). From a tech standpoint I have not the faintest idea what that would require and honestly, if there's too pricey a trade-off (CPU limitations), I'd say forget it. :)
Yes, albeit limited multitasking.
For example, as you exit the subway.. The phone is tryig to reconnect to the network. It frustrates me say when I sometimes try to text and the phone is trying to poll the email servers. The phone effectively freezes until the polling has finished.
Minor, yes.. annoying, definitely.
We have to think that the UI should be doable both in iPads and iPhones.
And this UI has to take into account the fact that the iPad provides different visualizations in different orientations, so no orientation must be preferred.
I think "app in app" multitasking, for those apps which are able to work in an iPhone, might allow the reduced application to provide information and interactivity. But this brings the additional complexity of an extra control layer for moving around, and dispensing of, that other application.
Other form of multitasking would be "daemon like", with a few callbacks for processing every now and then. They could be guaranteed to be small and fast enough by app reviewers, so that there is no need to close them, and the actual way to deactivate them remains with the "daemonizing" application.
The Settings app could have a list of apps allowed to background, both for performance and security.
And we badly need a new UI for notifications!
If the iPad w/ newer iPhone OS is suppose to replace a computer for casual use, then how are they going to handle multiple users? Will there be profiles? I don't want to see my wifes contacts and she doesn't want to see my.
I have not seen how this will be handled and it is a big hangup to purchasing one when it is released.
Apple hasn't said anything about replacing a computer for personal use. It's a complementary device, which still requires a computer for syncing.
From Apple's point of view, obviously, the idea of "multiple users" for an iPad is silly. You have an iPad, and your wife has her own. It's the same with the iPhone: there are no users, and I presume most people don't share an iPhone (but some probably do).
I'm not trying to shoot down your question; I also wonder how my wife and I would share one. Perhaps the answer is that you don't put any contacts on if it's important to keep them separated. But it's not something Apple likely cares about, because they want to sell as many iPads as possible.
Strangely, I hadn't thought of this, although I have written in the past about how Apple is very single-person centric (whether someone living alone or one person in a family). iTunes, for instance, has terrible sharing options for a family that has the legal right to share music among themselves.
I've outlined an alternate solution, involving lightweight background worker processes, here: http://myblog.rsynnott.com/2010/01/multitasking-in-iphone-os-4-my.html
This article does a good job of breaking down the different kinds of multi-tasking but none of the examples of needing multi-tasking are compelling:
"read text in Mobile Safari, copy some text to a Pages document, and send that document to a colleague via Mail. That specific example may turn out to be possible with the current iPhone OS..." it is entirely possible to do, by following those steps one at a time.
"the equivalent task on an iPhone OS device would be even worse, requiring me to quit Mail, launch Calendar, figure out what times I have available, quit Calendar, launch Mail, find the right message again, reply to it, and then try to remember which times were available." This is an exaggeration: to do this, simply reply to the email, write some of the message, open the calendar and look up times, and then go back to email - your message will be open to the same place you left it - fill in the times and finish your message: how is this painful or inconvenient?
What's interesting about multitasking is that we don't really do it ourselves either all that much - we simply work very quickly and sequentially, occasionally pausing one task to switch to another completely separate one.
So these examples may not be compelling, but they're the kind of thing that's fast and easy on the Mac, with multiple active applications, but clumsy and hard on the iPhone thanks to the small screen and one-app-at-a-time limitation. They are possible, but difficult and entirely unforgiving of mistakes or memory lapses that don't occur on the Mac because everything is running and visible.
>multitasking will be key - it's hard even to imagine what using a large-screen Mac would be like if you could run only one application at a time.
Anyone remember System 6 where you could choose to run either Finder or MultiFinder? :-)
Also, I think everyone's forgetting PalmOS. The one thing I miss from my Palm days, aside from a great version of Sorry, is that apps remembered their state. There was no backgrounding at all but it felt like there was, especially if you used one of the app switching hacks. While I love my iPhone, I definitely miss being able to drag from one of the soft buttons into the graffiti area to go back to my last app, and dragging upwards to show a popup menu of my last 10 apps. It *felt* like instantaneous app switching, even if it wasn't really doing that, mostly because the apps were able to remember what they were doing when you left.
Figuring out how to provide a clean UI to process management is a waste of time: the actual concepts are annoying and frustrating. The user wants to see their stuff, not visualize the state of the app. A beautiful and clean UI that lets the user express, "I'm planning to switch between these two apps a lot so i'm willing to take a battery and performance hit to keep them both running" is still not going to be very nice.
The vast majority of the reasons for background processes can be eliminated if Apple chooses to.
Streaming radio in the background: Apple could easily provide an API that allows that. Apple would define the protocol and CODECs supported - they'd choose ones that were low power and implemented optimally on the hardware. Radio app would pass the URL to the API and it would handle playing the stream itself. Right now, double tapping home gets you a controller with an 'iPod' button. With this, you'd get a "Pandora" button, for example.
From a development and testing standpoint, it would be very helpful for the iPhone to fully support VNC, so that automation against the user interface is possible. The VNC server would run in the background. Otherwise, manual testing costs continue to increase over time.
I like the side by side list of different multi-tasking methods and their implications. The discussion on these technical options is detailed and well thought-out.
I think this article could be improved if it were to look at the business reasons that multitasking is not allowed.
This article leaves out any mention that allowing certain 3rd party apps to run simultaneously with productivity applications competes with Apple's iTunes.
If you search the comments on this page you'll find that many people are interested in Pandora radio. It is my belief that much of the delay from implementing more than push notifations is that Apple lacks recommendation-based streaming cloud services. I've outlined this idea in a post specifically about this concept: http://banagale.com/protecting-the-cash-cow-why-the-ipad-does-not-have-multitasking-ability.htm
Perhaps Apple's acquisition of Lala will be related to this. I don't have any hard information about the business cases, and while it's easy to speculate, it would be nothing more than speculation.
Oh, c'mon you guys, go on multi tasking somewhere else, and leave us in peace with our monoculture but blazingly fast. Instant, should I say! Who cares abaout multitasking, when I could pass from one app to the other without waiting. It's a thing of the past when you had to stare at the hourglass or better go get some coffie while launching applications. So please, I want to trade my powerbook for iPad and I just want it to be instantly on everything it does. Period.
In many ways I totally agree, but only if you think of the iPhone as a phone. If you think of it as a small computer in your pocket the "without waiting" part can become tedious as you end up swiping left to right to left constantly as you change back and forth between several apps.
If I want to send someone a photo that's on my Mac, I have to launch Settings on my iPhone to turn on wifi, navigate to Pastebot and launch it, copy the photo on the Mac, copy the photo in Pastebot, navigate to Mail and launch it, paste in the photo, navigate to Settings and launch it, turn off wifi, navigate back to mail and launch it, and then finally continue on with my email. Does this sound like a blazingly fast process? And yet I do things like this multi-app switching example all the time.
As a phone it's amazing, as a portable pocket-sized computer, though, I could really use a bit of true multi-tasking.
They should just add something like dashboard widgets to the mix. Many of the things I might want running simultaneously are either things to check, like my schedule, twitter, email inbox or things like internet radio streams. Most of these could be widgetised, summoned with a suitable multitouch gesture and got rid of when not needed - the working app could freeze in the background. any audio type apps could carry on when the dashboard was closed, much as they do an a mac currently
I think iPhone apps are already intended to be like Dashboard widgets, so there may not be another level of app size abstraction that would work in such a constrained interface space.
I have multitasking right now, on my iPod Touch, with blackra1n, cydia and backgrounder.
I'm using Skype, Mail, Safari and Music and none of them is shutting down when I switch from one to the other one.
My battery is operating normally.
I'm also using my iPod Touch as a regular phone, in my car, at restaurants and everywhere, using the MiFi 2372, permitting me to connect up to 5 WiFi devices at the same time.
I don't need full OS X style multitasking, but I want more than I have now. Selecting a link in an email, then having to quit the browser, launch email and return to what I was doing is very cumbersome. At the very least, Apple should add a Web browser window to the Email app.
Music is one place where I really want background activity to be allowed. I want to listen to Pandora, for example, when I'm doing other thing, just like I can with the iPhone's iPod function. It should also be able to return to playing music after a phone call.
While we're at it, app management, while better than before, is still mediocre. It's only going to get worse on the iPad. I have about 90 apps on my iPhone, most used very infrequently. We need something like Overflow for the iPhone, where we can categorize apps and find them quickly, rather than searching from screen to screen.
This is a long overdue thanks to you guys for articles like this that alert non-professionals and semi-informed non-geeks like me to things that are useful or just nice to know about the state of Apple. Having understood large parts of it, I want to let you know there are people out there who greatly appreciate the effort you make to give us timely peeps inside the Mac/iWorld universe. In Japan they have Living National Treasures. i nominate you, collectively, for Virtual National Treasure of the Apple nation.
Thanks so much for the kind words, Jim!
I thought it was very unfortunate that Jobs and his design team decided to build on the IPod OS instead of the MacOS. From what I gather from thjs article, I have even less incentive to get an iPad than before. (Add to the negative list of need to get new software, need to get yet another protective case, need to get a real keyboard, really underpowered
device that's more of a toy at this point.)
Truth is I have become too used to "just using" a Mac (since System 7) to be bothered with some really seriously dumbing down to get the same things done. And for what upside?
Consequently, I'm beginning to wish even harder that Apple just comes out with a smaller line MacBook / MacBookAir / MacBook Pro, say with 9 or 10 inch diagonal screens. as there is much to be said for light and portable power. Further, if I am going to have to deal with a new OS anyway, I might as well get a netbook.
Keep in mind that the iPhone OS and the Mac OS are essentially the same; what's different is how you interact with them at the surface level because what works on mouse and keyboard-driven computer with a large screen completely falls down on a small screen where touch is the only input mechanism.
What Apple is saying with the iPad is that the Mac can't be shrunk any further than the MacBook Air without making the mouse/keyboard interface too clumsy to use, like all other netbooks out there (where the keyboards really do stink).
But it's very important to realize that this first iPad is NOT meant to replace a Mac; it's seen as an adjunct, a peripheral that will do some thing much better. The extent to which is succeeds at that won't be clear for a few months yet.
Too much information for me to absorb but for me, all I need is to suspend one app, switch to another (app does this), and then switch back and resume. KISS - Keep it simple and simpler.
IMO, what needs to occur first is for the Objective-C iPhone dev. system to support garbage collection, like the MacOSX version now does.
What I miss in the iPhone OS is a complete search, where you can enter a phone number and get the contact displayed where the number is.
I do not need multitasking for my needs on the iPhone but the lack of ability to respond to emails sent to my mobileme alias address using my alias address in the reply negates the usefullness of the alias concept. It only will respond with the main account address. I have been told that the iPhone OS is not robust enough to reply from the alias address and so I must either reply with the main account address or wait until I am at my computer to respond via the email alias address.
I have been reading complaints about the iPad acting similarly with keynote and pages. I assume the email/alias problem is the same on the iPad. I am glad I have not purchased an iPad only to have the same problems with it as I do on the iPhone.
This is a squirrelly area of the iPhone OS - Joe Kissell and I have figured out a workaround for IMAP accounts, but it doesn't work for MobileMe or Gmail (the latter can be done, but you must do an IMAP setup rather than using the Gmail button).
I've been a Apple/Macintosh consumer products and supporter since 1993... Even if I wouldn't switch to Windows, I have observed that the sparingly moves has an expensive increasing price, especially when they spread their quarterly profits... Quite indecent sometimes! The technology and design it selves doesn't justify to leave the faucet leaking out of their consumers wallets. iPad is non-sense to me, as many of their hardware could have been improved before though because of the pricy improvements we pay over the years to help the firm with that. Apple can spread and be the best company in the personal computer world... That's their call after all! Got to go I've got a iPhone 3G call to place... Bye now!
As stated multitasking is available through backgrounder in the jailbroken iPhones.
I am using it (since the beginning) and it's (for me) a "must".
An example: I read an e-book. I have an unknown word, I send the e-reader in the background, I launch the dictionary, I found the word, then I switch back. If you are talking about one word, it might not worth it, but if your needs are frequent, then backgrounder is a MUST!