I’ve now updated the proposal I’ve introduced with the blog post “Calling alternate browsers on the iPhone” a few weeks ago. The new implementation is now named “AppLink” (thanks to Robert Chin for the name “AppLink”) and is much more powerful.
The main purpose of AppLink is to make it possible for (internet-aware) iPhone Apps to call each other to open certain URLs. For example by default, all apps are able to let the iPhone OS open a URL, and the iPhone OS will launch Safari or Mail to open these URLs. Unfortunately the iPhone OS will never call other apps (like an alternate Web Browser) for the standard URL schemes, so you can’t change the default browser or the default Mail app. If Apps support non-standard URL schemes then the iPhone OS is able to call these Apps from within other Apps, but the problem is, that the other Apps don’t know about these non-standard URL schemes. So calling these apps is difficult.
AppLink will try to solve these issues. But there are limits here as well. AppLink-aware Apps can detect each other, so they can call each other to open URLs. But for calling other Apps which are not AppLink-aware, nothing has changed. So the goal should be that as many (internet-aware) Apps as possible do support AppLink to get the best user experience.
The current implementation of AppLink assumes that a Web Browser (like iCab Mobile), an RSS reader and a Mail App are the most important Apps for accessing the internet, the center of your internet activities. Technically this is because the standard URL schemes of the internet are “http”/”https” (Web Browser), “feed”/”feeds” (RSS reader) and “mailto” (Mail App) and these are all already supported by the iPhone OS and its default Apps (Safari and Mail).
There’s an AppLink-aware Web Browser (like iCab Mobile) and an AppLink-aware Facebook App installed on the iPhone. The Facebook App can open links in an external browser and the user can decide if this browser is iCab Mobile or Safari or maybe another browser. And if the user is currently surfing in the web using iCab Mobile and opens a link to a new interesting facebook profile, iCab Mobile would automatically show or enable a special button. If the user taps on this button, the native facebook app is called with the current facebook URL, so the user can directly add and manage the new facebook profile within the facebook app where he also manages all the other facebook profiles and contacts. The user doesn’t have to quit and lauch apps manually, the user doesn’t need to copy and paste URLs etc. All this can be done by AppLink automatically.
Wikipedia Apps, Twitter Apps and many other Apps can be called the same way if they support AppLink. The AppLink-aware browser will know that a Wikipedia App is interested in wikipedia.org URLs and the a Twitter app is interested in “twitter.com” URLs, so it can automatically offer to open such URLs in these native Apps.
But also very simple tasks like opening the FAQ page of an App in a web browser or sending an email to the developer of an App can be done using AppLink (many Apps in the AppStore do have something like this build in, though only calling Safari or Mail). The AppLink solution will call the AppLink-aware browser or AppLink-aware Mail App if available. If these are not available on the device, the default Apps (Safari and Apple Mail) are called. And calling the AppLink-aware App instead of the default one is most likely what the user wants, otherwise he wouldn’t have installed the alternate apps.
The curent beta version of “iCab Mobile” does already support AppLink with all its features. Though there are currently no other AppLink-aware Apps available, the AppLink features can be already used with some of the build-in apps like the native YouTube app. When opening a YouTube video page a new button will appear next to the URL field. Pressing this button will offer to open the video in the native YouTube app. And what can be done for YouTube URLs would also work for other URLs (like Facebook, Twitter, Wikipedia etc.). Here’re some screenshots, how this can look like:
At the top you’ll see the normal URL bar of iCab Mobile, without the special button to the right of the URL field.
To the left you’ll see an RSS feed that is displayed in iCab Mobile. To the right of the URL bar there’s a new button. If you tap on this button, iCab Mobile will ask if you want to open the RSS feed in either Safari or in the “URLTest (RSS)” App (see the picture to the right). In this example there are two Apps installed, which can open the feed URL and the user can choose in which App to open the RSS feed.
To the left you’ll see a video page at youtube.com. iCab Mobile knows that the native YouTube app can open the video, so it adds the special button to the right of the URL field again. Tap the button and iCab will ask if you want to open the video in the “YouTube” app.
You can download the AppLink class here: AppLink.zip (32 KB)
There’s also a small web site about AppLink: http://www.icab.de/dev/AppLink.html
Please spread the word about this AppLink proposal. Hopefully many iPhone App developers will find this useful and will support AppLink in their Apps.
I’m also looking for feedback, suggestions and critics. So please tell me if you like the idea, if you have suggestions, if you need help etc. Please use the email address “email@example.com” or write a comment here. Developers who want to add AppLink support in their Apps and need a counterpart App to test with (like for example iCab Mobile), please contact me as well. Maybe I can provide you with a beta version of iCab Mobile (but there’re limits in the number of beta versions I can give away).