Mac App Review: Ulysses III

In college I bought a copy of James Joyce’s Ulysses. This stately, plump tome, to be exact. I didn’t read it. I tried to, sure, but after a few weeks it became clear I needed to move on.

Every few years I start reading it again from the beginning, each time making it a bit further than my last attempt; never very far. Up until this latest release, The Soulmen’s text editor that shares a title with Joyce’s novel was only too aptly named for me. It never clicked. That’s all changed with Ulysses III.

Getting Organized

I’ve written before about how most editors get in my way. In praising Drafts, I wrote this:

Nearly every app I use on iOS utilizes the same basic “document” model. Whatever I write usually needs a name and/or tags so that it can be differentiated from the other documents. As such, I couldn’t open an app and start writing without feeling like I was working on something.

The more writing feels like work, like a chore to me, the less I feel like doing it. On iOS, Drafts solved this problem. On the Mac, the closest thing to an app that allows me to just aimlessly write has been nvALT. I use and love nvALT, but for notes, little snippets of information I may need access to later. I never launch it just to write.

Ulysses III puts writing front and center, doing away with the “document” model. Instead, you compose text in “sheets” which can be organized into “groups” (basically folders). A sheet doesn’t need a title, though you can add one with a Markdown header. There is an Inbox where you can compose loose bits of text for later organization or just get to writing.

All of this gets stored in the Ulysses database, which has its advantages. For one, you don’t need to clutter up your file system with snippets of text. By keeping your writing in Ulysses, you can add attachments to sheets, including photos, notes and keywords (or tags). These items follow your sheet no matter where you file it.

Filters allow you to create a search folder, similar to a smart mailbox in Mail. You can search the full text of documents in your entire Ulysses database, or limit the search to a single group by, say, keyword or modification date.

I’m using filters right now. I’ve got a few sheets for different sections of this review. Some sheets have the keyword @first-draft attached to them, some have @second-draft and some both. I’ve got filters limited to my Ulysses Review group for each keyword, so I can view each draft separately. By doing this, I’m able to edit the same sheet in both drafts, which jibes with my brain more than making multiple copies of the same text.

Ulysses III also makes the best use of OS X’s Versions feature I’ve seen in an organized writing app. Hitting ⌘S in any sheet will save a version of it in its current state. This again obviates making multiple copies of the same sheet, allowing you to simply go into the Versions browser to see previous edits. This is the first implementation of Versions I’ve actually wanted to use.

Editing Text

Out of the box Ulysses ships with syntax highlighting for John Gruber’s original Markdown, an extended syntax they’re calling Markdown XL1 and Textile2. From there you can create your own syntaxes and set up your own highlighting color schemes and keyboard shortcuts.

Most of the highlighting is pretty basic (*italics* are italic, **bolds** are bold), but some elements become invisible. Link text, for example, is displayed with a colorful halo around it with the URL embedded, accessible in a popover. You can create a link by surrounding text with square brackets or with the keyboard shortcut ⌘L.

Ulysses III is stunning to look at. It’s not distraction-free-douchy, but it definitely gets out of your way to let you focus on writing. Have a look at it:

Ulysses 3 Screenshot

Ulysses 2 looks comparatively:

Ulysses 2 Screenshot

Each of the two panes on the left side of Ulysses III can be folded underneath the editor window, allowing you to only focus on the document at hand. It’s simple and delightful to watch the app animate into place, which you can quickly invoke with ⌘1 (all panes), ⌘2 (Editor and current group) and ⌘3 (Editor only). In each view, the app will grow from the center out as opposed to treating the sidebar panes as drawers. This feels logical, though it’s the first use of such an animation I’ve seen in any Mac app.

The Kitchen Sync

Where Ulysses III really wins me over is its sync implementation. The app offers three sync options: iCloud, Daedalus and External Sources. There is also an On My Mac mode which keeps documents on your Mac, un-synced, though I’ve turned this off for the time being. Each comes with its own set of caveats. Let me try to lay them out simply:

  • iCloud: Mac-to-Mac syncing. Makes full use of the features described above as it syncs the entire Ulysses database.
    • Documents have to live in the Ulysses database, meaning they are not editable by other applications until you export them.
    • Identical to On My Mac, except items are synced.
  • Daedalus: Mac-to-iOS syncing (via iCloud) for use with Daedalus Touch.
    • No support for custom syntaxes, only straight Markdown.
    • No support for nested groups, attachments or filters (this makes some sense if you’re familiar with Daedalus’ interface).
  • External Sources: Allows you to read and write documents from anywhere on your system, like your Dropbox folder.
    • No support for custom syntaxes, groups, filters or attachments.
    • Will only parse Markdown text for documents with the extension .md; .txt documents need to be converted to .md to allow for syntax highlighting.3

If you prefer a Dropbox text editor on iOS like iA Writer, Byword or Elements, then you can use the external sources mode to edit your documents in Ulysses. However, this is the most stripped down experience you can have in Ulysses III. I think it’s a nice feature if you don’t use Daedalus Touch, but I think users trying to fit Ulysses into their workflow with it will end up being disappointed.

The sync with Daedalus Touch is phenomenal. I love being able to make edits on any device and have it stay in sync on all of them. In my experience iCloud does a much better job than Dropbox at keeping documents up to date. I can leave Ulysses open, even to the document I’m editing with Daedalus on my iPhone, and the changes will stay consistent, intelligently.

I’ve had varying degrees of success keeping sheet order in sync across devices. Right now if I reorder sheets in a stack on my iPad it will reorder the sheets on my Mac and iPhone, even while I’m looking at them. I’ve had less luck going the other way, though in my testing, like I said, I’m staring at my devices watching paint dry. Even from the last version of the beta I used sync has improved exponentially; I imagine edge case bugs like this will get squashed in future updates.

I’ve turned the On My Mac header off in the sidebar (you can also do away with iCloud and Daedalus, if you please). My thinking here is that I want to keep my documents in sync via iCloud. Technically my documents are still “on my Mac,” just in the Mobile Documents folder. There has been a lot of hubbub about iCloud being a terrible product, but I’m enamored of it for document syncing. I use CrashPlan to constantly back up my Mac, including the Mobile Documents folder, so I feel confident that, should something go awry, I’ll always be able to restore my Ulysses database. And for documents I’m extra worried about, I can always export them.

What’s Missing

Ulysses III is a 1.0 app. Since they wrote a brand new app from the ground up, some aspects of Ulysses 2 are missing. The biggest one you need to know about right now is universal search. You can search for text in a single sheet, but at present there is no way to search your entire database. The workaround right now is to create a filter with, but it’s not a real solution by any means.4 The Soulmen have promised this is coming in the future updates.

There is currently no support for auto-pairing of most characters. While ⌘I will surround your cursor with asterisks, Ulysses doesn’t intelligently pair parentheses or back-ticks. Square brackets, in addition, will create a link popover. If you want to use actual square brackets, you’ll need to escape them with backslashes (\[Like so\]), which is annoying, but in practice I rarely use square brackets outside of links, which Ulysses handles well. You can create TextExpander snippets to trigger auto-pairs, or you can create keyboard shortcuts for elements of custom syntaxes.

Typewriter scrolling and line highlighting didn’t make the cut for 1.0. I’d like to see keyboard shortcuts for the attachments menu, which is currently only accessible with the mouse. This makes sense for images, which have to be dragged into the app, but I’d like quicker access to keywords and notes. And it would be nice if they implemented something similar to TextMate’s Go to File… menu, which allows for quick search without ever taking your hands off the keyboard. These missing items may be deal-breakers for some, but I’m making do without them. What I get in sync-ability and organization more than makes up for it.

Wrapping Up

I use Ulysses III for almost everything I write now. Long-form writing, aimless yammering, quick things I don’t want to forget; it’s all going into Ulysses or Daedalus. It’s solid, beautiful and simple. And it’s only going to get better.

The Soulmen have now completely reinvented themselves. Many established Mac developers have tried to make iOS versions of their biggest apps because users have been clamoring for it. When Daedalus launched in 2011, I noted in my review that they had actually been working on an app called Ulysses Mobile at the time. I applauded their resistance to shipping that product at the time, but I had no idea that Daedalus would in turn influence Ulysses.

Ulysses is still on sale for $19.99 during their launch week event, but soon it will go up to $39.99. Go grab it5 and get back to writing.

Other Apps Mentioned in this Article

Purchasing any of the apps mentioned with the links below supports the candler blog. I thank you in advance:

  1. Which mainly add extended attachments and footnotes. ↩︎

  2. And that’s the last time you’ll hear me talk about Textile. Since I’m a Markdown writer, as far as I’m concerned Ulysses is a Markdown editor. ↩︎

  3. Gabe Weatherhead explains this best in his review. Be sure to check out the comments where Max from The Soulmen responds to him. ↩︎

  4. I’ve also got another workaround I’ll be publishing soon. ↩︎

  5. Affiliate link. ↩︎