Scanner Go released with x-callback-url support

Scanner Go has been released. It’s a “simplified interface to scanning barcodes” on iOS. The coolest part about Scanner Go is that is provides x-callback-url based services to allow other apps to utilize it to capture a barcode and return the results back. Awesome use of x-callback-url!

x-callback-url spec, R2 – new “x-cancel” parameter

We’ve gotten feedback that there are use cases for x-callback-url where the user is given the option to “cancel” the requested operation. Previous versions of the spec offered only parameters for success and error, so we added the “x-callback” parameter to the spec to support the case where the user wants to cancel and be returned to the source app. See the spec for details.

Due app API release, based on x-callback-url

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.

iOS SDK: Working with URL Schemes

Great introduction to handling URL schemes in your iOS apps from Ajay Patel.

Communication between apps provides your application with an opportunity to take advantage of other application’s functionality, send and receive data between apps, and provide a rich user experience that “just works”.

Zwapp, 1M app schemes

Zwapp is a cool new site/tool to document available URL schemes on iOS.

Help us build the largest open database of all iOS app schemes by allowing us to scan your iTunes library to find the schemes your apps use.

Help build the list!

Integrating Applications in iOS and X-Callback-URL

Geoffrey Wiseman at Codiform provides an excellent introduction to the different ways iOS apps can share information, including x-callback-url.

A call to iOS Twitter client developers!

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:

twitterrific://post?message=Message%20Text

For Twitter:

twitter://post?message=Message%20Text

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 with x-callback-support now available

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.

TiXCallbackURL: Implementing x-callback-url in Appcelerator Titanium

We’ve posted a new open source sample app on GitHub. TiXCallbackURL is essentially a copy of our existing native sample app, only implemented with Appcelerator Titanium.

The sample app includes reusable code for parsing incoming x-callback-url formatted URLs, and show out to build outgoing x-callback URLs.

x-callback-url DRAFT, revision 1

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.