Linked by Thom Holwerda on Thu 31st Oct 2013 23:32 UTC

Since my contract renewal was up, I had the option to renew it and buy a new phone alongside with it. Since I have an unofficial policy of never buying into the same platform twice in a row, and because it has been a long time since I bought something from Cupertino, I decided to go with the newest iPhone, the 5S. I'm planning on a more thorough review sometime later this year after more thorough use, but here are a few short first impressions.

Permalink for comment 575946
To read all comments associated with this story, please click here.
Inter-app sharing potential on iOS
by brion on Fri 1st Nov 2013 13:12 UTC
Member since:

The intents system on Android is, indeed, *awesome* and I miss it whenever I fiddle with iOS.

However, there actually are a few ways for apps to interact and share data with each other...

Best known is the ability to register custom URL schemes from an app, and to be able to launch (and query the installation status of!) URLs in those schemes. This can be rigged up with a callback system, which for instance is what Chrome on iOS uses to show a back button that takes you back to the launching app (if the launching app supports Chrome and that parameter...)

However that's still limited to being able to launch things you know exist -- so app developers tend to hardcode lists of other supported apps.

But there's also a way to share *files* from app to app, and that is totally extensible. Similar to launching another app via an Android Intent, the operating system will go find installed apps that have registered the ability to open the given file type, and present a chooser dialog to the user.

The app is then launched, with a copy of the file placed in its "Documents/Incoming" folder for processing.

(You can see this feature in action by creating a presentation in Keynote, going to the tools menu, selecting 'Share and print', and going through the 'Open in another app' route.)

I haven't seen a lot of usage of this feature, though; mostly things like Dropbox accepting arbitrary uploads and things like graphic editors exporting and occasionally importing files.

However... it should be possible to rig up a fairly general "share to other apps" framework by combining these two techniques:

* create a file type for a certain action, like "post to social network"
* let's say it's an XML or JSON blob containing some data like a bit of text, URL, or reference to an image in the photo gallery
* have target apps register for that file type...
* include also a custom-scheme URL as a callback to let the target app reopen the original app when done

Reply Score: 3