Call it a lack of imagination, but the first time I got hold of the Workflow app I was a little disappointed. The gallery made it look like a lot of fun, but most of the automations seemed a bit gimmicky. I didn’t have much need for a local area, pizza speed dial. There were automations I latched on to, but the app's power lay dormant on my devices. Fast Forward, and among the things I have figured out with Workflow is how to automate citation formatting.
I was something of a late comer to iOS. I wasn’t trying to do much serious work on the iPad when I started playing with Workflow. That meant I still had a lot of walls to hit where limitations of the platform were concerned. It soon became apparent that not only could Workflow do incredible things, it could do many things I needed, that I couldn’t otherwise do on and iPad, or an iPhone. Workflow is both a means for overcoming shortcomings of iOS, and for automating tasks that are repetitive, time consuming or difficult. For a novice, I would suggest the visual programming design of workflow makes it much easier to automate tasks than it does on the Mac.
Getting to Know Workflow
There is a surfeit of ‘getting started with Workflow’ type posts about the internet. For the most I have found they fall into two categories. You have the listicles of workflows that can either be found in the Workflow Gallery itself, or are similar in kind. Basic, but fun. Don’t get me wrong, some of the uses cases you find on those lists are pretty neat. My feeling is they don’t do a lot to help somebody trying to get the most out of the app.
Then you have serious Workflow aficionados. The best known known is no doubt Federico Viticci of Macstories, but there are others. I posted appreciation for Jordan Merrick’s Workflow Directory recently. Another blog I like for iOS automation is One Tap Less. Although, It hasn’t been updated much lately. If you want to get a head start with Workflow, I would suggest listening to series the Viticci and Frasier Speirs put together for their podcast, Canvas. A podcast might seem like a strange medium for learning something like this, but following along will help with the general concepts.
If you have never done any kind of programming. Despite the relative ease of the Workflow approach, there might be a couple of things that catch you out. Variables are a good example. Somewhere in the deep recess of my mind I have the fragments of what I learned as a school child in the eighties. At least knew what a variable was when I came across it in Workflow. I know that for a lot of people , it is exactly that concept that stopped them grokking the building blocks that make up Workflow automation. Workflow has gotten more clever about the need for variables, and the way that you can use them. But knowing what they are, and how important they are to the flow of information in a program is still a crucial piece of the puzzle. Thankfully, it’s not a difficult concept to pick up.
Getting deeper into Workflow, the developers have done a great job of abstracting concepts like flow. There is another powerful automation app on iOS called Alloy hasn’t enjoyed anything like the success of Workflow. That app has taken the opposite approach, negating the visual programming language by littering the app with esoteric terms. Understanding the flow of input and output is ultimately what makes the workflow applets you build operate as you intend. Which is to say, the further you go, the more likely you will need to understand more of the mechanics beneath the interface. Thankfully, the official Workflow documentation is very good. Then there is a thriving Reddit community of helpful, Workflow nerds.
A Range of Use Cases
To dial it back a little, you don’t necessarily need the most powerful features of Workflow for it to be useful. I have a range of workflow applets, recipes, scripts, or workflows. Call them what you will, they range from the most basic, to complicated enough that I’m not confident I could recreate them should I ever need to. Then I have workflows built by other people that hurt my brain. Trying to reverse engineer them has been one of the best ways to learn how to use the app. That is the reason I subscribe to Club Macstories, for the workflows.
As an example of a most simple use case. On the Mac I use a couple of different utilities to turn websites into either single purpose browsers, or something close to a native macOS app. For somebody with their dopamine wires crossed like I have, it can be a real nuisance working with web apps when you tend to have a million tabs open. On iOS, when I need a single purpose browser I create it with Workflow. I then place the shortcut on my home screen. Problem solved.
Easier with Web APIs
One area I feel the app provides an advantage over automation tools on the Mac, is how it guides you through using web APIs. Even using a powerful tool like Keyboard Maestro on macOS, you will still need to build and encode URLs to interact with an API. In Workflow, you build the contents of the URL with a form. In turn the App will encode the URL for you. The consequence of this approach is you start to get a picture of what the structure of an API request looks like. I had never worked with JSON before I started experimenting with citation workflows, and yet I didn’t have much trouble putting a request together. If the API has good enough documentation, it isn’t too hard to work out which fields go where. There might be a little trial and error, but that is half the fun.
The upshot of all this fun with APIs is I have workflows to share. I’m going to post the first one here. If you want to keep up with how the effort to add to this, sign up for the mailing list over on the side bar there. The first newsletter will go out in a couple of weeks, I intend for it to include this and some other study and research type tech-fu.
A Remaining Frustration
For academic writing on the iPad, managing citations can still be a pain. Decent citation management is the last remaining frustration for iOS users and academic writing. If I were to code an app for academic users on the iPad, that would be it. You can manage various parts of a bibliographic workflow on the iPad. I use Papers 3 for that job. But on the whole, it remains messy and awkward. This is where Workflow comes in. It can equip you with the tools to build a citation workflow that can solve at least some of the problems for this kind of work on the iPad. If you’re inventive enough, you could put the entire workflow together using Workflow and a text editor. Adding Ulysses , or Editorial into the mix, and you have the tools for an iPad first writing system.
The whole way through my undergraduate studies I never committed a single citation style to memory. With citation managers available, why bother? At worst I could use an online generator. I claim it wasn’t really laziness though. It is an admission of fallibility. As a tutor, and as lecturer I had to take on marking work. Eventually I learned enough about which citation styles were set for the class, so that I could satisfy the requisite pedantry of one who wields a red pen. I just as easily forget the conventions the moment school is out. In the end I would rather automate this particular task and save that precious mind space for something more worthy. Like learning how to use Workflow, for example.
Automate Citation Formatting on iOS
Workflow’s powerful API interactions opens up all kinds of possibilities. It just so happens there are a lot of bibliographic web tools with public APIs. The idea is to start out simple here. To provide both the utility for automatically formatting citations, and an example of a workflow for anyone starting out with the app. Something I hear ad nauseam — because it is true — is learning any kind of automation, scripting, or even coding, will be much easier if you have an end goal in mind. If you start out with a blank canvas, not knowing what you want to automate, you will have trouble learning automation. If you have a use case in mind, or an example to work with, it is going to work out better.
This workflow uses the Easybib Developer API to format a citation in the style that you need. You will need an API key to make it work. They are free to obtain for personal use. It will be easiest to signup for an API key before you download the workflow, as it will ask you for that key when you install it. I have set it up to chose between the MLA, APA, and the Chicago B reference styles. If you need a different style, the API supports more than 6000 of them, so no problem. Just add the style to the list in the workflow itself, it should be obvious.
A couple of quick points for using the workflow. This example is only setup for citing books with a single author. If you have the inclination, Easybib has quite comprehensive documentation so you can builds upon the workflow to suit your own needs, or replicated it for different sources. When entering an author name, use a comma between the first and last names. To suit my own writing preferences, I have also set it up to format the citation using Markdown. If you would rather it used rich text, simply remove the second to last action called ‘make markdown from rich text’. The workflow will then copy a full formatted reference to your clipboard.
If you have no inclination to commit a reference style to memory, this workflow is for you. You can download it here
Any questions, drop me a line. If you want to keep up with my efforts to use workflow for citation management on iOS, signup for the mailing list. The first edition will be out soon, time willing it will include updates to this workflow to cite different sources, multiple authors, and so on