Scrivener and Ulysses III — The Stuff of Writers’ Dreams

About two years ago I was looking for a decent application on my Mac which could help me create ebooks from my writing – mainly devotionals, blog posts, and studies I write for the congregation I pastor. I also was looking to create an eBook version of our weekly bulletin to augment our digital version.

My search led me to Scrivener, which I immediately fell in love with. Scrivener is far more than a eBook creator, it’s the writer’s version of Bat Man’s utility belt. Not only can it be used to write content, it also is useful for organizing research, keeping notes on character development and world-building, tracking changes, outlining, and a host of other tasks. It’s a work of programatic art.

In fact, there are only two obstacles which keep me from using Scrivener as my default writing app:

  1. About the same time I purchased Scrivener, my iPad became my default writing tool.
  2. Shortly after my iPad became my default writing tool, I began writing in the plain-text markup language known as Markdown.

While I’m certainly not typical in my writing habits, my iPad has become so in-grained in my work-flow that I find it difficult to write on my MacBook. The experience is not nearly as pleasant. On my iPad, writing feels like freedom. On my MacBook, it feels like work1. As such, while I’ve waited for the iPad version of Scrivener to appear, a novel I’ve started has been languishing for nearly two years2.

What would be ideal for me is a writing tool similar to Scrivener, which allows me to write in Markdown and has an iPad version. This would keep my writing work-flow in-tact, while giving me the extended power of a tool like Scrivener at my disposal. The problem was, such a tool didn’t seem to exist, and then I discovered Ulysses III.

Ulysses III is a writing-tool which, on the surface, is similar to Scrivener. It organizes writing in what it calls “groups” and “sheets,” converts text into different formats, allows the user to control the look of output, and generally organize ideas. The main difference, at first glance, is with the editor. Scrivener uses an RTF editor as it’s input window, which is more comfortable for word processor refugees. Ulysses III, on the other hand, utilizes a customized version of Markdown syntax in it’s editor. Given my love of plain-text writing, this appeals to me, but is Ulysses a better writing tool than Scrivener? The answer is, as with so many other computer-tool questions, “It depends.” Let’s look at some differences between the two tools to explore which tool might better fit your work-flow.


If you happen to be a Windows or Linux user then you may want to skip the rest of this post – it make make you envious. Scrivener currently runs on Mac, and Windows, and has an unsupported Linux version. Ulysses III, on the other hand, is Mac only – it also handles it’s full-featured cloud syncing solely through iCloud. The upshot of Ulysses III, however, is that it able to interface through iCloud with an iOS app called “Daedalus.”

File Handling – Projects vs. Database

When writing with Scrivener, users create “projects,” which contain different files and folders. The binder is where the files and folders which make up the actual content for a book or paper reside, but outside this binder any number of folders and files can be created. These can contain anything from images, character descriptions, research, world-building information, and project notes. Each project is it’s own contain system of files and folders. It’s a paradigm with which desktop users are familiar.

Scrivener UI

Upon first glance, Ulysses III uses a similar approach. The left pane of the window contains list of “groups” which look remarkably like the Binder pane in Scrivener. A slight difference, however, is that this pane contains an analogy to Scrivener’s folders only. It’s analogy to documents, called “sheets,” appear the interface’s middle pane.

Ulysses III UI

I quite like this arrangement, and the left and center panes can be easily hidden to create more space for the editor window. The first glance of the interface in Ulysses III is, however, misleading. While Scrivener makes each project it’s own separate set of files and folders which are not accessible by other projects, Ulysses III’s list of groups contains every bit of writing which has ever been done in the application. Special groups, called “filters” can be created which tie project sheets together through the use of flagged text, keywords, and other searchable metadata. It’s an interesting set-up, but I can see it becoming cumbersome over time – mostly because I can’t find a way to search or filter the groups in the interface. Sheets can be searched and filtered, but restricting the view to certain groups doesn’t appear to be possible 3. This means, after months and years, every group you ever created is going to appear in the Ulysses III interface, and I can foresee the sheer overwhelming number of potential groups to eventually become debilitating. If users could filter out groups so they could see only their current project, it would be a much better experience. As it stands at the moment, I’d much rather work in Scrivener’s paradigm. For a database approach to be practical it needs to be searchable and filterable at every level.

Editor – Rich Text vs. Plain Text

As was stated above, Scrivener uses a rich text editor which is akin to a traditional word processor. All the major features are present – including indents, character styling, paragraph spaces, and tables. Anyone used to working with a word processor will feel right at home in Scrivener’s interface. The main learning curve for writing is simply to remember to create a new document for each section of the material.

Ulysses III, again as stated above, uses a customized version of Markdown for it’s editor. Instead of rich-text character styles being accessed through shortcuts or interface buttons, they are handled by specific markup which appears in the text itself. Bold text, for example, is depicted by enclosing text in a double asterisk (double asterisk). Even more advanced features features, such as footnotes, images, and comments can be included in the text through the use of these tags. The desire is to create human-readable text which can be interpreted even without a piece of software to interpret the markup.

This leads, however, to one of my greatest struggles with Ulysses III. In heavily customizing it’s markup the application makes advanced features far more accessible than straight multimarkdown4 – footnotes, in particular, are handled splendidly. The problem with their approach, however, is that it removes Markdown’s greatest strength. Because it’s custom tags are not displayed when a group’s contents are opened in a plain text editor, it removes the ability to for a human to read unconverted text and understand it in any text editor. While individual groups of sheets can be converted into basic MultiMarkdown, including Ulysses custom tags, if the Ulysses III application somehow becomes corrupt or deleted the application-specific elements of the text will be inaccessible to the user. Additionally, syncing through an external source (such as a dropbox folder) will actually remove some features for the user. For example, images and footnotes are not available to externally connected sheets.

Ulysses III’s Markdown customization leaves me in a quandary. In some ways, I am amazed at the simplicity of what the creators of this tool have managed to accomplish through the use of their custom tags. On the other hand, their implementation removes true content portability from my hands. Granted, Scrivener’s rich text may actually worse in terms of portability5, but I also have no expectations of being able to treat Scrivener projects as truly portable. The expectation of portability probably makes the way Ulysses III handles their custom tags feel worse than it may actually be.

Exporting – Compilation vs. Stylesheets

One of the most confusing aspects for Scrivener is the process of compiling documents into a sharable format. This is partly due to Scrivener’s utilization of rich text editing in it’s writing window. Writers who are used to a WYSIWYG editor tend to assume the formatting they apply in Scrivener will automatically be applied in their compiled document, this is not the case. While certain forms of character styling (such as italics, bold, and underline) will carry over to the compiled document, paragraph styles (including paragraph spacing and fonts) generally do not. Rather, these formatting styles are handled through the compilation dialog. This dialog allows writers to change fonts for different sections, set up the appearance of document titles (or hide them completely), and automatically add text for section headings. Writers who want to have more control over the look of their documents can create preset styles in the rich text editor which have a “preserve formatting” option checked. Any block of text with one of these presets applied will have the formatting carry over when the document is compiled.

Scrivener Compilation Window

At first, the compile interface can be a bit daunting. It gives an immense amount of power to the user, but does so through a paradigm completely alien to many WYSIWYG-trained writers6. Once users grow accustomed to the seeing their documents in levels, each fitting into one of three categories (folders, documents with sub-documents, and documents), this dialog becomes a wonderful tool.

Ulysses III takes a wildly different approach to exporting documents from the application, which springs from it’s use of Markdown in the editor. Markdown was originally created to be a human-readable markup for plain text which could be quickly converted to html and posted to the web. Markdown isn’t concerned with presentation at all – it simply creates a document structure and indicates where character formatting should be applied. The presentation is passed on to a separate file called a stylesheet, utilizing a web-standard known as CSS7. Everything about the look of content is handled by the stylesheet, and can be changed on the fly.

Ulysses III Export Dialog

When exporting a document from Ulysses III, users tell the application which stylesheet they would like to use for the export8. Unlike Scrivener, there is no dialog for creating the style of exported texts within the application. Instead, users who wish to customize the look of their work must create a custom stylesheet using CSS. This is both a blessing and curse. CSS is incredibly powerful, it has been a key to the look of the modern Web. It’s also easy to read and pick-up. If a writer doesn’t come to Ulysses III with an existing understanding of CSS, however, it means those who wish to customize their documents will be forced to learn an entirely new syntax. While I had no difficulties duplicating a style and formatting it to my liking, this might be off-putting for some. Once a user sets up their stylesheets or finds a stylesheet from an excellent style exchange9, however, the process of exporting from Ulysses III is actually less daunting than Scrivener.


As stated in the introduction, which of these two applications is better for you depends entirely on your workflow. Do you enjoy writing in plain text and enjoy tweaking styles by hand in an editor? Ulysses III is hard to beat. Do you enjoy rich text editing and having all your research for a project present and organized, siloed off from your other writings? If so, Scrivener is probably the way to go. Either way, these are two tools which make writing a joy.

  1. Again, I’m not a typical user. I’m just speaking from my experience.
  2. The delay is not the fault of the developer, the project is absolutely immense.
  3. If I’m wrong, I’d love to know – this seems like an odd omission.
  4. The base markdown syntax doesn’t support advanced features like footnotes or tables. MultiMarkdown, however, does. Many people shorten this version of the markup to simply “Markdown.”
  5. This isn’t entirely accurate, Scrivener stores it’s documents as RTF files, which are able to be opened by just about any word processor. Saving files in RTF however, especially in mobile environments, is not as simple as working with plain text markdown.
  6. In reality, this shouldn’t be as difficult a transition as it it for many, but many people who use word processors as supped-up typewriters have never embraced the sanity-saving wonders that are paragraph styles.
  7. Cascading Style Sheets
  8. A similar feature is available in Scrivener through the use of saved presets.
  9. Ulysses Style Exchange


Add yours →

  1. You were right to advise not to read on for persons who have Windows. That statement led me to read further, and now I want to try Ulysses. I use Scrivener.

Comments are closed.

%d bloggers like this: