4 ms·
When speaking of passing data between applications, I'm specifically thinking of the use cases enabled by Android's intent system. Applications can register the
by callahad 16y ago
When speaking of passing data between applications, I'm specifically thinking of the use cases enabled by Android's intent system. Applications can register their ability to respond to and fulfill certain interactions, and then the OS mediates between them.
Say, for instance, you're in the Twitter app and click on a link. Instead of embedding a UIWebView, the application fires off a message saying it needs something to display a webpage. The OS then looks at the list of applications that can handle that intent and selects the best one available. If you only have one application that can fulfill that intent, it launches and renders the linked page. If you have multiple browsers, Android prompts you, with an option to remember your preference for that intent.
Which means that I can click a link in Twitter and open it in Opera. Or Firefox. Or any third party browser. And then when I open a link in another application, my preferred browser still gets to handle it. The Twitter app doesn't get to own that experience in the same way that it can on iOS, since it's actually backgrounding itself and letting the other application fully handle the task.
This also applies to getting directions, calling people, sending text messages, etc. The necessary data (an address, phone number, or message) is transparently shunted from the first app to the next. That dance greatly weakens the boundaries between applications, but enables some really great workflows.
Similarly, say I'm looking at my photos and I want to share one with someone. I simply hit the "Share" button, and up pops everything that can handle working with an image. In my case: Bluetooth, Messaging (SMS), Picasa, Twitter, Facebook, Email, and Gmail. Even better, were I to get fed up with the official Twitter client and go install Seesmic, it'd also pop up in that list, automatically, and without any changes to the Photo Gallery itself.
Say I install an FTP client. It'll also appear in that list. Google Goggles, too. Any image I can share, I can also send to Goggles for analysis.
As far as I know, there's nothing like this on iOS, but I'd be happy to learn that I'm mistaken.
- 5teev 16y agoNot all applications embed a UIWebView, and many that do also offer opening in Safari as an option. There are also between-app communications like Twitter's "Save Draft to Birdhouse..." or sending addresses to the Maps application. Not as flexible as the workflows you describe in Android, to be sure, but in that data is being passed between its apps, I believe it was overly broad to describe iOS as focusing only on "bite-sized" and "self-contained" apps.
- blinks 16y agoWhat about opening in Opera? Skyfire?
- sandipc 16y agoI really think the Android back button makes all this possible (and perhaps better than on iOS devices. If a link in the iOS twitter app opens Maps, the only way to get back to where you were (pre-iOS4) was to hit home and launch the twitter app... which may have saved its state. In Android, such a workflow would just involve pressing the universal back button. I suppose in iOS4, you can now double tap home and find the twitter app in the list of open apps. That's not to say Android is better for opening map links from twitter... just that it's a different way of doing things. I would say that most criticisms people have when jumping from android to iOS (or vice versa) stem from trying to use one OS in exactly the same way you used the other OS.
- carols10cents 16y agoI agree, the back button is one of the best parts of the Android experience. I find myself reaching for it every time I go back to my iPod Touch.