10 Reasons to Love Launch Center Pro 2.3

It's been four months since we received an update to Launch Center Pro. But, it's an update well worth the wait. In fact, I'd argue it's so massive that it should be called 3.0. And, here are the reasons why I think it's an awesome update.

1. Nested Encoding Helper Tags

If you're familiar with x-callback-url, you've probably already tried to create your own custom actions that involve more than one URL scheme. If you do, you will typically need to encode the URL behind x-success parameter. Launch Center Pro includes a special {{..}} tag to help encode the enclosed URL.

With the new 2.3 version, you can nest these encoding helper tags to make your URL schemes easier to write and read. You can even nest unlimited number of these tags. Launch Center Pro will resolve them from inside out.

As an example, I have rewritten my previous Drafts action to cross-post to Twitter, Facebook, and App.net, by chaining them inside Launch Center Pro.

Open this link to automatically install this action on your iOS device.

After prompting the user for the text to be cross-posted, I store it in the clipboard and use Drafts' ||clipboard|| tag to retrieve it before running any of the action. Because the clipboard content doesn't change throughout the chain of actions, I can use the same ||clipboard|| for all the subsequent actions too.

2. Expand the [clipboard] Tag at the Right Time

As shown in the previous example, clipboard is a great, yet tricky, resource. Prior to this, Launch Center Pro supports [clipboard] and [[clipboard]] tags to return the encoded and decoded version of the clipboard content. But, there's a catch to it. These tags will only be translated once, i.e. before Launch Center Pro runs the URL. While this may be enough for most use cases, there are some cases where we need a better way to manage the clipboard.

For example, if we want to chain one or more actions that can modify the clipboard content, and return to Launch Center Pro to work with the updated clipboard content, we need to resort to an encoding hack. This is probably one of the reasons why Drafts released the ||clipboard|| tag.

Read More

Mingle Lets You Launch Actions From Your Contacts List

By now, I'm sure you're already familiar with Launch Center Pro and Drafts. These apps make a lot of iOS automations possible through their custom actions. Yesterday, Samir Ghobril released Mingle, an app that allows you to create custom actions and launch them based on your Contacts list.

Mingle lets you launch actions from your Contacts list.

How It Works

Mingle uses a custom Contacts list view that lets you to drag a contact's avatar to the right to switch the focus to any of the four actions. It allows you to setup exactly four contact-based actions that you can trigger by dragging the contact's avatar. As you drag to the right, Mingle will reveal the first action's icon. Then, as you hold and drag farther, you can see all the other icons too (one at a time).

If you arrive on the action that you want to launch, simply release your finger. Mingle will execute the URL schemes stored for that action.

Mingle supports the standard iOS URL schemes that you may already comfortable with. For example, you can attach a Tweetbot URL that lets you send a quick DM based on the contact's Twitter username.

What makes Mingle special is its ability to pull contact information into tags and allows you to craft your own actions using them. For example, you can use [phoneNumber] and [email] tags to extract the first phone number and email address for the selected contact. Other tags include [displayName], [twitter], and [url].

Mingle also includes many built-in actions that can give you hints on how you can create your own actions. For example, the WhatsApp message action looks like this:

whatsapp://send?text=[prompt:Message]&abid=[ABID]

As shown on that action, Mingle also supports [prompt:Title] tag - similar to Launch Center Pro's [prompt] tag. And, you can even work with more specific contact-based tags such as [ABID] (used by WhatsApp to uniquely identify its users), [social:], and [IM:].

Mingle has three custom URL schemes of its own, mingle-message://?recipient=, mingle-email://?recipient=, and mingle-tweet://?username=. Because these are contact-based URL schemes, they're useful only for in-app usages.

After beta-testing the app for a couple of weeks, here are a few custom actions that I use.

Read More

Generating URL Scheme for YouVersion's Bible App using Pythonista

I use YouVersion's Bible app on a daily basis. It's the first app I open every morning. I usually end my Bible reading session by picking out a verse that hits home for me. Then, I store it in Momento, and cross-share it to Facebook and Twitter via Path.

As I was reading through Ben Tsai's website, I stumbled upon his post about YouVersion's Bible app URL Scheme. I didn't know that the app has any URL Scheme beyond the one shown in Launch Center Pro: youversion:.

Ben wrote about several undocumented URL Schemes that the app supports:

  • youversion://bible?reference=PHP.4.5+PHP.4.7
  • youversion://bookmarks
  • youversion://reading_plans

I was really excited with the possibility of storing/sharing a verse with a URL Scheme that could redirect me back straight to the verse. But, before I got to work, I realised that the app uses OSIS Book Abbreviations that requires me to have a Map/Dictionary stored somewhere for runtime lookup.

YouVersion's Bible app supports the selection of multiple verses and multiple verse ranges.

Converting the References to URL Schemes

YouVersion's Bible app allows you to select one or more verses within a single chapter, and put them into the clipboard. Here's an example of what the clipboard looks like if you select a single verse:

Guard your heart above all else, for it determines the course of your life. (Proverbs 4:23 NLT)

The first thing that came to mind was grabbing the (Proverbs 4:23 NLT) part using regular expression. I was using Patterns on the Mac and TextTool on iOS to tinker with it. Craig Pearlman, TextTool's developer, even helped me with my inadequate regular expression skills. But, I decided to go with Pythonista because I would need to convert the OSIS code too.

Read More

How Plink May Improve Your Blogging Workflow

Most of my blogging happens on the Mac. But, I also write full blog posts on 1Writer for iPhone a few times each month.

Almost all my posts have screenshots in it. Based on my experience, everything that involves screenshots is not a trivial task. Most of my use cases involves getting the screenshots off of the iPad and into Dropbox. Then, I need to resize, reduce, and rename them, before uploading it to Squarespace. Only then would I be able to embed them inside the post.

This workflow is easier to perform on the Mac than on iOS. I'm grateful when Launch Center Pro adds the capability to resize, reduce, and rename images with its 2.1 update. And as soon as the iPad version is available, my workflow becomes much simpler.

But, it's still far from ideal. I'd love to be able to upload the compressed image to the cloud and embed the link from iOS. That's why I'm excited to see what Jeff Mueller's Plink app is capable of.

Read More

Phraseology 2.0 for iPad

A few hours ago, Greg Pierce who is well-known for his work on Drafts, released a 2.0 update to its writing app: Phraseology for iPad. Before I jump into what the new features are, I'd like to highlight a few things that make Phraseology different from other writing apps for the iPad.

First, you need to take a peek at Brett Terpstra's awesome work of doing features comparison for most (if not all) of the text editors on iOS: iTextEditors. A few things to note here:

  • Phraseology is an iPad-only app
  • Phraseology does not support sync
  • Phraseology 1.x supports Markdown format, but it does not support syntax highlighting
  • Phraseology supports TextExpander
  • Phraseology has its own URL Schemes

And, if you mouse-over on Phraseology's left-most column, you will learn that it integrates with Terminology, lets you reorder paragraphs and sentences, and provides you with extensive document stats, such as Flesh Kincaid Reading Ease/Grade Level, Gunning Fog Score, SMOG Index, etc.

Phraseology's Inspect view helps you improve the readability of your writing.

Inspect and Arrange views

If you want to continually improve your writing skills, Phraseology is your perfect companion. It lets you become a ruthless editor for your own work. You will spend a lot of time switching to the Inspect view to see how well your writing is. It provides you with readability analysis, average words per sentence, average syllables per word, and the list of root words (lemmas) found.

Read More