I’ve always seemed to do a lot of writing. Most of it is both unpublished and unproductive but I nevertheless do quite a lot of it. A good writing app is therefore important to me.

I used to use Scrivener for long-form writing. Scrivener could do most of what I wanted if I’m honest, but I just didn’t ever gel with the application and, at the time of my assessment, its iOS support was new and incomplete.

It was thus that I began looking for an alternative.

There are of course a number of apps one could use for writing, so the important thing was finding the app that would do this in the way that suited me best. It had to be fully iOS compatible too as I’m trying to see if I can switch to that platform from MacOS for all — or at least most — of my day-to-day computer tasks.

I looked at a lot of apps as part of my assessment. Bear Writer was perhaps the most notable temptation but what I ended up with is Ulysses and this is my review of the product.

My Requirements

This is my ideal list of requirements for a writing app.

  • markdown based,
  • export options for (at a minimum) markdown, text, HTML and PDF,
  • works on MacOS and iOS with the same features on both,
  • sync between devices,
  • support for multi-level folders/categories,
  • support for tags,
  • sufficient, effective searching and sorting of articles,
  • Apple Pencil support and free-form, free-hand notes,
  • each article can have non-content fields for things like Jekyll front-matter,
  • themeable,
  • word counts.

Basics

Ulysses has the same three-pane screen that a lot of writing apps do. There’s the folder/directory structure on the left, the list of sheets (as they call them) under the selected folder in the middle and there’s the bit where you type on the right.

Writing is in Markdown or some variation of it, which you can select via the preferences, and a little formatting is applied to the Markdown in the writing pane to make the visuals a bit more pleasing. This formatting is done via themes, a few of which are distributed with Ulysses, and you can download others or even create your own.

It’s all very comfortable and intuitive to use, although one thing that seems to be missing is a separate article title field. What I mean by this is that in the middle pane of Ulysses, where all your articles (or sheets, as Ulysses calls them) sit, it shows the first few lines of your article as a way to identify it. In practice, you generally have an H1 title at the top of articles (or I do, anyway), which it displays in bold text and this serves as a title. However, I’d like a separate title field for the article in case I don’t want an H1 at the top or I want an H1 that’s different to the actual article’s title. Furthermore, such a field could then be more easily exported to other apps to facilitate workflows.

Ulysses does have a way to add ‘note’ fields that don’t appear as part of the article’s body but these don’t quite do what I want.

Categories and Tags

Ulysses has a folder structure where you can categorise your articles. Subcategories are supported too and, as far as can see, you can break these down into as many sub-levels as you like.

There is also support for tags. The autocomplete for these is a bit overly keen but I wouldn’t mark the app down for this and it’s all perfectly usable.

Sorting and Searching

You can sort your folders either manually, by title, by modification date or by creation date and this seems to cover all I’m likely to need.

Searching is excellent and you can even set up ‘folders’ in the left pane that are actually filters based on a search. You can filter based on the article’s text, its keywords or its creation and modification dates, and each filter can have multiple conditions applies with an ‘and’ modifier, meaning all conditions must be satisfied, or an ‘or’ filter, meaning any one of the conditions must be satisfied.

These filters are saved as pseudo-folders in the left pane, so when you subsequently click on them you’ll get all articles that match the filter condition(s). One way you might use this is to apply a tag called ‘todo’ to any article that requires further work — which is usually all of mine, even after they’re published — and then you could save a filter for that, allowing you to easily see which articles need more work.

Platform Support and Sync

Ulysses runs on MacOS and iOS and both versions are ‘complete’. One of my pet hates — ranking just behind sprouts, people famous for being famous and cyclists — is when an iOS app is a cut down version of a MacOS app. There may be a few fringe cases where something that can be done on MacOS simply can’t be done on iOS, but I’d suggest they’re rare these days and expect vendors to support both platforms equally.

Synchronisation between devices works fine and I can’t think of anything exciting to say about it (note: this was the case at the time I wrote the review - see addendum).

Export and Publishing

You can export Ulysses articles to text (plain, rich, markdown or text bundle), HTML, ePub, PDF or DocX, and you cab publish directly to Wordpress or Medium.

I use Jekyll for my blog and I’d like a native export that adds YAML front matter (incorporating any tags I assign) and which titles and dates an article correctly. I partially do this via a Workflow at the moment but it would be nice to have it built in.

Other

You get word counts and goals, you can attach images to articles and the interface is themeable.

Ulysses feels ‘complete’; it feels like a lot of thought has gone into it and it has a certain maturity as an application.

Furthermore, as you’ll see in the addendum to this article, I had reason to contact Ulysses’ tech support and I found them to be responsive and helpful. That’s always a huge bonus when you’re planning to choose an app to form a major part of your GTD process.

Conclusion

There is no doubt Ulysses is an excellent high-quality writing app. It looks great, it’s slick to use and it has a high level of functionality.

There is no Apple Pencil support. I can’t say I’m surprised because I don’t think that’s part of Ulysses’ remit. I think it sees itself as a serious writing app, perhaps more suited to the long-form of the art than short-form, note-taking tasks. I want it to be both because I’m irrationally obsessed with finding the Holy Grail of writing, but I can see why it isn’t that sort of beast.

For me personally, this is a four star app but, in terms of its remit, it’s a four and a half star app and that’s what I’m going to rate it, with the half star being lost for its lack of a proper title field and no native export to Jekyll. I don’t think it’s unfair to mark it down for the latter issue because it already supports publishing to Wordpress and Medium, and if you look at a lot of the Ulysses reviews on the internet you’ll find they’re actually published via Jekyll.

So, in summary, Ulysses is a fantastic writing app — in fact, I would argue it’s the best on the market — and I highly recommend it.

Addendum

Ulysses stopped syncing for me and I was bounced around between Ulysses tech support and Apple tech support for a while. Essentially what happened was that MacOS to iCloud Drive synchronisations stopped when it was used in a certain way, following the MacOS 10.13.4 update. It wasn’t limited to Ulysses because dragging a file into iCloud Drive via Finder on MacOS also failed to work, but other iCloud apps worked okay. iOS to iCloud transfers were working fine throughout.

I had nearly finished writing this review when the problem started happening and I still stand by it. Ulysses is a great product, but, as I write, I’ve been out of action with Ulysses for nearly two weeks and I just can’t be doing with that. Bear Writer — which uses different protocols to Ulysses for its iCloud synchronisation — was fine, so I switched back to Bear as my main writing app. I have previously reviewed Bear Writer and really like the app, so I wasn’t too stressed by moving to it.

I want to make it clear here: this is not a Ulysses problem, it’s an Apple iCloud Drive problem and it rests with an Apple Senior Engineer as I write this, but I have to get on with things.