Maybe I'm biased because I'm a writer, but when it was announced in 2010, the iPad struck me as a device which could become a great tool for, amongst many things, my craft. A number of good writing apps (and accessories) have appeared in that time, but when I found Ulysses about a year ago, something clicked.
Made by an 11-person team in Germany called The Soulmen, Ulysses is pitched to authors, bloggers, students, and every writer in between. Much more than a typical 'distraction-free' Markdown editor that hooks up to Dropbox, I think of Ulysses as a writing environment. It has a full suite of tools including a post-Finder document system, the most thorough Markdown shortcut keyboard I've ever seen, the ability to split and merge documents, a unique approach to attachments, and so much more.
I'm writing this review because The Soulmen just released Ulysses 2.5 for iPad, Mac, and, for the first time, iPhone, though I'll focus on the iOS version for this review. The company told me this is the largest iOS update it's ever released, and having helped test the beta for the last couple of months and perusing the release notes, I believe it. Surprisingly, not only is this major upgrade that makes the iPad edition universal, it's free to existing owners.
With the modern maturity of the App Store and no shortage of writing apps with myriad specialties, though, how does a premium app stand out from the crowd?
Let's find out.
I call Ulysses a writing environment, though not really a publishing environment (more on that in a bit), because you're surrounded with a rich set of writing tools. Put another way, it's one of the very few apps that feels relatively complete. That doesn't mean it's finished or there's nothing left to fix or add. It's more that Ulysses leaves me with the fewest questions, frustrations, and frictions of any writing app I've used.
I should point out that if you're more of a Viticcian writer who uses Python scripts and Workflow to dynamically pull in data for charts and other impressive components, Ulysses probably isn't the right tool – it focuses largely on prose. According to The Soulmen's Rebekka Honeit, Ulysses users include novelists, book authors, bloggers (professional and hobbyist), journalists, scholars, students, technical writers, preachers, lawyers, and copywriters.
The foundation of Ulysses' environment is its panel-based organization system for documents, which are called "sheets" (there's a good reason for that in a bit). If you've ever used Finder's three-column view on a Mac, it should feel familiar. Even if it doesn't, the first thing you see once you open the app is a top-level "First Steps" section with a bunch of good core tips organized in sheets. It's a simple, clever onboarding to introduce your new surroundings.
Ulysses supports Groups (Folders) and sub-groups for organization, but things get interesting with Favorites and Filters. You can mark a sheet as a Favorite to make it appear in a dedicated, top-level Favorites section. It's a great tool for focusing on current projects and getting back to them quickly, and one of my favorite features.
One of the little things I like about working in Ulysses versus traditional files and folders is the ability to customize Groups with small icons. It's definitely a small detail, but I find it strangely handy. The (admittedly generic) apple icon on my MacLife group, and the iPhone icon on my groups for Finer Things in Tech and now MacStories, help me identify them more quickly.
Filters in Ulysses are similar to Smart Folders in OS X's Finder. You can create them in any group or sub-group to search for keywords and basic metadata like date created and edited, and focus them on any other group. They don't have as many criteria as Smart Folders, but they're useful enough to open quite a few doors for busy writers with large libraries.
Now for the fun part: your library is stored in iCloud. In fact, Dropbox isn't even an option. While Ulysses does support iOS 9 Document Providers, the files you open from other apps will live in a separate "External Files" section, and they're treated more like imported files, not something constantly in sync with other devices.
Fortunately, in my experience of using it for nearly all my work across Mac and iPad for the past year (and iPhone during the beta), sync in Ulysses is probably the best, fastest, and most reliable iCloud experience I've had.
My biggest complaint so far about sheet and group organization in Ulysses is a lack of an archive option. To be fair, this concept doesn't seem to be a thing in most text editors or OS X. Even Google Drive lacks it, which is especially disappointing since Google practically invented, or at least popularized, archiving in modern consumer products with Gmail.
But as my projects and library have grown, I found myself wishing for a way to archive aging pieces that I no longer need within easy reach, but want to retain for posterity. To this end, I decided to bring over a Finder habit and create an "archive" group, with sub-groups all named "project archive," and moved older sheets accordingly. It works, but it's tedious, and I'd love to see Ulysses gain something official to solve this problem.
When it comes to actually writing, Ulysses has a powerful editor that supports Markdown in a few unique ways. For starters, it crosses the bridge between writing strict text Markdown and displaying it in style, which The Soulmen refer to as "plain text enhanced."
For example, if you use underscores for emphasis, those words will appear italicized in between those underscores while you're writing. If you add a link, a simple popup editor appears to help you add the URL and optional title. But when you're done, the linked words take on a highlighted aspect, obfuscating the URL from your actual text. There's also a great trick here: if you select some words and paste a URL from your clipboard, Ulysses does the right thing and creates a proper Markdown link. This is even more convenient on an iPad with the dedicated paste button in the keyboard shortcut bar.
Throughout my career, this has been a divisive topic among the writers I know. Some prefer to write in completely in HTML (yes, I think they need to consult a physician), while others like the cleaner look of Markdown. I realized years ago that I prefer writing and proofreading in rich text because I get to see the text and flow the way my readers will.
Eventually, I warmed up to Markdown as a compromise for writing text but dealing with HTML-based CMSes. If you like writing this way, or are considering trying it, I think Ulysses walks this line really well.
For the distraction-free fans in the room, Ulysses offers some great options, most notably a full-screen mode which hides any visible sidebars and most of the top toolbar interface. On the opposite side of that coin, if you could use some distraction or a second app for research, chat, or anything else, Ulysses 2.5 brings full support for iPad Pro and Split View.
A handful of themes, including a night mode, can set your preferred mood. If none of those fit your workflow, you can download plenty more user-created themes from the Ulysses style directory. Unfortunately, you can only create themes with the Mac edition, but you can download them on any device. Of course, I hope The Soulmen bring theme creation to iOS down the road.
Ulysses offers even more editor customization, though. You can control line height, paragraph spacing, and text zoom, as well as whether some core Markdown features trigger, such as automatic lists when starting a line with a dash. Traditional book authors in the audience can add indentation for the first line in paragraphs.
If you're a fan of alternative markup styles like Textile or Minimark, Ulysses has you covered. In fact, the default markup is Markdown XL, a slight modification of John Gruber's Markdown that supports things like annotations and footnotes. If you ever switch markups in the middle of a sheet, Ulysses will make all necessary tag and markup conversions.
Speaking of unique advantages, Ulysses also supports in-line images. A popup tool similar to the link tool appears to help you add image metadata, and you can choose from supported Document Providers. In-line images work when exporting to PDF, DOCX, and ePub formats, though not if you copy as plain text or HTML. But I'll get into moving your work elsewhere in a little bit.
Finally, Ulysses is one of the (too few) apps that support custom fonts in iOS. If you have a TTF or OFT file laying around in something like Dropbox or iCloud Drive, you can use the new Ulysses app extension to open it in the app and install the font for the rest of of iOS apps that support them. In fact, all my Ulysses writing is done in Museo Sans (thanks to Justin Williams for introducing me to it back in the day with Elements, the first iOS Dropbox text editor, may it RIP).
The Shortcut Bar
Ulysses has the most thorough Markdown bar I've encountered in a writing app, offering shortcuts for nearly everything I am aware Markdown can handle, including options for code blocks, indentation, and even special characters like (+) which can be tedious to reach on some devices. Previously, the bar was implemented in a fairly standard form, sitting in a dedicated space above Apple's typing suggestions bar.
In Ulysses 2.5, the shortcut bar has been significantly redesigned on iPad and integrated directly into Apple's typing suggestions bar (on the first-ever iPhone version, though, it's still an extra bar above Apple's text suggestions due simply to less screen space). This brings the advantage of recovering some horizontal space for viewing another line or two of text and, as far as I can tell, it retained every command from the previous implementation.
The drawback, however, is that all commands have been condensed into three buttons on the right side of the bar. As a user of the previous version, I'll admit it took me some time to get used to this shift, but now I like it. Commands were pretty spread out in the previous iteration, sometimes feeling arbitrary and tough to find or rediscover. Now, with just three top-level sections, the organization makes more sense. Once I remembered that nearly every command required two taps in the previous iteration anyway, this new design clicked, and it's easier to find commands if I haven't used them in a while.
On the left of the shortcut bar are Apple's standard undo, redo, and paste options, as well as two of of my favorite custom Ulysses tools: an in-document search tool and a metrics bar. The Search tool brings up a bar with a couple modifiers, as well as a very, very welcome find-and-replace option.
The metrics tool offers the standard character and word counts, but it goes much farther by offering a number of other counters you can toggle. There are paragraph and page counters (for those who publish on trees), as well as four new "reading" metrics: slow, average, aloud, and fast. These are a great idea that I think appeared first, or was at least popularized by, Medium, and it's nice to have them available no matter where you're going to publish.
One of the significant ways Ulysses stands out and earns its price tag is with a variety of feature, power, and polish in the vein of what I've already mentioned, spread throughout the app. In my experience with nearly every app you could name, you'll be hard-pressed to find much of this elsewhere.
If you have reason to not trust iCloud but you're still reading, Ulysses features a great automatic backup system similar to Time Machine for a Mac. It includes hourly backups for the last six hours of work, daily backups for the last five days, and weekly backups for the past two months.
You access this system from the top level of your library, where you first started in the app. Tap the Backup button in the lower left and the library pane flips over to the backup interface, while a black and yellow hazard bar appears at the top to drive home the notion that you're not just editing your current sheets anymore. In the left pane are timestamps for each of the aforementioned periods, and tapping one will display your library as it was at that time. Restoring sheets is relatively painless, and tapping Done in the upper right of this pane will return you to your present library.
Again, I've never had a real problem with Ulysses (or its iCloud backend) losing data. But it never hurts to have a safety net, especially in a professional writing tool.
One of Ulysses most significant strengths is a notes and attachment panel on the right which brings some great organizational power. It contains four tools: Tags, Writing Goals, Notes, and Attachments.
Tags are fairly straightforward – you can add multi-word keywords to your sheets for all kinds of organization and filter purposes. For example, when I write short tips posts for Finer Things in Tech, I tag them similar to the way they're tagged on the site, including tags like OS version, "iPhone app," and "gestures." Then I have a couple filters in their corresponding groups for things like iOS 9 and iPhone apps to make research easier down the road. With 2.5, Ulysses now displays those keywords in sheet lists, and the action menu (accessible by swiping left on a sheet in a list) now has an option to edit tags right from the list.
Writing Goals is another of my favorite Ulysses features, and it does exactly what it might sound like. You can set a goal for any number of metrics, including words, sentences, lines, paragraphs, and pages, then set a limit of "about," "at least," or "at most." Your progress towards this goal is displayed as a colored pie chart in the sidebar, and any sheet that has a goal gets a small badge of that chart on it in a sheet list.
Even better, if you're working on a large, multi-sheet project like a book or, say, a lengthy review of an iOS writing app for MacStories, you can assign a goal to an entire Group. That Group also gets a small badge counter when viewing a list of Groups.
A clever touch is the share option. If you add a word count goal and tap it in the sidebar, a share button allows you to post an update on your progress to any app or service that supports it, complete with a color photo of your word count pie.
Notes and attachments are fairly straightforward. You can add snippets of ideas and things to remember, or perhaps a basic outline for a sheet, as simple text notes. While attachments has a photo icon, you can add a few other types of files (such as PDF, but not all types) from a Document Provider, allowing you to keep other relevant materials close at hand and easy to Quick Look for reference or to share. While Dropbox isn't much of an option elsewhere in Ulysses, it can provide supported documents as attachments.
The nice thing here is that, while this sidebar contains four tools, everything you add appears in one single sidebar, chronologically. If you add some tags, a word count goal, and an attachment, they will all appear vertically, in the order you added them. I really like the convenience of this, so I don't have to flip between sections just to review all of this, but I wish there was a way to order these things. I'd love to tell Ulysses to always place my tags at the bottom of the sidebar, allowing any word count goals and attachments to take priority at the top.
Management and Exporting
Ulysses document management goes beyond groups, sheets, and filters. A big part of the reason The Soulmen went with a "sheets" metaphor is because of a variety of ways to split, combine, and export your work.
For example, most book authors I've seen who use Ulysses will use multiple sheets for the entire book (based on something like separate chapters), then merge them all or export them all as one large PDF or ePub. Update: I previously lamented that you could not split sheets on iOS and asked for the feature to arrive in an update. Turns out it's already here: simply long-press anywhere in a document, and the text menu that appears has a split option. Your sheet will be split at that point, and the lower portion placed in a new sheet.
Speaking of exporting, when it's time to take your work to its next step, Ulysses supports a wide variety of formats and customizability. It also takes a unique approach by merging the preview and export tools into a single screen that updates live as you change formats and features.
Of course, you can export your work as plain text, including Markdown and even TextBundle, a new plain text format that supports in-line images. Things get more interesting when you dabble with the HTML, PDF, ePub, DOCX, and now Medium, new in 2.5. Ulysses provides a number of contextual customization options, including full HTML or just a "snippet" version which lacks things like header and body tags (great for converting Markdown to paste into most CMSes). A gripe here is that, while Ulysses supports annotations and footnotes, it's only when using Markdown XL and exporting to PDF or DOCX. I think this would make some respectable waves if annotations and footnotes came to HTML export.
The other formats can set things like author and even cover photos. The new Medium support is impressive, as well, since it's the first direct publishing option Ulysses has ever had, and it even supports multiple Medium accounts. I am a little bummed, though, that WordPress – which now claims to power 25 percent of the web – didn't show up first, or at least in tandem.
App Extension and Automation
For the first time, Ulysses 2.5 has an app extension and support for a variety of x-callback actions. Combined with its dedicated Inbox, Ulysses can serve well as a single tool for collecting writing ideas and bringing them to fruition.
I typically use Drafts to collect nearly all my ideas, including stuff I want to do around the house, potential tweets, and most things in between. Thanks to a Launch Center Pro shortcut and, more recently, Drafts' Apple Watch complication with speech-to-text dictation, this works great. But since I got into the Ulysses 2.5 beta with iPhone support, I've experimented with using the extension and Inbox to collect things I know I want to write about, and I like it. I'll still use Drafts for other things but these additions to Ulysses have certainly inspired some tinkering with my workflow.
The callback support features the usual suspects: you can create actions in Launch Center Pro and Workflow to create new sheets, groups, and filters. But you can also open Ulysses and skip straight to your Favorites or the dedicated Last 7 Days section, another way Ulysses helps you save time and get straight to your current projects.
I do have a complaint here, combined with the aforementioned attachments sidebar. While you can select text in other apps, trigger the app extension, and import into Ulysses as an impetus to write, the extension stops short of letting you add supported file types as attachments to existing sheets. I don't know if this is a limitation of iOS, but I'd love to have this option. To be fair, Apple's new Notes extension can append new text to existing notes, but I wouldn't be surprised to hear adding something from other apps to an existing document is a private API for now.
I won't spend a lot of time on this section, but Ulysses is one of those rare apps that is truly polished through and through.
The search and metrics bars animate in and out to get your attention. Sheets with word counts have a small, live badge in the upper right that stays grayed out most of the time, but gains color once you get close to your goal, and turns red if you go over. Sheets in list view get a cloud indicator when they're uploading or downloading changes, and yes a little arrow inside the cloud indicates whether changes are going up or down. The First Steps sheet about adding notes in the sidebar has a note that quips about thanking you for reading it, because it hasn't been looked at in a while. When you hide the keyboard, the markup menu at the bottom right of a sheet describes why you might want to use the other markup options.
It goes on and on. Some of these things are large, some are small. But collectively, they add up to a fantastic experience you just won't see elsewhere.
The Mac Version
Since this is an iOS review, the Mac is another section I won't spend much time on, but it's worth every penny all on its own. The interface is largely the same so you should feel at home on any platform, and Rebekka told me iOS and the Mac have near feature parity. The only significant differences are the aforementioned abilities to create and share custom themes, and to split an existing sheet into multiple sheets.
I mentioned a few improvements I would love to see come to Ulysses, including WordPress support and an official archiving system. The only other major improvement I'd like to see is support for exporting one's work to other apps, complete with Group and Sub-Group hierarchy.
I don't plan on going anywhere anytime soon, but since Ulysses creates basic text files, our work should be fairly portable. Who knows what will happen down the road. Even if this feature had to remain Mac-only due to current iOS limitations, this option would be a welcome safety net for those who decide or need to move elsewhere.
If you haven't pieced it together yet, I'm a very big fan of Ulysses. The combination of post-Finder organization, rich text editing, and flexible export options means I can start nearly all of my professional and personal writing in Ulysses, yet send it along to its final destination, no matter where that may be.
Before the 2.5 beta, my tech writing and content strategy workflows often spanned multiple apps depending on the project at hand. Without iPhone support, I occasionally had to avoid Ulysses altogether. Now I don't have to, and my workflow feels so much swifter and simpler because of it.
Ulysses is certainly not perfect, but what app is? If you need more than a basic text editor and a Dropbox folder – and I wager you do, even if you don't know it yet – I cannot recommend Ulysses enough. It is clearly built with a true love for writing by a company that listens to and takes care of its customers. Your writing, and your readers, will be better for it.
Ulysses 2.5 is available on the App Store.