Launch Center Pro 2.1: Fleksy Keyboard, Lists, Photo Attachments, and Share Sheets

Launch Center Pro 2.1

Launch Center Pro 2.1

In October, Contrast released Launch Center Pro 2.0, a free update to their shortcut launcher and automation tool for iOS that brought a new interface for iOS 7 and, among other minor additions, Dropbox integration. Launch Center Pro is one of the three apps I keep in my dock[1], and I use it several times a day to create new tasks in Fantastical, launch Google searches, open my favorite websites, and more.

Today, Contrast is launching Launch Center Pro 2.1, a seemingly not-so-major update that, however, brings important changes to the app, including a new way to build visual actions and support for the new third-party Fleksy keyboard. I don’t think it’s an exaggeration to say that version 2.1 is just as important as 2.0 for heavy users of Launch Center Pro.

Fleksy

Fleksy is an alternative keyboard that is introducing today an SDK for iOS developers, and Contrast is a launch partner with Launch Center Pro 2.1. Available as a system keyboard for Android devices and as an app on iOS, Fleksy is multitouch keyboard that sports an auto-correction engine aimed at making it easier to type on smartphones and tablets while avoiding typos – perhaps even without looking.

The premise of Fleksy is that typing on a smartphone’s screen shouldn’t be annoying, so its creators built a technology capable of understanding what you want to type by employing error-correcting algorithms to better guess intended words by looking at the exact location of touches on the screen. Fleksy doesn’t have a next-word prediction system like Swype or SwiftKey and it’s popular among visually impaired users thanks to its accessibility features. Last year, Apple included Fleksy in the Best of App Store list, and the app recently landed on Google Play. The Fleksy keyboard is better explained through a video that shows its design and how its gestures work.

In Launch Center Pro 2.1, Fleksy can be enabled for keyboard prompts. When building actions, simply choose “Fleksy Keyboard” from the prompt menu or use the [prompt-fleksy] tag to replace the built-in iOS keyboard with Fleksy’s one. Like traditional keyboard prompts, Fleksy prompts can be given a title, but they can also be given real-time voice feedback using [prompt-fleksy-voice]; if you want to automatically convert line breaks to commas (useful for some apps that like comma-separated lists of words), you can use [prompt-fleksy-list].

Admittedly, Fleksy works well: keys are larger than Apple’s keyboard, they have better contrast than Apple’s white keyboard on iOS 7, but more importantly you can touch-type really fast as Fleksy tends to understand what you want to write and corrects it at a higher success rate than Apple’s auto-correction. I would say that, if Apple gets between 60% of my mistyped words right with auto-correction, Fleksy went above 80% in my tests. It’s not a huge difference (Apple’s auto-correction has gotten better for me over the years and especially with iOS 7), but Fleksy’s engine is superior to Apple’s.

Launch Center Pro 2.1

Launch Center Pro 2.1

Auto-corrections aside, what’s really impressive is how the Fleksy keyboard actually works. As you type, suggested corrections appear in a thin line that runs across the top row of the QWERTY keyboard and Fleksy picks the best one for you; when it does, the mistyped word is replaced with the correction through a subtle green flash on the text. If you don’t like the correction, you can just swipe down with your thumb and pick another suggestion or swipe up and explicitly tell Fleksy to use the (likely mistyped) word. Cycling through suggestions doesn’t remove the space that Fleksy automatically adds after a word, and the system can also be taught words it doesn’t know (keep swiping up with one finger).

There are more gestures that, over time, make Fleksy fast and easy to use: swiping to the left deletes an entire word, and holding the finger on the screen while swiping quickly deletes all text; swiping to the right enters a period, but you can then swipe up or down to use other punctuation characters.

I tried Fleksy for one of my most-used action – a shortcut to send text to Drafts. I was impressed by how Fleksy worked with auto-corrections: I could type really fast, and Fleksy did a good job at understanding what I wanted to type; on a few occasions, I could type without looking at the screen and, when I looked again, I noticed that Fleksy entered just what I wanted to type.

The downside is that, by using Fleksy, you’ll have to give up on most international keyboards (Fleksy only supports English and Spanish keyboards)[2], dictation support, the system keyboard switcher (think of the Emoji!), accented letters, and all the other system integrations that Apple has in the default iOS keyboard. Apple’s keyboard is pretty good, Fleksy’s corrections are superior, but Apple’s keyboard has the (obvious) advantage of getting all the iOS features that you’re accustomed to.

I’m impressed by Fleksy, but I couldn’t use it as my main keyboard on iOS – especially because I’m constantly switching between keyboard layouts (also thanks to this). This is why Fleksy makes sense as an option in Launch Center Pro: for single-purpose actions that involve short strings of text commands, Fleksy is handy and fast. Like Siri, I wouldn’t mind seeing Apple buying Fleksy and augmenting it with their own expertise (and data); right now, Fleksy is an impressive tech and a useful option in Launch Center Pro. I’m curious to see other launch partners for the Fleksy SDK.

Lists

The second big feature of Launch Center Pro 2.1 is the possibility to run actions with multiple choices using lists. Here’s a point I made in my review of version 2.0:

And perhaps I’ve been spoiled by Editorial’s native iOS UI elements, but I would love to see Contrast doing more than keyboard prompts and build things like lists or multiple choice popups into the app (without having to rely on TextExpander fill-ins).

In 2.1, Contrast added just that: a [list] tag that, once given multiple options, can display a popup with choices. Each choice will output different text, and this is a great alternative to using TextExpander fill-ins because lists are built into Launch Center Pro and they can generate popups with custom titles, like keyboard prompts.

With lists, I was able to cut down on the number of actions I was keeping to launch similar tasks. The syntax is simple:

[list:List|Option 1|Option 2|Option 3]

Lists can have a title (text after the colon and before the pipe) and options are separated by pipes. Options can be strings of text with spaces – Launch Center Pro will take care of automatically encoding them for you, like prompts. Like

Editorial, you can present some text to the user but output a different value:

[list:List|Option 1=Federico|Option 2=Myke|Option 3=Stephen]

By adding an equal sign to an option, Launch Center Pro will show a label with “Option 1” but, for the string above, output “Federico”.

With this in mind, I deleted the three Fantastical actions I was keeping to run searches for events I create often: app releases, MacStories work schedules, and visits to the hospital. They used to be three separate actions – now I can just choose from a list of options.

Launch Center Pro 2.1

Launch Center Pro 2.1

Same for Google Maps directions: I had two actions to drive to Rome and Viterbo, and with Launch Center Pro 2.1 I grouped them in a list.

Launch Center Pro 2.1

Launch Center Pro 2.1

1Password searches? Same idea. Lists even work with a lot of options.

List Action Sets

I wanted to take the concept of lists a bit further: if the user can choose between multiple options, would it be possible to group actions inside a list? In raw terms: would it be possible to use lists to launch different URL schemes instead of entering plain text? I figured out a way, but I employed a workaround.

The basic idea is that URL schemes have a common root (like fantastical://) and then actions that, like branches of a tree, go in different directions. Fantastical, for example, has actions for adding events, reminders, or searching in the app. I wanted to build a list that would present options to run different actions instead of just providing text templates; I call my solution a “list action set” and it’s meant for advanced Launch Center Pro users who want to get a little more out of the app. Here’s what the action set looks like before and after:

Launch Center Pro 2.1

Launch Center Pro 2.1

As you can see, various bits of the Fantastical URL scheme have been chopped up and they are used as the output of options in a list. The trick to get Launch Center Pro to use URLs as options is to make sure the actual Fantastical URL is used after an x-success parameter: because the contents of a list are encoded, you need to launch the URL scheme in an “area” where encoding is required, and that area is the success parameter of x-callback-url. This explains the need for a “dumb” clipboard action at the beginning: there’s probably a better way to do this, but I came up with the idea of running an action and then calling x-success. I chose a clipboard conversion action because it was the less disruptive (it converts the clipboard to plain text).

You can download my Fantastical Action Set here. It’s not the most elegant solution (see that • character used as a separator? You can actually tap that) and everything would be better if Contrast allowed you to not encode lists, but it works. From a single action, you can choose to add a reminder, an event, or open a search in a Fantastical with the same keyboard prompt.

I also made an action set to search for a user, tag, or text in Pinswift. It’s based on the same concept of the Fantastical set and you can download it here.

Tip: Because of the dumb action, you won’t get the Fantastical or Pinswift icons picked up by default. Using something like Crunch, export an app’s icon, save it on your iOS device, and use it as a custom photo in Launch Center Pro.

Update 10:30 PM: As I was reminded by Eric, there is a way to not encode contents of a list, which makes my workaround for a first "dumb" action unnecessary. Perfect.

Photo Attachments and Share Sheets

In Launch Center Pro 2.1, Contrast has made the URL schemes to launch system features more consistent and, in the process, added new options to access system features like Photos and native Share Sheets.

It used to be that you could grab the last photo taken on your device, one from Dropbox, or one from the clipboard using a variety of inconsistent URLs and parameters. Now, everything is based on the following format:

?attach=photo

…which can be easily modified to open the Camera Roll:

?attach=photo:cameraroll

Or to launch the front-facing camera for selfies:

?attach=photo:frontcamera

With many other options (documented by Contrast, so I won’t repeat them here) to tweak photo size, use the original or edited version of a photo, and even launch a camera view with the flash set to on or off. While legacy URLs are still supported (your old actions should keep working), the new photo attachment options are now consistent for the clipboard, Dropbox actions, social share sheets, Mail, Messages, and the new system share sheet.

Photo attachments and keyboard prompts can be mixed in the same action – here’s one to tweet a selfie with text entered through the Fleksy keyboard.

Launch Center Pro 2.1 can show native share sheets for text, URLs, or photos: these are the sheets that you’d normally see in apps when you want to share a link or an image, only now you can manually integrate them with your actions.

Launch Center Pro 2.1

Launch Center Pro 2.1

Here’s an action to open the camera roll, upload a photo to Dropbox, get its public URL, and then decide what to do with it using a share sheet. This would normally take three apps, but it’s a single action in Launch Center Pro.

Because share sheets can be integrated with other actions and tags, there’s lot of room for experimentation in the new Launch Center Pro. You can create actions to send a URL from the clipboard to Reading List; Messages templates to open the Camera Roll and text a photo to your favorite contacts; or, you could take a selfie and share it with Dropbox at a specific JPEG compression quality, if you’re into that sort of thing.

Wrap up

Launch Center Pro still needs an iPad app and a revamp of the Action Composer, especially when it comes to editing existing actions and creating more complex ones. The normalization of supported URL schemes is welcome, as it cleans up the old mess of multiple parameters and it makes the app’s documentation easier to read through and understand. In a future version, I’d like to see integration with Apple’s Open In menu for photos: as Pythonista has shown, being able to automate communication with third-party apps can be useful.

I like how Contrast is getting into more “visual” functionalities with lists and share sheets, and I believe that’s the right move to sell the app to people who don’t get URL schemes but can recognize a useful sharing feature or alert dialog when they see one. The addition of the Fleksy keyboard is interesting: Fleksy is impressive, but it’s no replacement for the full-featured Apple keyboard (yet?).

The biggest enhancements for my workflow are lists, easier URL schemes, and share sheets: I’ve been able to group related actions together and Launch Center Pro is now even faster and more intuitive. If you’re a power user, the stuff in Launch Center Pro 2.1 feels like another 2.0 update in terms of new features and customization options, and you can get it now on the App Store.


  1. The other two are Evernote and Tweetbot.  ↩
  2. Tap and hold the space bar to open the Fleksy settings and download languages; tap and hold the keyboard icon to delete downloaded languages.  ↩