Move a File in the Finder
Sometimes you want to move a file in the Finder across volumes, not copy that file. Holding down the Command key while dragging ensures that the item is copied, and then its original deleted, adding up to a move.
Written by
Glenn Fleishman
Recent TidBITS Talk Discussions
- Alternatives to MobileMe for syncing calendars between iPad/Mac (1 message)
- Free anti-virus for the Mac (20 messages)
- iTunes 10 syncing iPod Touch 4.1 (2 messages)
- Thoughts about Ping (16 messages)
Related Articles
- What is Fast App Switching? (23 Jun 10)
- Apple Previews Major New Features in iPhone OS 4 (08 Apr 10)
- Apple to Unveil iPhone OS 4 on April 8th (05 Apr 10)
- The iPad: A Developer's Anti-Contrarian View (05 Apr 10)
- Microsoft Revises and Renames Its Phone OS (16 Feb 10)
- Bonus Stories for 15 February 2010 (15 Feb 10)
- iPhone Developer License Points to New Devices? (28 Jan 10)
Published in TidBITS 1016.
Subscribe to our weekly email edition.
- Aperture 3.0.1 Update Addresses Stability Problems
- Mac Enterprise Numbers Expected to Increase in 2010
- YouTube Halts Full Support for Older Browsers on 13 March 2010
- Prevent Apple Mail from Auto-Completing the Wrong Address
- Clipperz Does the Impossible: A Safe Online Password Manager
- TidBITS Watchlist: Notable Software Updates for 1 March 2010
- ExtraBITS for 1 March 2010
Does the iPhone OS Need Multitasking?
A continuing complaint about the iPhone OS has been that Apple doesn't allow multitasking, a staple of the Mac OS since System 5 first added MultiFinder in 1988. Apple's stance is that allowing apps to run in the background would significantly hurt performance and battery life, but in iPhone OS 3.0, Apple added push notification, which addressed some - but by no means all - of the desires of those who were asking for multitasking.
For the most part, requests for multitasking capabilities had died down to a dull roar since the release of iPhone OS 3.0 and its push notifications. It wasn't that the desire had disappeared, but more that the debate was at a standstill.
The announcement of the iPad changes everything, because it includes a faster CPU (though how much faster is as yet unknown), 10-hour battery life in comparison with the iPhone's 5-to-9-hour battery life rating, and a screen with 1024-by-768 resolution that's far more spacious than the 480-by-320 resolution of the iPhone and iPod touch. The longer battery life could reduce Apple's concern that multiple apps running simultaneously would hurt battery life, and the larger screen raises the possibility of running apps side-by-side.
More generally, whereas the iPhone is aimed at short, focused tasks, the iPad is more likely to lend itself to longer, more general tasks that involve using multiple apps, just as we're used to on the Mac. It's easy to imagine wanting to use an iPad to 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, but it points toward needing more ways for iPad apps to work together in the future.
Plus, if I'm on the right track with my suggestion that Apple's long-term plans involve even larger iPhone OS-based devices (see "iPhone Developer License Points to New Devices?," 28 January 2010), 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.
But what do we mean when we say that the iPhone OS should support multitasking? If we define what we're looking for more carefully, it might be easier to lobby Apple for support in iPhone OS 4.0 and beyond.
Push Notification -- The simplest form of multitasking is the one that Apple has already made available to developers, push notifications. In essence, applications register with a push notification service that runs at the system level, such that when a notification arrives, the iPhone OS presents the notification as though it had come from the app.
Notifications are one of the primary things that people want from multitasking - for one program to be able to notify the user of an event even when the notifying app isn't in active use. On the Mac, think about iCal - you want event alerts to pop up no matter what application you're using, and that can happen only if another process is paying attention in the background and can interrupt the frontmost application.
The problem with push notifications with regard to multitasking is that they are all responses to some external change in a cloud-based service like AIM or Twitter, not an example of a background app notifying you of some change. That is possible in the iPhone OS, of course, such as with calendar or timer alarms that presumably schedule internal notifications for specific times, but Apple hasn't opened that capability up to developers in any way that I'm aware of. It would be nice, though, and wouldn't seem difficult to add.
Background State Updates -- Another way we think about multitasking comes down to updating remote state in the background. This too is possible in the iPhone OS now, but only for Apple's apps. If you have Fetch New Data in the Mail, Contacts, Calendars settings screen set to Push, new email messages and changes to your contacts and calendars appear automatically. That's why you don't have to refresh Contacts or Calendar to make sure you have the latest changes; with Mail, you still need to check for new messages (or wait for the timer to trigger another mail check) for accounts without push. (You can of course make calendar and contact updating a manual process by syncing only via iTunes.)
While Apple's apps can make sure their state is always up to date by bringing data in while in the background, Apple hasn't opened that capability up to developers. Twitter apps, for instance, and RSS news readers, could benefit from being able to update state in the background.
I do want to distinguish between scheduled updates for something like Twitter or RSS, and continuous background execution, which I'll discuss later. You don't care if a Twitter client or RSS news reader checks every second, since each refresh can bring in old messages as well, whereas an instant messaging app might miss messages entirely if they arrived at the wrong time (and the server didn't maintain state with the client). That's why a chat app, or a GPS tracking app, might want to run all the time, since scheduled updates wouldn't be sufficiently fast or complete.
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.
Inter-application Communication -- On the Mac, we're accustomed to applications talking with one another in a wide variety of ways, such as Entourage sending a double-clicked URL to Firefox, Twitterrific asking Growl to display a notification, an iTunes controller displaying the current song, or even the Finder telling BBEdit to open a document.
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 reliably control that app in any useful way, such as to display the specific tweet in question, for instance.
The reason for this is that the main way apps can communicate with one another now is via URLs, and the width of that channel of communication depends on how robust the URL handler API of one app is, and how much of it is used by the developers of other apps. But this approach is limited, since the information must fit completely within a URL, and because it's unidirectional - the receiving app can't send any information back. Plus, in the current iPhone OS, files are private to each app, so one app cannot send a file reference to another app.
I could see a future version of the iPhone OS extend URL handling with the capability to send file references to documents in a shared space, and perhaps to return another URL to the sending app. Such communication without requiring both apps to be active wouldn't hurt battery life or performance much, and might be better than the user flipping between apps manually now. But it would still be a clumsy way for apps to communicate, unlike the Apple Event system built into the Mac OS that enables applications to communicate with one another.
Apple Events can work only if the destination app is running, however, so it's much harder to imagine a similar system in the iPhone OS, given its significantly more limited CPU and RAM resources. I wouldn't expect to see this in the near future.
Of course, the other way to transfer arbitrary data from app to app is via copy and paste, a recent addition to the iPhone OS. Copy and paste solves many problems, but is entirely user-driven, unlike the URL approach or Apple Events on the Mac.
Quick Task Switching with Saved State -- The first glimpse of multitasking in the Mac OS came with Andy Hertzfeld's Switcher (from 1985), an application that almost made it possible to run two applications simultaneously, although under the hood it merely enabled switching between applications without quitting one and launching the other. Switcher was supplanted by MultiFinder in System 5 before System 7 made it a standard part of the operating system.
We've gone backwards with the iPhone OS, which forces you to stop using one app (by pressing the Home button) before you can launch another (by tapping its icon on a home screen). It does so for two main reasons: consistency of user experience and to eliminate the RAM and CPU requirements necessary for keeping two apps active at the same time. Luckily, quitting and launching are generally quick, which is why Apple has been able to get away with it so far.
Still, it's frustrating to be forced back to the home screen constantly (especially for those of us who have lots of home screens to hold many apps), and Apple has even implicitly acknowledged that by providing a single shortcut action - a double press of the Home button - that you can set to display the first home screen, the search screen, the Phone Favorites screen, the Camera app, or the iPod app. And even the fact that Apple allows four apps to be docked and thus appear on all home screens shows that they recognize users want to move among some apps more fluidly than others.
I'd suggest that two changes are necessary to meet most of the needs of quick task switching. First, the iPhone OS needs a faster way to switch between user-selected or recently used apps - the display of a shortcut screen could even be tied to a double or triple press of the Home button. Second, both the iPhone OS and individual apps need to work harder at saving the user's state, so every launch doesn't involve starting from scratch. It's not impossible; our TidBITS News app does it, so if you're reading an article when you leave the app, the app puts you right back where you were when you next launch it. Perhaps the iPhone OS could "freeze" the state of apps automatically, if developers so wished, without having to do extra work.
Neither of these suggestions requires apps to be active simultaneously, and should thus be the sort of thing Apple would consider in a future version of the iPhone OS.
Simultaneous Execution -- Here we come to the real nut of the problem - true simultaneous execution. But even here there are two actual scenarios: apps like iPod that need to run in the background, but which don't need to take up any (or hardly any) visible space in the interface, and the future possibility of multiple apps running side-by-side on an iPad.
Obviously, this first scenario is possible with the iPhone OS because the iPod app does it, so it should be possible for other apps like the Pandora music app or a GPS tracker app to do so as well.
Here's where we come back to Apple's claims that allowing background apps would hurt performance and battery life. Let's say you're playing a game on your iPhone, and it's taking most of the available CPU cycles. Running another app at the same time, like iPod, isn't going to hurt battery life significantly because all the CPU cycles are already in use, so if the game would have drained the battery in an hour, the game plus iPod would do so only slightly more quickly.
However, let's assume you're not using a game, and whatever app is active is using relatively few CPU cycles. In that case, adding another process like iPod would increase overall CPU usage and would undoubtedly drain the battery more quickly. That's not ideal, but it seems like the sort of thing that should be a user decision - much as Apple warns that fetching new data more frequently drains the battery more quickly.
A more serious problem revolves around performance. Let's say you're a passenger in a car, and you want to play a game, listen to iPod in the background, and have a GPS app tracking your location and speed, all while new messages are pushed to Mail. Now the iPhone's CPU would have to share cycles among all the apps, and if it did so poorly, performance in the game might drop below acceptable levels. Tweaking how much CPU time to give to background tasks while keeping the foreground task responsive is a black art in all operating systems. And that assumes the iPhone's CPU is even up to the task at all - it may simply not have the power to keep the frontmost app responsive under the load of multiple apps. And that, I believe, is anathema to Apple - the magic of the iPhone OS's direct manipulation interface is that it's so responsive that it seems natural. Introduce lag or stuttering, and the illusion would fail.
Thus, the only way I can see Apple allowing background apps is if it could in some way limit the portion of CPU cycles an app was allowed to use in the background, and the app would have to accept only occasional cycles if other things were going on. It's not inconceivable, but it feels like a hard problem that Apple is unlikely to solve soon.
A more serious problem may revolve around RAM limitations. Apple stays very quiet about how much is in each iPhone OS device, and it's entirely possible that there isn't enough for multiple simultaneous apps whose RAM requirements Apple doesn't control. Tweaking how much CPU time to allot to background apps may be difficult, but it's doable. Relying heavily on virtual memory (particularly if it's backed by relatively slow flash memory) instead of physical RAM could drastically hurt performance.
The second simultaneous execution scenario is more speculative, put possibly more easily answered. The iPad screen is large enough to display two (or even four, for that matter) classic iPhone apps simultaneously. Even with iPad-savvy apps, it would seem likely that if they were made to be resolution independent or could switch down to an iPhone-sized display when sharing a portion of the screen, it would be reasonable to run two side-by-side, with both being active at the same time. And, if the iPad's A4 processor is sufficiently fast and there's sufficient RAM, perhaps there would be enough resources to do that.
Here's where we start to move into the world of the Mac, because it's entirely commonplace to have two applications visible at the same time (and it's nearly impossible to avoid for those of us who prefer to work on dual-display systems). I constantly refer to a Web page while I'm writing an email message in Mailplane or working on an article in BBEdit. And if someone sends me email asking to schedule a meeting at Macworld Expo, I can show my calendar in BusyCal without obscuring the message or its reply. That's huge, and makes me more productive than I would be if I had to switch between them with Command-Tab. And 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.
Although allowing multiple apps to run side-by-side on an iPad seems like a stretch for Apple (I can imagine an interface a little like iPhoto's photo comparison approach), it would be a boon for anyone trying to use the iPad instead of a Mac for a lot of tasks that require visual access to data in multiple apps.
The main advantage this scenario has over the previous one, where the secondary apps are executing but not taking up interface space, is that with side-by-side apps, it may not be necessary that one continue processing while the other is active. The calendar could become essentially frozen in place while I'm replying to my email message, and activate only when I tap on it to switch to the next month, at which point the email app would freeze until I tapped back on it. That approach could address the performance problem, since only one app would actually be using CPU cycles at a time.
Putting It All Together -- Let's see where we are, now that we've broken down "the iPhone should have multitasking" into its component parts. Some are here today in only Apple's apps, others are purely speculative.
- Push Notification: It's here today, and while it's possible Apple will tweak it slightly in the future, it does what it needs to do in terms of reporting external changes, and people generally like it. Notification of scheduled events from iPhone applications which aren't active is currently restricted to Apple's apps, but doesn't seem as though it would be hard to open up.
- Background State Updates: Apple currently reserves this form of multitasking for a few of its own apps, but I see no reason it couldn't be opened up to developers, assuming a few restrictions to avoid abuse that could impact performance or battery life.
- Inter-application Communication: Some forms of inter-application communication are possible on the iPhone OS now (sending URLs from app to app, and copy and paste), but they're quite limited. Apple could enhance URL-based communication quite significantly without too much difficulty, but I don't expect an Apple Events-like system to appear on the iPhone any time soon, and I doubt it's worth asking for.
- Quick Task Switching with Saved State: The iPhone OS would need some interface changes to enable this, but most of the responsibility lies with apps to save their state and restore it as quickly as possible. In the meantime, I think it's worth agitating with Apple for some app-switching shortcuts and perhaps OS-level support for freezing state.
- Simultaneous Execution, Background Apps: Although this is here today, at least with the iPod app and some of Apple's other apps, I don't expect Apple to provide this more generally soon, since ensuring that the frontmost app's responsiveness doesn't suffer is paramount to the iPhone user experience. You can ask all you want, but it's going to be a while (or a more-capable device) before we see it.
- Simultaneous Execution: Side-by-Side Apps: I doubt we'll see this in the initial release of the iPad, but if enough people start using the iPad for real work, where you need to see two apps at the same time, it could become a priority for Apple to add. It's worth requesting, but may appear only in a task-switching context until the hardware can handle it.
As always, the best (and only) way to submit feedback to Apple is via the Product Feedback page. The iPad isn't yet there, but I'd suggest making your wishes known for the iPhone or iPod touch, whichever you currently own.
And of course, tell us what you think in the comments!
in Los Angeles. The 3-day event is packed with sessions & evening
activities. Learn from the best. Meet and spend time with peers.
TidBITS readers save $50 at <http://macte.ch/conf_tidbits>!
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.
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.
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?
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).
An iPhone task manager enables the user to manage their own tasks, not the system's task. Key difference.
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 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.
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.
* 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.
* 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.
http://bit.ly/bu5w28
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.
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.
e.g.:
-- Incoming VoIP call --
[Decline] [Answer]
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.
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.
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.
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
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.
If that isn't enough multitasking for you, then replace the slide viewing with Google Wave.
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.
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.
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
> 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.
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.
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.
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 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.
The needs of the geeks simply can't ever outweigh the needs of the normal users.
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.
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.
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.
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.
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!
I have not seen how this will be handled and it is a big hangup to purchasing one when it is released.
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.
"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?
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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!