Posts tagged with "automation"

Launch Center Pro 1.1

LCP

LCP

Released in December 2011, App Cubby’s Launch Center re-ignited interest in iOS URL schemes – shortcuts to automate communication between apps and get specific things done faster with less manual tapping and interactions. Its direct sequel, Launch Center Pro, was released in the summer of 2012 and doubled down on the entire idea of automating iOS tasks by providing a “Home screen for your actions” to allow users to better and more visually organize their shortcuts.

Launch Center Pro 1.1, released today, focuses on improving three key aspects of Launch Center Pro: native in-app actions, the Action Composer, and TextExpander support in URLs. Read more


Create and Share Evernote Notes With Pythonista On iOS

I use Evernote on a daily basis, but there’s no easy and quick way to create new notes and receive their shared URLs on iOS. While I tend to prefer plain text files, Evernote notes are quite useful when I need to share rich text (containing formatting and inline images) with someone else. Sharing via the official Evernote app takes too long[1], and I don’t like the UI of other Evernote clients.

Yesterday, Pythonista developer Ole Zorn posted an installer script for the Python Evernote SDK. By putting together all the necessary dependencies, he created an installer script that will create an “evernote-sdk” sub-folder in Pythonista 1.3; with that, you’ll be able to access the entire Evernote API to create and manage notes – all while taking advantage of the uniqe iOS-related features of Pythonista.

Inspired by Ole’s demoes and the snippets posted by Brett Kelly in the past weeks, I created a script that does exactly what I need: it lets me enter text to save it in an Evernote note that will be shared publicly. If triggered by an app like Drafts or Launch Center Pro, the script will take the text sent by those apps. If formatted in Markdown, the text will be converted to HTML before saving it to Evernote. Read more


Alex Guyot Chains 5 Apps with Drafts

Alex Guyot Chains 5 Apps with Drafts

As I expected, people have started experimenting with chaining apps and services using Drafts, and Alex Guyot quickly beat me in chaining 5 apps. From his explanation of the workflow:

Follow the bookmark in Chrome and it will take the URL of the webpage you are on, send it to Drafts as a draft, upload it to Dropbox, send it to Due (where you choose a reminder time for it to remind you), take you back to Drafts, send you to Instapaper (Where you choose to save the link to Instapaper), then send you back to Chrome.

He also posted a quick video showing the workflow in action on his iPad. I like how, unlike me, he chained each action as an x-success parameter of the previous one.

As I’ve argued on multiple occasions here on the site, URL schemes are certainly a stopgap solution to a problem – better inter-app communication on iOS – that I wish Apple will tackle in the near future. However, that doesn’t mean people can’t get real work done with URL schemes and apps today. Looking ahead, I can only imagine new possibilities of iOS automation based on URL schemes that, however, abstract the need of manually building URLs from the end user’s workflow – using a more Automator-like interface to visually represent actions. And, who knows, perhaps in a future version of iOS “switching” between apps won’t even be required anymore, as “parts” of other apps will be linked to each other using something like XPC.

Permalink

Chris White’s iOS Workflows

Chris White’s iOS Workflows

Chris White is putting together an impressive collection of JavaScript bookmarklets, URL schemes, and iOS services and actions in a GitHub repo:

It seems like we’ve recently been seeing a ton of new ideas, clever tricks and tools for making users who are willing to dive into the deep-end more productive on our iOS devices through automation, seamless app communication and some really great shortcuts. This is a collection of bookmarklets, scripts and custom URL scheme actions that help bridge apps and manipulate the data you can send between them.

Chris included some of my bookmarklets and URL schemes in his collection, which I recommend checking out if you’re looking for a single place containing several moderately advanced tips for doing more than just launching apps via URLs.

iOS automation is, of course, a subject that I’ve been covering on a daily basis on MacStories for the past months. While I haven’t had the time to put together a GitHub repo like Chris did, allow me to list the various articles and tag pages where you can get started:

URL scheme tag page

Bookmarklet tag page

Automation with Drafts and Chaining Apps with Drafts

Pythonista review and scripts

Pythonista tag

I’m very glad Chris decided to collect these resources in a repo. I especially like the Drafts bookmarklets he made, which contain a check to see whether the browser has an active text selection (something I haven’t been doing as I’ve always created separate bookmarklets for Chrome and Safari).

Permalink

Chaining Multiple Apps Together with Drafts

A few weeks ago, I took a look at the automation possibilities opened by Drafts, Agile Tortoise’s multi-purpose text app. In the article, I mentioned how a bug prevented Drafts from “linking to itself” more than once:

Therefore, my idea for cross-posting was: I can link to Drafts itself, and if the first action is successful, I can link to Drafts itself again. Essentially, I wanted to leverage the built-in App.net and Twitter actions to avoid the use of any third-party app. Unfortunately, there’s a bug in the current version of Drafts that doesn’t make that kind of action work.

With an update to Drafts released yesterday, Greg Pierce has brought various improvements to the app, including support for more customizable timestamps and dates using strftime, date and time tags for file names and URL actions, and a new way to encode strings with curly brackets.

Seemingly minor, the option to more easily URL encode strings is actually a very welcome addition: like in the latest Mr. Reader, instead of forcing the user to encode a URL into a longer string, you can simply put a URL inside {{ }} and let Drafts take care of encoding it. It means I can now experiment with building more complex workflows that contain actions for more external apps and, more importantly, for “sequential” tasks in Drafts itself. Easier encoding means we construct URLs that will tell Drafts “do this, and then do that” in a single workflow.

Those who follow me on Twitter know that I’ve been trying since yesterday to see how many apps I could chain together in a workflow, mainly out of curiosity and as a “proof” of concept. First, I tweeted about a Mr. Reader -> Drafts -> Poster workflow that would take selected text from an article, convert its Markdown to HTML, and then send it to Poster; the workflow consisted of three apps chained together, but I knew I could try to accomplish something a bit more ambitious. I kept on experimenting with Drafts URLs, and eventually I managed to build a single workflow with 3 apps and 4 different tasks involved. I’m posting it here for two reasons: a) I believe it’s a quite useful workflow; and b) it can serve as an example of what Drafts can do when you understand how to properly link multiple apps together. Read more


iOS Automation and Workflows with Drafts

The latest update to Drafts – a “quick note capturing” app that I’ve covered several times on MacStories – adds a series of features aimed at increasing the possibilities of workflows automation on iOS devices. Obviously, this is something I’m interested in.

It seems like enabling users to save time while using apps has been a common thread in the past few months. The success of Launch Center Pro probably “raised awareness” in regards to the whole concept of URL schemes, but it’s been the increased adoption of x-callback-url and interest in automated workflows that proves better inter-app communication is something that (at least) third-party developers are thinking about. Google included a powerful URL scheme in Google Maps and Google Chrome; more recently, Mr. Reader showed how to enable a “services menu” by requiring users to mix URL schemes from other apps with parameters for an article’s title or selected text. These aren’t ideal solutions, but it’s all we have for now.

Greg Pierce, creator of the x-callback-url specification, has improved Drafts in ways that not only make the app more useful to get text onto other services, but also broaden the possibilities for automation through the use of URL schemes.

There are three main new features in the new Drafts: Dropbox actions, URL actions, and an improved URL scheme with support for callbacks and action triggers. I am going to explain how they work and include various actions and bookmarklets to demonstrate different use cases. Read more


Due Clipper For Google Chrome

When there are no actual news or notable app releases, I prefer investing my time in creating something for other people.

Continuing my ongoing series of tips on iOS URL schemes, here’s an adaptation of my existing Due bookmarklet to work better with Google Chrome for iOS (which, as I’ve pointed out several times, has a very nice URL scheme). The following code (to install it, simply copy it and paste the entire string into a bookmark) grabs a webpage’s title and URL and sends them to Due (also powered by a great URL scheme). Read more


Mr. Reader And The Services Menu for iOS

A “services menu for iOS” is a chimera advanced users and developers have long been trying to hunt down. It all started with a mockup Chris Clark posted in 2010, showing how third-party iPhone apps could offer their “services” – just like OS X apps – to the user through a contextual menu. The concept became popular fairly quickly, but, eventually, Apple did nothing.

Fast forward to 2013, iOS users are still asking for better integration of third-party apps with each other. Developers have resorted to using URL schemes, a rather simple way to directly launch other apps and pass information to them – usually bits of text. App Cubby’s Launch Center Pro has become the de-facto solution to create a “Home screen of app shortcuts”, offering a series of tools (such as automatic encoding and different keyboards) to make the process of customizing URL schemes as user-friendly as possible. Launch Center Pro is, in fact, the utility behind many of my favorite iOS tricks.

Pythonista has also become a big part of my iOS automation workflow. Combining the power of Python with the possibility of launching URL schemes, I have created a series of scripts that help me get work done on iOS on a daily basis. Further leveraging Greg Pierce’s x-callback-url, I have ensured these scripts can take a set of data, send it to other apps, process it, then go back to the original app. You can read more about Pythonista in my original article, and I’ve been following updates from developers who implemented URL schemes as well with a dedicated tag on the site.

I concluded my Pythonista article saying:

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.

Mr. Reader – a Google Reader client that I’ve covered on MacStories in the past, and my favorite RSS app – has today been updated to version 1.11, which introduces a generic solution for launching URL schemes that shows how iOS automation is a growing trend, albeit substantially different from what we’re used to see on OS X. Read more


Poster 2.0

Tom Witkin’s Poster is my favorite WordPress blog editor for iOS. Poster comes with a clean interface, support for Markdown (the app can convert plain text Markdown to HTML before publishing), and full WordPress integration. The app’s excellent support for WordPress features like custom fields, drafts, slugs, and images means I don’t have to write on the iPad and later “adjust everything” on a Mac before publishing. Poster is, in fact, a core aspect of my iOS automation workflow.

Poster 2.0 is out today, and it’s another fantastic update that reassures me Tom is committed to making this app the best WordPress editor for iOS. The interface has been further refined, and it’s now easier on the eye with an even deeper focus on content rather than UI chrome. I don’t use these for MacStories, but Poster now supports WordPress custom post types and excerpts, alongside the “sticky” functionality that we use every once in a while to pin a post to the top of the site.

What I like about Poster 2.0 are the “minor” additions that make for a much better workflow. Custom fields can now be given a local label so that a friendlier name will be displayed in Poster instead of the actual name (e.g. “URLCustom_linked” becomes “Linked post”); the Markdown preview and HTML conversion now handles en and em dashes (something that annoyed me in the previous version of the app); if you edit a published post (as we usually do when we catch typos or make corrections), you can now save the edited draft locally before publishing. I also appreciate how the “Copy to Clipboard” action now only received a post’s URL (Poster 2.0 builds on the solid foundation of Poster 1.0 for post sharing), and the app is noticeably faster at syncing multiple posts at once.

There are two more changes I want to mention. You can now insert images at any point in the editor by tapping & holding and selecting the “Insert Image” option from the popup menu; I tend to do all my image insertion beforehand, but this is a welcome addition for those times when I may forget about an image. And last, Poster now supports Greg Pierce’s x-callback-url to return to a specific URL after completion. Poster already had support for a URL scheme that allowed post creation from other apps, but now you’ll also be able to create a post and return to another app.

Here’s a bookmarklet I made to grab a browser’s selection and use it as text in Poster, get a webpage’s title and use it as post title, open Poster, and return to the browser. This kind of URL callback enables a streamlined workflow for, say, discovering links in Safari, quickly posting them to WordPress, and going back to Safari again.

javascript:window.location='posterapp:///create?text='+encodeURIComponent(window.getSelection())+'&title='+encodeURIComponent(document.title)+'&callback_url='+encodeURIComponent(location.href);

I also made a quick video showing the process in action. Unfortunately, getting the browser’s selection only works on the iPad.

Poster is a great app, and while not revolutionary, the 2.0 update refines several aspects of the previous version and adds more powerful functionality for WordPress users and iOS automation geeks. I highly recommend it.