Deprecated: Return type of I::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/i.php on line 62

Deprecated: Return type of I::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/i.php on line 91

Deprecated: Return type of I::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/i.php on line 71

Deprecated: Return type of I::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/i.php on line 101

Deprecated: Return type of I::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/i.php on line 53

Deprecated: Return type of Collection::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/collection.php on line 80

Deprecated: parse_str(): Passing null to parameter #1 ($string) of type string is deprecated in /home/public/kirby/toolkit/lib/url.php on line 135
One Tap Less | URL schemes without x-callback-url

URL schemes without x-callback-url


Warning: Trying to access array offset on value of type null in /home/public/kirby/vendors/parsedownextra.php on line 241

Warning: Trying to access array offset on value of type null in /home/public/kirby/vendors/parsedownextra.php on line 241

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/public/kirby/vendors/parsedownextra.php on line 241

Warning: Trying to access array offset on value of type null in /home/public/kirby/vendors/parsedownextra.php on line 305

Deprecated: substr(): Passing null to parameter #2 ($offset) of type int is deprecated in /home/public/kirby/vendors/parsedownextra.php on line 305

We cover plenty of x-callback-url here, but here and then I write about apps without it — and there are some great ones out there. Listing them all would be a lifework, so I'll show you my favorites URL schemes without x-callback-url and how to overcome it using Launch Center Pro.

Clear

Clear is one of those apps where you wonder how it doesn't support x-callback-url, a shame since Clear provides fine control over the creation and visualization of its colorful lists. You can scope out its documentation here..

Clear URL schemes lets you choose lists either by name or index and even put tasks in a specific position. It's actions are non-destructive, when you create an existing list, Clear appends the tasks into it instead of overriding.

Listacular

While we're on the subject, another great candidate is Listacular. It is a plain-text list manager with Taskpaper syntax and Dropbox sync. Its docs are accessible here.

Listacular has the harmless creation of lists from Clear, with more features to dump your fresh tasks. Notice that, to add multiple tasks, Clear uses the action to start a new list, which supports positioning for the list, but the tasks are always appended1.

Listacular has 3 parameters to add items to lists, appendTasks and tasks are pretty much the same thing, they receive a comma-separated2 string of tasks and append them to a list, but you also have prependTasks to add tasks to the top of your list. You can use both on the same action to manipulate your tasks3.

Firetask and 2Do

In a world where Omnifocus has such high appraisal, it is hard to ignore its limited url schemes on iOS, allowing to submit only notes along with new items to your inbox4. The feature to open specific projects, contexts or perspectives relies heavily on the Mac counterpart.

You don't see many users bragging about either Firetask or 2Do, although they're solid task managers5. 2Do can create tasks with notes, a priority, a comma-separated string of tags and a list. Check the docs here. Firetask can assign notes, priority, project, category and a due date, see it for yourself here.

PCalc

The most powerful calculator available on iOS, PCalc offers many ways to do your math faster.

PCalc's URL scheme is scattered across its release notes, so you gotta check them yourself, specially version 2.5, which introduces most of them. You can set values and launch the app in different sections or layouts. Probably the easiest way to grasp PCalc schemes is building an action using Launch Center Pro Composer as it offers all available.

Amount

If you convert units and currencies often, Amount has a nice — undocumented — URL scheme. You can always find out more about these on LCP, but I'll give you a brief explanation. Amount's URL scheme looks like this:

amount://convert?number=<value>&category=<name>&unit=<name>&focus=<name>
  • number is the numeric value to convert;
  • category is the kind of conversion, such as temperature, currency or energy;
  • unit is the measurement unit for the number. The conversions are based on this;
  • focus is default to unit, but you can choose a different unit to stick at the top of the conversions' list, yet the number still applies to the unit specified in unit.

All parameters must be encoded and are optional, except number. Here's an example I trigger from LCP to convert Brazilian currency to US dollars, the focus attribute is welcome here due to the overwhelming currencies at hand6.

Convert BRL to USD

amount://convert?number=[prompt-num:Number]&category={{Currency}}&unit={{BrazilianReal}}&focus={{UnitedStatesDollar}}

Launch Center Pro & lc-callback

Since version 2.3 Launch Center Pro has a helper for apps without x-callback-url to chain actions entitled lc-callback. The documentation doesn't give many examples and, maybe, that's why we don't see this resource more often. This is the one given:

foursquare://venues/518aab26498ed82f5a9d36a8?lc-callback=[action:37]

As you may see, the lc-callback is appended to the action, pointing to another action — in this case using the Action ID tag from Launch Center Pro7. You trigger the first action, then when you return to LCP though the multi-tasking panel — a swipe with four fingers on the iPad gets the job done too — it will call the action from lc-callback.

Noticed how the lc-callback uses a ? separator? That's because the app in question doesn't take parameters, it is a direct link8, but if you tried to use lc-callback in our previous Amount action, it would fail since it receives parameters and you'd have to include the tag as a parameter to fix it. If we want our Amount action to, when we return to LCP, create a new draft in Drafts with the clipboard, we'd have to write it like this:

amount://convert?number=[prompt-num:Number]&category={{Currency}}&unit={{BrazilianReal}}&focus={{UnitedStatesDollar}}&lc-callback={{drafts://x-callback-url/create?text=[clipboard]}}

I also used a URL action as a string, so you don't have to keep actions hanging around just for their IDs. However, if we try to append as a parameter on a direct link as action, just like the first example, it won't do. For example, my 1Password action that prompts with a list of common search queries everybody uses and no one mentions me back would look for the chosen item with the lc-callback in the query. In this case we must use the ? separator.

onepassword://search/[[list:Search 1Password|App.net|Bitly|Buffer|Dropbox|Evernote|Fastmail|Github|Instapaper|Paypal|Pinboard|Else?=[prompt:What's the password then?]]]?lc-callback={{drafts://x-callback-url/create?text=[clipboard]}}

Finding URL Schemes

You find several URL schemes through the Launch Center Pro database, where all apps registered into LCP by their developers are stored. Then search online for the documentation, usually app name url scheme will get you there if there's any, otherwise, open the app in the App Store and visit the developer website. If you can't find any mention for URL schemes yet, poke them on Twitter or send a support request.

Notes

I skipped Pythonista on purpose here, it doesn't support x-callback-url, but it is so resourceful you barely notice it. If you want to suggest more great apps without x-callback-url, ping me on Twitter with your recommendation.


  1. You can, however, position tasks when including a single one via the taskPosition parameter in the action to create tasks. 

  2. The easiest way to create a comma-separated list without ever reaching for the second layer of your keyboard is by using [prompt-list] on Launch Center Pro

  3. If you're on the hunt for a list app, I urge you to also check Paperless, which has a nice url scheme as well. And while you're on it, [read Jeffrey taking it to the next level](http://blog.jeffreykishner.com/2014/07/07/commandLineScriptForPaperlessListsChecklists.html "Command Line Script for "Paperless: Lists + Checklists""). 

  4. Damn, Things at least lets you add a due date to new tasks. 

  5. Todo 7 has some awesome parameters to file new tasks and x-callback-url support, so you should take a look into it as well. 

  6. Remember to remove the spaces in-between units or categories else it won't work. 

  7. You can look for the ID of your actions by, while in Edit mode, tapping any of them and scrolling to the bottom. You'll find the Action ID below the button to delete the action. 

  8. If you still can't understand the structure of an action, I suggest you my article explaining the subject