by Jason Snell & friends

Review: Ulysses for iPad and Mac

[Mitch Wagner is a technology journalist who lives in San Diego with his wife, dog, and three cats. They don’t remember deciding to get quite so many animals. He socializes on Google+, Twitter, Facebook, and Tumblr. He’s completed writing one science fiction novel and nearly done two more and plans to publish them sometime. He does most of his writing and other work for Light Reading, which serves the telecom industry – the companies formerly known as phone companies.]

The father in Stephen King’s Cujo runs a small ad agency. He creates an ad for skin-diving gear featuring the photo of a tough guy and the phrase “MISTER, I DIVE FOR A LIVING, I DON’T MESS AROUND.”

When I read about Mac writing apps with “beautifully minimal” designs, or an app that is “your own private writing room,” I roll my eyes.

Mister, I write for a living. I don’t mess around.

Until recently, I’ve been dissatisfied by every writing app I’ve tried for the Mac. Some are too complicated (Word, Scrivener, BBEdit). Others are too simple — they don’t do enough (Byword, TextWrangler, etc.).

I was intrigued by Ulysses III, by The Soulmen, when it came out in 2013, and I gave it a try right away. But it just seemed too weird to me — too different from other writing apps that I was used to.

No, not these soul men.

However, when I heard in December that Ulysses was coming out with an iPad version, I gave it another try. I do a significant amount of writing on the iPad, and I liked the idea of using the same app and accessing the same document store in both places.

And this time I was hooked. I’ve been using Ulysses as my primary writing software since then, for all my important writing and much of the extemporanea I toss off on social media too.

The iPad version of Ulysses is now generally available, as is a newly updated Mac version. The iPad version is $19.99, and the Mac version is $44.99, with free upgrades for existing users. You can download a free, fully-functional demo of the Ulysses app on the developer website.

The iPad version is essentially the same as the Mac version, with almost all of the important features retained.

That’s the great strength of Ulysses: It’s a good writing app that’s pretty much the same on both the Mac and iPad. They look the same, they work the same, and the iPad version does almost everything the Mac version does. Even the keyboard shortcuts are the same, if you use an external Bluetooth keyboard for the iPad.

Here’s the window of the Mac version, showing a draft of this article:

Now here’s the same thing on the iPad:

You can see how similar the desktop and iPad versions are1.

I had to use two screenshots on the iPad to get it all in because of course the screen on my iPad mini is much smaller than my desktop computer. On the iPad version, the panes of the app slide back and forth with a swipe to shift between views.

To get information between the Mac and iPad, sheets sync automatically in the background, without your having to worry about it. (Except when they don’t—see below.)

A new Mac version, too

Ulysses 2, the new Mac version, is pretty much the same as its predecessor. The chief difference is cosmetic, a flat Yosemite design. Soulmen also says it syncs faster than the previous versions. I haven’t noticed much difference — the old version synced plenty fast.

The new Mac version also has a new version numbering scheme. The previous version, Ulysses III, was of course the third major version of Ulysses. It was a drastic rewrite of the software. Then came Ulysses III 1.1 and Ulysses III 1.2. Now Soulmen is dropping the III and just calling the app Ulysses 2.

Got that? Ulysses 2 comes after Ulysses III. Soulmen’s numbering scheme makes Windows versions look clear-cut.

A main difference between Ulysses and other writing apps is that Ulysses doesn’t store its documents as files in the Mac finder. Well, actually, that’s not true — it does — but you have to dig deep into the /~Library to find the files.

Ulysses calls its documents “sheets,” as in sheets of paper, and organizes them using its own self-contained library. It’s very much like Evernote in that regard (although not bloated and slow as Evernote has become).

The app itself has a three-pane interface, similar to Mail. On the left, you have the “sidebar,” your directory of sources where sheets can be stored. (The app screenshots above will show you what I’m talking about.)

Sheets can be stored either in Ulysses’ library, which resides in iCloud and syncs across multiple Macs and your iPad, or externally from Ulysses on your drive or in Dropbox or Box folders. However, sheets stored outside of Ulysses are stored as regular Mac documents, and lose some of Ulysses’ special features, such as embedded images and attachments.

Sheets can be organized in Groups, which are like Finder folders. And they can also be organized in Filters, which work like smart mailboxes in Mail or smart playlists in iTunes — they’re saved searches.

The second, center pane is your list of sheets, shown vertically, displaying the first 1-6 lines of text (the number of lines of text displayed is user-configurable). Ulysses lets you attach keywords to sheets, like tags in Finder, and you can display those in the second pane of your app window. You can also display document goals, showing the number of words you want to write for each document,2 as well as the date last modified.

Notice anything missing? Document names. Ulysses doesn’t use them. Or, rather, it does use them, but the document names are a string of gobbledygook letters and numbers hidden deep in the Finder, where the typical user will never see them.

Instead, when you open a new sheet, you just type, and you find the sheet again by its location in the stack of sheets in the sheets pane of the app, or by searching for text contained in the sheet.

This is a small matter but I find it a big part of the appeal of Ulysses for me. For some irrational reason, not having to mess with filenames just makes the whole writing process seem more fluid and faster.

Sheets can be listed alphabetically by the first characters of each sheet, by date, or sorted manually. Mostly I just sort them by date, with one big exception: I’m working on a novel in Ulysses, and I sort the sheets in that group manually, scene by scene.

On Ulysses for iPad, your sheets are sorted either manually or in the position they appear on the Mac. You can’t switch to sorting alphabetically or by date. Soulmen is working to address that drawback it in a future version.

The third column in your Ulysses app is the editor, where all the writing happens. You’ll spend most of your time in the editor.

Ulysses is a nice-looking app. Earlier, I ridiculed people who weep tears of joy at the beauty of writing apps, but I appreciate design. I’m not a barbarian. Ulysses makes nice use of color, and fonts, and other designy doodads. You can configure your own themes or download themes from the Ulysses website.

Another great strength for Ulysses: All your writing is in plain text. Or rather, as the folks at Soulmen say, “plain text enhanced.” Soulmen has authored its own version of Markdown, called Markdown XL. This markup syntax is standard Markdown with a few of Soulmen’s own extensions.

Markdown XL comments.

In addition to the standard family of Markdown formatting, you can use Markdown XL tags to add comments to a document, surrounding each comment in ++double plus signs.++ Comments show up in a highlighted color, and they’re not exported to your final document. You can also add annotations, which appear at a point in the text when you hover your mouse over that point, and add notes to whole documents. I don’t mess with annotations and notes — I like for my comments to jump out at me.

While writing in the editor, Ulysses lets you embed images, PDF documents, and videos in your Ulysses sheets, as you can do with other writing software. You drag-and-drop the image in place, or just type (img) in your document and Ulysses prompts you to locate the file you want to add. Almost everything in Ulysses is done by typing in the editor (along with swiping on the iPad) — it’s one of the app’s great charms.

Ulysses has another trick in the way it handles media embeds: You don’t see the image or other media in your document. Instead you just see an IMG tag. Double-click on the tag and you see a popover that gives you a thumbnail. Click on the thumbnail and you open the attachment in Preview on Mac (or another viewer, if you’ve set another app as your default), or in the native viewer on your iPad.

Here’s what an embedded image looks like.

I find this to be a great approach. I often embed images in my articles, but don’t like to have to look at them while I’m writing. The IMG tag keeps them out of the way, but available at with a click for me to work with them.

I’d like Ulysses more if it also supported Microsoft Word and PowerPoint attachments, which I often use as research materials in my work.

Similarly, Ulysses supports footnotes.3

You can customize Markdown XL to your own liking, and create your own markdown syntaxes for special purposes.

One really nice feature that I use quite a bit in Ulysses: Smart Paste, which lets you paste in text from external program. Alas, Smart Paste only works on the Mac version. It works like this: You copy text from a Word document, email, or a Web page, then switch to Ulysses, select “Paste From” on the Edit menu, and get a choice of HTML, Markdown, or Rich Text. Select the format of the source, and everything is pasted in place, nicely formatted in MarkdownXL.

If you want to reopen a sheet you’ve previously been working on, you can do it in a couple of ways on the Mac: One method is to navigate to the sheet in the sheets list. Another method, often better, is to type the keyboard shortcut Cmd-O. A popup will appear containing a text box — it looks like the Spotlight or Alfred window. Type some text from the sheet you’re looking for into the window, and sheets containing matching text appear below the window. Select the sheet you want.

You can also search for Ulysses documents on your Mac using Spotlight, or a third-party search tool like Alfred.

This feature isn’t available on the iPad.

Share with the world

Once you’re done writing, you’ll want to share your work with the rest of the world. Ulysses gives you several options.

I write for the Web, so here’s how I do it: I select the text of an article and then select “Copy as HTML” from the Ulysses menu. Ulysses automatically converts Markdown XL into HTML and copies it into the clipboard. You can do the same with Markdown, plain text, and RTF.

Another way to get your writing out of Ulysses is to save it as a document file or files. Ulysses lets you export sheets in plain text, HTML, ePub, PDF, or RTF.

Ulysses lets you customize styles for document exports, changing fonts, colors, spacing and other design elements. Ulysses has a gallery of free styles already available on its website.

Other features of Ulysses:

Merge and join sheets You can merge two sheets together into a single sheet, or split a single sheet into multiple sheets. Or you can join sheets that are adjacent to each other in the sheets list. Joined sheets remain separate, but they share some properties in common, such as word-count.

I really liked merging, joining, and splitting sheets when I read about Ulysses, before trying it. It sounded beautifully fluid and chaotic. In practice, I only sometimes use splitting, and almost never merge and join sheets. It turns out that’s not how I write.

Full-screen mode with dark background and light text. I don’t use that. Mister, I write for a living. I don’t mess around.

Typewriter scrolling On the Mac, the line you’re working on stays in the same spot onscreen, while the document moves up and down. You can set typewriter scrolling for the top, middle, or bottom of the screen. I like Variable scrolling, which seems to just put the current line in the best possible place onscreen.

Daedalus is a simplified version of Ulysses4 for the iPhone and iPad. It syncs with Ulysses. It’s superseded now on the iPad by the new Ulysses for iPad. Soulmen is working on an iPhone version of Ulysses, but until then, Daedalus is relevant for the iPhone.

Daedalus syncs to Ulysses, but not the other way around; but it’s a good way to write documents on your iPhone and get them to Ulysses easily. I keep thinking I should use it, but I never do.

Text statistics give you character count, word count, number of sentences, number of paragraphs, and so on.

Keyboard toolbar on iPad. The iPad version provides a toolbar above the keyboard for special characters. It looks like this.

Now the bad news…

Ulysses does have problems.

Syncing bugs. On two separate occasions, my documents didn’t sync for several hours. I don’t know why syncing stopped, or why it resumed. Killing the app on the iPad and restarting it seemed to force a re-sync.

So far, this has merely been an inconvenience, but it could turn into something that makes me want to dump Ulysses in the future.

The one time I lost a sheet. A couple of weeks ago my only desktop computer, an ancient 2010 MacBook Pro5, had a software meltdown, and Yosemite had to be re-installed from scratch. My most recent backup was at the beginning of that day, so I lost several hours of work, which included one important Ulysses sheet.

This is probably not Ulysses’ fault. Still, it would’ve been nice if Ulysses had synced the sheet to iCloud and then it appeared in my newly-rebuilt MacBook Pro.

The one time I thought I lost a sheet, but saved it. I tried to open a sheet, but got an “unable to open sheet” error message. Ulysses helpfully told me which line it barfed on.

I found the sheet using Spotlight on my Finder, opened it in TextWrangler, deleted the offending line, and Ulysses opened the sheet fine. I re-pasted the offending line back in Ulysses, and we were back in business.

I should note here that Ulysses support was very helpful and responsive in both these instances, along with several other occasions when I nagged them with questions and support. They’re in Germany and I’m in California so there’s a timezone difference, but I hear back from them in about 16 hours.

That one time I thought I lost a sheet, but didn’t. I’m typing along at Warp Factor 66 and suddenly POW I’m looking at a blank window and the message “No Sheet Selected.”

After panicking over all that lost work, I opened the sheets list, easily found the sheet I’d been working on, and got back to work with not a single character lost .

This has happened several times, and it’s merely annoying — now that I know what’s happening. The first time it happened it, I almost had a messy and embarrassing accident.

Maybe I mashed the wrong keys? I can’t figure out which keystrokes are the problem. Soulmen say they’re looking into it.

Missing features in the iPad version

The iPad version stores your library in iCloud by default. It also supports Box and OneDrive for external sources. However, it doesn’t support Dropbox.

You can import documents from Dropbox and export to the service. That’s not as fluid as sync, but it should be good enough for many purposes.

The iPad doesn’t currently support searching through all sheets (though it supports searching in an individual sheet). However, you can still find sheets in the sheets list. And there’s a workaround for search on the iPad: You can create a Filter, which is a kind of saved search. The Filter will locate your sheet for you. Once you’ve got it, optionally delete the filter to reduce clutter.

Also missing from the iPad: Attaching goals; splitting, merging, and gluing of sheets; creating styles and themes; typewriter scrolling; smart paste; and importing RTF and HTML files. None of these missing features matter to me; they might to you.


“Futureproofing” is a fancy computer-industry way of saying, “Can I get at my sheets if I stop using Ulysses?”

The answer is, “Yes, but.”

As I said, Ulysses supports exporting to various standardized document formats.

Also, Ulysses sheets are stored as plain text documents. Each sheet appears to be a folder stored in the Library with two documents, one a plain text file containing just the text of the sheet, another an XML document — plain text with a lot of embedded tags that look very similar to HTML — containing the text, with formatting and other metadata. The folders don’t have human-readable names — just random-looking letters and numbers like this: “30c055adc8914da38d27ac33b4048860.ulysses” (that’s a real example).

You can find any sheet you’re looking for by searching using Spotlight for text appearing in that sheet. Then you can open the sheet with any text editor, such as TextEdit. So your information is readable to other applications. It just might not be conveniently readable.

Futureproofing is a big worry for me. And that’s why it might be dumb for me to do all my writing in Ulysses — sure, it’s possible for me to get my writing out if I stop using Ulysses. But is it practical?

However, that’s a problem for another day. Overall, while Ulysses has rough edges, I’m happy with it. It’s fast, streamlined, and easy-to-use. It’s a good choice for people looking for a simple writing app with versions for both the Mac and iPad.

  1. You can also see that the editor of this story shortened the lede and took out the Stephen King blockquote. Editors, whatcha gonna do.—j.s. ↩

  2. I don’t use goals much. Mister, I write for a living, I don’t mess around. My goal is to finish writing for the day so I can have dinner with my wife and watch Justified. ↩

  3. I like footnotes.  ↩

  4. Or, rather, Daedalus came first — Ulysses is based on Daedalus.  ↩

  5. Abraham Lincoln wrote the Gettysburg Address on it.  ↩

  6. Any faster than that and the engines canna stan it.  ↩

Ads via the DeckAds via the Deck

Some other recent Six Colors posts you might like: