Due, the missing reminder app, has just updated and included a great API based on x-callback-url. The first app to implement the API is the calendar app Agenda. What a great demonstration of how apps can use simple protocols to take advantage of each other services with little friction for the user.
Geoffrey Wiseman at Codiform provides an excellent introduction to the different ways iOS apps can share information, including x-callback-url.
With Instapaper’s x-callback-url support available, I hope people will start to see some of the cool possibilities for more complex handoffs between iOS apps. The next big thing I’d really like to see is for Twitter clients to extend their URL schemes to support x-callback-url, particularly to allow the user to jump over to post a tweet, and then be returned to what they were doing in their original app.
Most of the major iOS Twitter clients already support incoming URLs for status updates. For example, if you want to send a status update to Twitteriffic, just call:
This is strictly a one-way call, however. Why not use x-callback-url to allow passing a return callback for after the user edits and sends the tweet. For example:
[targetAppScheme]://x-callback-url/post?message=Message& x-source=[SourceAppName]& x-success=[sourceAppScheme]://x-callback-url/tweetPosted
NOTE: arguments should be URL encoded, but were not for legibility.
This could work very much like the existing support in the Twitter app, opening the compose window with the text pre-entered — but after the user taps “Send” and the tweet is successfully posted, fire the callback URL and return the user to where they started.
With this sort of support available, it would be easy for apps to add “Share” functionality that lets their user take advantage of the accounts their users already have setup in their Twitter client, along with all the great composing tools, without forcing the user having leave their app with no clear way back.
If you think this is a cool idea, contact the developer of your favorite Twitter client and let them know. And tell them we’d be happy to help with testing!
Instapaper 3.0.2 has hit the app store. This is the first version of Instapaper to support x-callback-url. Marco Arment, the developer behind Instapaper, was important to the formation of the ideas in x-callback-url, and we’re excited to see this version hit the store.
Instapaper’s integration with Terminology also represents the first “in-the-wild” use of x-callback-url’s two way callback support. If you select to lookup a word in Terminology from Instapaper, you are provided an easy way to jump right back to where your were. See Marco’s post for details.
Revision 1 of the x-callback-url draft is now posted. Only a minor change, removing the “version” parameter from the URL path. It was pointed out that having the version in the path served little purpose since a calling app had no way to determine which versions were or were not supported by a target app.
We are now recommending that if your x-callback-url API requires versioning, that it be done by registering different URL schemes with the iOS for each version and handling that internally. The example app on Github has been updated to reflect the change as well.
Terminology, the first app officially supporting x-callback-url is in the store, and developer documentation has been posted by Agile Tortoise (Yes, that’s me…full disclosure). Terminology is a dictionary and thesaurus app, and support lookup of word from external apps, and also two-way communication, allowing your app to request a replacement word.
I’m starting to spread the word about x-callback-url, and hope that I can start to drum up pledges of support from some other developers in the near term. Please contact me if you are interested in adding support to your apps and have questions (info at x-callback-url.com).
Here’s a demo video of Terminology’s x-callback-url support: