Introducing the “Welcome to Xojo” Bundle!

New to Xojo and looking for guidance? We've put together a terrific bundle to welcome you! Xojo Bundle

This bundle includes six back issues of the magazine -- all of year 21 in printed book and digital formats -- plus a one-year subscription (beginning with 22.1) so you'll be learning all about Xojo for the next year. It's the perfect way to get started programming with Xojo. And you save as much as $35 over the non-bundle price!

This offer is only available for a limited time as supplies are limited, so hurry today and order this special bundle before the offer goes away!

Article Preview

Buy Now

Issue 11.5 ('Weeds')
Instant purchase and download via GumRoad!



Issue: 11.5 (September/October 2013)
Author: Marc Zeedar
Article Description: No description available.
Article Length (in bytes): 16,886
Starting Page Number: 16
Article Number: 11503
Related Web Link(s):


Full text of article...

Into the crowded field of iOS Markdown editors enters a new entry, Editorial. Does it make the cut? Abso-freaking-lutely!

Calling Editorial a Markdown editor is like calling a word processor a typewriter. Editorial does so much it's more like an operating system. It's so powerful it's like a morph of BBEdit, Automator, and macro program.

Editorial is written by Ole Zorn, the man behind Pythonista (reviewed in RSD 11.1) and he's taken a lot of that foundation and built upon it. On its surface, Editorial is a minimalist (and very elegant) Markdown editor. But you can completely customize Editorial to do almost anything you'd like by using an amazing Automator-like interface to chain pre-defined "actions" into your own "workflows" without typing a single line of Python code. (Of course, if you know Python, or need true power, your workflow can incorporate full Python code.)

When I first heard about this I wasn't that impressed. After all, iOS is so limited, what good would scripting do me? That's when I read Federico Viticci's incredible 25,000 word review of Editorial (that's not a typo; you can read his epic thoughts at http://www.macstories.net/stories/editorial-for-ipad-review/). My eyes opened as I began to realize the possibilities. Federico's been beta-testing Editorial for months and has formed his whole work life around what Editorial can do.

The trick is that Editorial's workflows and scripts can interact with other iOS apps via several mechanisms, the primary one being URL schemes. This means you can write a workflow that posts your current article to your Wordpress blog, for instance, and then posts a link to the new article on your Twitter account. Think about that: one button push. What normally would have required much tedious taping, copying and pasting, and switching between multiple apps multiple times, is all reduced to one click.

Like all programming environments, it's difficult to express exactly what you can and can't do, and when you're just starting out, it's hard to know what's even possible or what you'd like to try. Zorn actually helps with this by keeping Editorial so minimalist, however. He basically forces you to learn to create workflows because without workflows the program is merely a very nice Markdown editor.

With workflows, Editorial becomes the hub of your iPad.


Let me give a few examples. Let's say you're checking out a new Markdown editor. You bring up a long document you're working on and you discover that this particular editor doesn't give you a way to navigate through the entire document. For instance, there's no "jump to the end" command or a table of contents navigator or anything like that. You decide that without that feature, working on this big document just isn't feasible on an iPad.

But with Editorial, you can just write your own workflow to solve that problem. It may take you 15 seconds to create a workflow that jumps to the end of your document, for example. Just create a new workflow, add the "Move Caret" Action, and from its settings, choose "forward" and "end of document" as the options. You're done!

You could make a more elaborate workflow that studies the content of your file and gives you a dialog box list of headings and lets you jump to those places. (You wouldn't actually need to do that since Editorial has that feature built-in, but you could write your own if you wanted.)

Think about the power this gives you. If your word processor has a limitation or is missing a feature, just write it yourself!

Editorial doesn't even include something basic like a find/replace function; but I added one someone else wrote in just seconds.

My very first workflow took me about 30 minutes, mostly because I didn't have a clue what I was doing. But it's surprisingly sophisticated for a first workflow. It uses an if conditional to check to see if the user has text selected in the editor. If there is text, it presents a dialog of choices to lowercase, titlecase, or uppercase the text. If there is no text selected, it does the same thing but to the text on the clipboard!

After that, I quickly made a dozen more choices, mostly doing things that will be helpful for Markdown articles for xDev, such as indent/unindent, quote/unquote, and so on. My favorite is one that does something I think is really cool. I've never been much of a diary person, but many years ago I started a thing I called "Nows" where I created a simple text file called "Now" with the date appended ("Now 2013-08-15"). Inside it, I put whatever thoughts are in my head at that moment. Simple and handy.

But creating my Nows is a little bit of a pain. I used to have macros that would generate the date/time for me, but that didn't work for the filename. Recently I've been thinking Nows would be great to put on my Dropbox and access via any device I have. But I still had the hassle of creating the date-based filename. iOS programs like TextExpander don't work in a file-name field. But could Editorial help?

It could. In an amazingly short time (under ten minutes) I was able to chain a few actions together where my workflow creates a new filename based on the current date, creates a file with that name and stores it in my "Nows" folder on my Dropbox, inserts some date/time-based template text into the file, and sets the cursor at the end so I'm ready to type. All that happens instantly with one button push.

Yes, I'm falling in love with Editorial!

What can you do?

Some of the things you can do with this program are unprecedented. You can launch other programs and get or pass data, access your camera roll, upload/download files to Dropbox, run Javascripts, send emails or Tweets, display dialog boxes or ask the user for input, do regular expressions and string functions on text, and so much more. You can even send yourself Notifications! (I'm going to explore writing my own to-do list system in Editorial that automatically creates reminders for me.)

The possibilities—especially once you harness real Python scripts—are incredible. Zorn demonstrates this with a workflow that actually backs up all your workflows into a Zip file onto your Dropbox. (Yes, Python can read/write Zip files!) I use that workflow to backup all of my big iPad's workflows and then copy them onto my iPad mini (using the workflow's "restore" feature).

The really amazing thing about Editorial is not just all this power, but that Zorn has also created a really polished and well-thought out application. There are so many little touches I'm not even sure where to begin. The basic interface is simple and clean, with a list of files (local or Dropbox) on the left and then a swipe brings you to a full-screen editor. Another swipe brings up the built-in browser—awesome for doing web research without leaving Editorial, and, of course, fully scriptable via workflows. But the program is full of little touches, such as automatically completing paired items for you (such as parentheses or quote marks) and putting your cursor between them, and even better, ignoring the second one if you type it again. (This means you can type a left parenthesis, some text, and then a right parentheses and you won't end up with an extra right one, but if you don't type the right one, one is already there.)

Bookmark Bar

Under the main (very simple) titlebar is a bookmarks bar—there you can add your own buttons that activate workflows. Basically, you can configure the word processor with whatever options you'd like. Workflows even have icons which show up here (there's a built-in library of icons you can select from and assign them to any of your workflows). You can create abbreviated names for the bookmarks so they don't take up so much space without changing the full name of the workflow (which might make them harder to decipher, though workflows do have a helpful description field).


Then there's the keyboard: it adds an extra row on top with common Markdown keys on it, as well as a tab key, and an undo/redo button. Some of the buttons have a dog ear in the upper right that indicates a press-and-hold on that key will produce a popup of additional characters (e.g. "(" could be "{" instead).

Swiping along this extra row will move the cursor a character to the left or right—a fantastic addition that means you don't have to tap and hold for the magnifying glass just to move the cursor a few letters and, of course, your finger isn't obscuring the text line. When you use an external Bluetooth keyboard, this extra bar stays visible, so you still have access to these features when using a physical keyboard.


There's also a snippets button on the bar—Editorial has built-in text expansion so you can type a few letters and they'll expand to the full text of the snippet. Or you can choose the snippet from the snippets button to insert that text. You can also use TextExpander if you have it installed. I've barely started using snippets, but one clever feature is that you can actually have a snippet execute a workflow. That means you can trigger a workflow from the keyboard—almost like a command-key shortcut! (In another twist, workflows can activate snippets, too.)

Sharing Workflows

I should also mention the ability to share workflows. When you tap the "Share Workflow" button, the workflow is uploaded to a website and given a unique, shareable URL which is placed on the clipboard. For instance, here's the link to my "Change Case" workflow (http://editorial-app.appspot.com/workflow/4991370473242624/w6L5It9TMaU).

If you have Editorial, you can install that workflow with the push of a button. Going to that URL in a browser will even give you a preview of what the workflow looks like, so you can see what I'm doing even without having Editorial yourself.

(It's also a handy way to move workflows between my iPads. In fact, I created a neat workflow that takes the copied URL and appends it to a Links.txt file on my Dropbox. I can then access that file in my other iPad and import in the workflow. You can grab my workflow http://editorial-app.appspot.com/workflow/5285489833672704/68gHGDFKAEE if you'd like. Also, the Links.txt file makes a handy list of shared workflows in case I ever want to share a link again later.)

Even More

I don't have space to elaborate more on what Editorial can do, but I'll just mention it supports Dropbox versions (you can access previous versions of your Dropbox documents from within the app), a full DIFF comparison tool, statistics, navigation (between Markdown headers), inline preview of Markdown, full Markdown preview, autocomplete, a nice array of preference customizations, a quick list of recent documents, and more I'm sure I'm forgetting.

Not Perfect

Editorial isn't quite perfect. I experienced a few crashes (particularly when loading a large page in the browser, such as Federico's lengthy review), and I noticed some bugs such as the name of my workflow being lost. The built-in browser is very nice, but doesn't support tabs, which would be a huge improvement.

There are some awkward interface things when you're building workflows. Moving a block item, such as an if-end if or repeat-end repeat, can only be done when the dual-item is collapsed into a single item. It works fine when you remember that, and collapsing them is easy (there's a "Hide Actions" button right on the item), but it's not intuitive and took me a while to figure out how to nest such blocks. Finding the help for a command is a little buried as well.

Speaking of the help, the built-in documentation is almost great. It falls short in three ways. When discussing individual commands, it's often too brief, without a usage example (especially in the Python scripting area). Worse, much of it seems written for people who are experienced with Python (a lot of the Python docs are the regular docs for the language, not something specifically written for use with Editorial). More seriously, there are gaps and weak points and even missing pages in the broader documentation. Several links I tapped brought up empty pages and when I did a doc search it told me there were eight pages found, but the list of found pages was empty.

The workflow editor desperately needs a Copy command, as often times you need to use the same Action several times in a workflow and it's a pain having to go find the command again in the Action library and set all of its options again. There is a way to save some of your actions as a "preset," which allows you to reuse it in other workflows (you can also chain workflows together by having one call another), but that's overkill if you just want another copy of a standard (non-customized) Action.

Another disappointment is that there's no iPhone version of Editorial. When I first heard that, I thought it didn't matter, as how much writing would I do on my phone? But this app isn't just about writing—it's about building customized tools that speed your productivity. A blogger might not write an article on their iPhone, but they might make a minute revision and post it via their phone using an Editorial workflow. I certainly can imagine a few things I'd use the scripting for if I could do it on my iPhone.

The most serious omission for me is that there's no password protection on the app. Since it has full access to your Dropbox (and with its scripting platform could do serious damage to your data if abused), that's a gapping security hole. Anyone getting a hold of your iPad, for instance, could access all your Dropbox documents via the app. I love apps that use my Dropbox, but I require them to have password protection (or only allow access to a subset of my Dropbox).

Except for the last one, these are minor nitpicks, though. For a first release, the app is astonishingly good.

Too Long

This review is already way too long and yet I feel like I've barely scratched the surface of what Editorial can do. It really is that powerful. I urge you to check it out, even if you don't think you need another text editor on the iPad or you aren't interested in learning Python (I have yet to try writing a line of actual code, but from what I've seen, Xojo and Python are not that different).

At only $5, it's hardly a big investment. It's easily worth four times that and I'd pay $50 for a similar editor on my Mac in a heartbeat. It really is like combining half a dozen Mac programs such as BBEdit, Automator, Keyboard Maestro, etc. into one, and yet I think Editorial is still more powerful, or at least at a much lower complexity level. I dare say it is a revolutionary product for the iPad; it's not for the casual user, but for the first time, power users can actually use an iPad for true productivity. I'll finish by saying I wrote and edited this entire review in Editorial, on my iPad, and never once did it feel limited.

End of article.