Poking A Hole In The Sandbox: Using URLs on iOS

Using URLs on iOS

Just yesterday I wrote extensively about URL schemes and, specifically, x-callback-url in my review of Pythonista:

I believe that, going forward, Pythonista and other similar apps will show a new kind of “scripting” and task automation built around the core strenghts of iOS. As we’ve seen, x-callback-url is a standard that leverages a part of iOS – URL schemes – to achieve simple, user-friendly and URL-based inter-app communication that can be used in a variety of ways. Looking ahead, there’s a chance rumored features such as XPC will bring more Mac-like functionalities to iOS, but developers will still find new ways to make iOS more powerful without giving up on positive aspects such as increased security and the simplicity of the app model.

My workflow focused on x-callback-url, a protocol created by Agile Tortoise’s Greg Pierce. Thanks to 360|iDev, you can now watch a free session video of Greg Pierce himself explaining the basics of URL schemes on iOS as well as techniques to properly implement his specification, x-callback-url, to allow for more advanced inter-app communication, such as the one I’m using with Pythonista.

If you’re a developer and you’re interested in knowing more on the subject, check out the free video here.

One of my favorite apps in a long time, App Cubby’s Launch Center (our previous coverage here and here), just got a lot better thanks to an update released on the App Store a few minutes ago, version 1.2. Whilst one wouldn’t normally expect an app to get significant improvements in a 1.2 update, Launch Center’s latest version is, I believe, quite possibly the greatest addition to the app since its release, making it extremely easier to discover new third-party apps that can be integrated with no further configuration in Launch Center.

For those who are not familiar with Launch Center already, as we detailed in our previous reviews this utility allows you to set up custom shortcuts on your iPhone to launch common actions or often-used applications with a single tap. Upon firing up Launch Center, you’ll be able to create and manage shortcuts for, say, calling your wife or texting a coworker; you can create a quick action to activate the iPhone’s flashlight, launch a website in Safari, tweet, email someone, or Google your clipboard. As I’ve written before, Launch Center has replaced a bunch of existing apps in my dock thanks to its super-simple approach to aggregating default apps and functionalities that can be triggered through the popular URL schemes you can find documented on websites such as HandleOpenURL. And it’s from this idea of hidden URLs that only a few people know about that App Cubby decided to make Launch Center 1.2 all about app detection and integration.

Launch Center 1.2 leverages your apps’ internal URL schemes to simplify the process of discovering new shortcuts and speeding up your workflow. Launch Center comes with a new section called “Supported Apps” inside the Launch App menu, which lists third-party apps that can work with Launch Center through a URL. Launch Center organizes this list in Installed Apps (the ones you already have on your device) and Featured Apps (which you don’t have installed, and you can get from the App Store). This list of support apps, it turns out, has been built directly by App Cubby and it is hosted on the developers’ servers alongside links to the icons that, as you can see from the screenshots, are served directly to the iPhone and look great on the Retina Display. The reason behind App Cubby’s decision to keep the list of supported apps on their servers is to encourage more developers to get in touch and ask for integration in Launch Center which, ultimately, has a chance of becoming the de-facto solution for quickly accessing apps’ settings/sections/menus using a technology Apple is (seemingly) okay with.

App Cubby writes:

We’d also appreciate help in spreading the word about URL schemes. It’s surprising how few apps support them, and those that do don’t always go very deep with supported actions. If you have an idea for an app and/or action that would make sense in Launch Center, please contact the developer of that app directly and point them to this page.

Launching an app is great, but the true power of Launch Center is in the ability to trigger specific actions deep within an app. For example, while using Tweetbot, you may leave the app buried deep within a search. To launch the app and tweet might take quite a few taps as you have to back out of the search, tap the compose button, select an account, paste text, etc. Launch Center can make that a reliable 2 taps. 1 to open Launch Center and 1 to trigger the action.

In my Launch Center, I was pleased to see many of my most-used apps were already supported. I have set up shortcuts for 1Password, Instagram’s camera and Facebook; I tweaked Tweetbot’s shortcut to jump directly to my Favorites, and created an OmniFocus launch to create a new task “using clipboard for note”. Other apps I see as supported (and installed on my device) include Agenda, Evernote, Consume, Flipboard, Delivery Status Touch, Camera+, Instapaper, Skype, and Reeder. Hopefully a lot more will be coming soon thanks to App Cubby’s decision to make their iOS App URLs page public.

As I said above, Launch Center has become one of my favorite new apps for iPhone. It speeds up my workflow and looks neat, and I look forward to seeing how many developers will get in touch with App Cubby to formally introduce support for Launch Center in their apps (I also would like to see App Cubby figure out a way to fetch icons for any app).

You can find Launch Center 1.2 in the App Store.

We reviewed App Cubby’s Launch Center when the app was released back in December after Apple rejected an initial version based on Notification Center. Even without fancy Notification Center integration, Launch Center has become one of my new favorite apps, earning a spot in my iPhone’s dock because of its greatest achievement: allowing me to save an unlimited number of shortcuts for actions that I repeat every day (such as calling my mom or iMessaging my team) in a single place. I’d argue that I even prefer Launch Center without Notification Center support as it’s more focused.

And today with version 1.1 it gets even better. Launch Center 1.o, in fact, allowed you to create shortcuts through custom URLs and activate them with a single tap. But you still had to remember you had to do something — you’ve got your nice action to call your dad, but what if you forget to call him? The shortcut becomes useless. Similarly, your iOS device comes with alarms, but you can’t associate actions to them; it’s easy to set an alarm in three hours for something “important”, and forget what it was all about. Launch Center’s new scheduled launch actions are a fantastic mix of shortcuts and alarms: you can now assign a custom alarm to each of your shortcuts. When the time comes, Launch Center will fire off a local iOS notification that will show up in Notification Center, and take you to the configured action…which will activate and call your dad with one tap, to finish the example above. It’s genius.

I use Launch Center every day and I can already see scheduled launch actions becoming an integral part of my workflow — imagine setting up alarms for emails, messages or just about any app you know you’re going to use at a certain point in time. Launch Center 1.1 combines the speed of custom URLs with local notifications to create smart alarms that have both context and the appropriate speed to feel immediate and intuitive.

Launch Center 1.1 is available in the App Store at $0.99.

Just two weeks ago we covered iPhone URL schemes, those native URLs specific to iOS applications like Facebook or Twitter that can be used to launch an app’s section (Facebook’s Messages view, Twitter’s Mentions tab) with a single tap. As it turns out, however, URL schemes aren’t exclusive to third-party apps that have implemented them, as Apple is using the same system to assign a unique URL to specific sections in the iOS Settings app. Which means that, in theory, you should be able to easily launch Bluetooth settings or iCloud’s control panel by tapping on a link.

Of all the solutions that have surfaced in the past weeks to create Home screen shortcuts for Settings without jailbreaking a device, I’d say IconSettings is the most clever, nicest and easiest to use. As noted by Engadget, you just visit this webpage, decide which settings panels to turn into Home screen icons, and manually add a webpage to the Home screen using Safari. That webpage will turn into an icon, which will launch the settings panel you chose from the list. Quite simple.

There’s a catch: whilst jailbreak apps like SBSettings really put iOS Settings’ in another location (in SBSettings’ case, a dropdown menu), IconSettings simply creates visual bookmarks for URLs that redirect to the Settings app. And by “redirect” I mean that you’ll briefly notice Safari launching before you’re brought to the selected settings panel you need. This should be no big deal as the animation is very short, but this method will still leave an open tab in your Mobile Safari (remember, you’re still launching a URL). So yes, IconSettings is a pretty cool web-based trick to create Home screen shortcuts for commonly accessed Settings, but keep in mind that Safari will keep track of these URLs.

If you don’t have a jailbroken device and you’re willing to compromise to have Settings shortcuts on your Home screen, check out IconSettings here. Its icons are fairly good-looking, too.

Siri and iPhone URL Schemes

Alex Heath at iDownloadBlog came up with a way to let Siri launch third-party apps on an iPhone. The solution is far from integrated and it requires some tweaking, and it uses an iOS app’s internal URL scheme (example: fb:// for Facebook) and the Address Book to open apps, provided you’ve asked Siri to visualize a “contact card” with some shortcuts in it. You’re basically creating a fake Address Book entry for apps, and assigning a URL scheme to one of the available fields. Tapping on it will open the app or a specific section of the app.

If you have a select number of apps that you’d like to have quick access to with Siri, you could create a “Shortcuts” or “Favorites” contact and add each trigger. Telling Siri to “show shortcuts” would then pull up your list of app shortcuts to open within Siri.

Many have speculated that, in the future, Siri will gain new functionalities including the capability of launching apps directly from its voice-based interface. But wouldn’t it be cool to ask Siri “Open my Facebook messages” rather than just “Open Facebook app”? Or perhaps ask Siri “Go to my OmniFocus Home project” instead of just launching OmniFocus? And what about creating new content from Siri inside a specific section of an app (a new task inside an OmniFocus project), without actually opening it? That’s why I think URL schemes will be worth keeping an eye on — Apple could offer developers a new set of APIs to associate their apps’ sections and menus with Siri actions, and perhaps revamp the URL scheme architecture to include support for Siri and new APIs. This is just speculation on my side, but I think it’d be interesting to see Siri becoming a new, lightweight interface for basic tasks in external apps.

Meanwhile, if you really want to launch apps using Siri and the Address Book, check out iDownloadBlog’s tips here.