When we chose the second annual lifetime achievement award winner, there was no doubt in my mind that it should be Drafts. Developed and maintained by Greg Pierce of Agile Tortoise, Drafts has been the place where text starts on iOS for nearly a decade now. Times have certainly changed, but Drafts remains. Through the years, it has evolved into so much more than the simple text utility it once was.
While it has evolved, the most beautiful thing about Drafts has been the fervent dedication to its original mission statement. If you are about to type some text – any text — on your iPhone or iPad (and even, in modern times, your Mac), you should open Drafts. The app is so focused on text capture that it defaults to opening a new blank “draft” every time you open the app.
Writing text is only as useful as what you do with it, so the second pillar of the Drafts mission is its action menu; an infinitely customizable list of actions that allow you manipulate and send text from the app to essentially anywhere else you can think of. From random web services to other native apps on your devices, Drafts can almost certainly deliver your text. As your words get delivered throughout your entire digital life, you can take comfort in knowing that you can always search for and find anything you’ve written simply by looking up its record in Drafts.
It amazes me that after hearing that pitch (and even personally writing about it) again and again for over a decade, I still find it to be an alluring idea. Drafts’ longevity is a testament to the prescience of Pierce’s original vision. It pleases me immensely to see this app carrying on for so long, and it’s an honor to award it MacStories’ Lifetime Achievement award.
Drafts will always hold a special place in my heart, because it is deeply intertwined with the story of how I came to write for MacStories over eight years ago. In that far more limited era of iOS, Drafts pioneered a method of inter-app communication which enthralled my high school self.
Drafts defined a brief but special iOS epoch. Living through it and being a part of it legitimately changed my entire life. Bear with me, we’re gonna dip into the weeds just a bit here as we delve back into that history.
The Early Days of iOS Automation
Long before modern share extensions enabled breakthrough capabilities, apps on iOS were almost entirely disallowed from communicating with each other. Each app ran in a seemingly impenetrable “sandbox”, a boon for security but a nightmare for automation enthusiasts. The singular way in which any data could make it through the walls was a simple method called “URL schemes”.
Each app could define a URL scheme, and it could be called like a normal website URL. Instead of opening a website though, it would open a native iOS app. If you had Drafts installed back then, you could type
drafts:// into your iPhone’s web browser, and when you pressed Go you would leave Safari and launch into Drafts. Simple.
Also just like normal URLs, you could pass some text via query parameters, which an app could then read and use to execute some action. For instance, back then, one might have called the Instapaper URL scheme and passed it a link using something like
instapaper://link=macstories.net. This might open the Instapaper app and save macstories.net as a webpage to read later.
Initially, this was a one-way street. One app could call another app’s URL scheme to “automate” something in the other app, but in the end the user was left looking at the other app rather than continuing to use the app they ran the automation from. For example, if you pasted a URL into Drafts which you wanted to add to Instapaper, Drafts could call the Instapaper URL scheme and send the link over, but you’d be left staring at Instapaper when you probably want to be back in Drafts.
Recognizing an untapped potential, Drafts’ Greg Pierce and Instapaper’s Marco Arment collaborated to create the “X-Callback-URL” protocol. It defined a method in which URL schemes could be encoded as query parameters, then passed to another app. Once the app fulfilled its initial action (such as Instapaper saving that link in the example above), it would then decode and execute the next action in the URL (such as calling
drafts:// to return the user to Drafts). Just like that, an app like Drafts could execute an action in a different app and have the user end up back in Drafts once their chosen automation completed.
In the modern era, it’s difficult to describe how groundbreaking this possibility was for automators and tinkerers. As more apps implemented X-Callback-URL, more possibilities for automation opened up. Since URL scheme automation could only work with text, Drafts was the perfect catalyst for jumpstarting iOS automation.
In early 2013, Federico was one of the first people to start using Drafts to chain even more than just two apps together. He built an automation that combined three different apps. I read his article during my senior year of high school, and thought that I could beat him. After a few days of plugging away at it during Spanish class, I managed to chain 5 apps together.
Running early URL scheme automations was weird and cool. Since each app had to actually open in order to run its action, you would sit back and watch your screen while it bounced through every app that was part of the chain, quickly and automatically. Finally, it would return to Drafts when everything was complete.
That year I started my first blog, which was dedicated almost entirely to automations built using Drafts. I eventually decided to write an enormous guide to URL schemes and Drafts actions, which Federico caught wind of before I published and had me bring it to MacStories. It was my very first story here. Little did I know at the time how much it would lead to.
The Modern Drafts
Drafts’ rich history is rare and impressive, but the app has never stagnated in the many years since. Pierce has built his text utility into a sustainable business, with apps on every Apple platform. Drafts is now free to download and use, but includes an in-app purchase for Drafts Pro, which unlocks themes, custom actions, workspaces, and more. Workspaces in Drafts let you set up advanced filters on your text and turn the app into a completely customizable view for different areas of your life.
It also, of course, now integrates with Shortcuts and the share sheet, enabling users to access the more modern avenues to advanced automation. We’ve come a long way from URL schemes (although they do still have some use cases for certain automations).
It brings me such joy to see this app that means so much to me and others still around today, and to witness how much more powerful it’s become. We spoke to Greg Pierce this week on AppStories about Drafts, and it’s clear he has no plans to stop pushing it forward. I can’t wait to see where it goes in the years to come.