Comparing Ulysses with Write
(Originally posted on 2014-06-08)
Ulysses III, referred to as Ulysses for the rest of this article, has just been updated.
Write: A Note Taking & Markdown Writing App, referred to as Write for the rest of the article, has just been released.
I thought this was a good time to do a comparison between these applications, and their features. The goal is to locate what these apps are good at, what they are not so good at, and how they fit into your writing workflow.
This is what I am going to cover:
- Stated Purpose of the Product
- Proprietary database
- Markdown support
- Advanced features
Stated purpose of the products
Ulysses is a writing environment. The developers of Ulysses, are not specific about the kind of writing they are supporting. It is geared towards writing your notes, your blog posts, your daily diary, your epic novel, anything you want. Ulysses is designed to support all your writing. You write in it and export to any format you want.
The goals of Write are comparatively modest. Ostensibly, it is geared towards maintaining your notes. You can add any folder you have on the hard drive to it, and you can access your files through it. You can access files in your Dropbox folder, your iCloud folder or any local folder on your hard drive. It reads all kind of text files, plain old txt files, md or markdown files, and even fountain files.
This is the elephant in the room when it comes to any discussion of Ulysses. If you are going to use the full features of Ulysses you have to let it manage your files in a proprietary database. You write in it. You export to whatever format you want, but the files itself are not available to you in any other program.
The people who work in text files are interested in text files for a variety of reasons. One of the reasons is that they can work on their files with whatever program they choose and the file format is universal and well supported, and that gives them freedom from relying on any one program. That freedom you have to give up if you adopt Ulysses as the main weapon for your writing.
Ulysses is revolutionary. It is trying to achieve things which no other competitor in the space is attempting. It is trying to redefine the notion of markup. It is letting you for all intents and purposes refine your own markup and providing you an environment where you can work in your own markup and then export to any format you want. But to achieve this, you have to make the trade-off. You have to let Ulysses be in charge of your files.
Write doesn't do this. You have your files in folders, Write lets you access, edit and add to your files. The files are text files, markdown files or fountain files. They are all accessible by any program you prefer including Write. For those of you who are used to text editors like SublimeText or BBEdit, Write acts as a project which maintains your folders with text files in them. There is no proprietary anything. The files are universally accessible and Write just acts as a manager of your files.
Which system is better? For me, it is Write. I don’t like being tied to one program for my writing. Files being universally accessible is a feature which is important to me. So, I like Write. However, I find myself using Ulysses all the time. I came up with a compromise. I like working in Ulysses, and didn’t want to give it up. So, I write in Ulysses and then when the writing is done, I export to a markdown file which resides in a folder managed by either SublimeText or Write. It is my attempt at having the best of both worlds. It works.
In the latest update, Ulysses has considerably improved its handling of external source files. What does that mean? Ulysses has the ability to manage both files in its proprietary database and also text files in folders which already exist on your Mac. These latter files are the external sources I am referring to. They have now included the ability to have inline links in these external sources and have moved away from the disgusting habit of changing your external files without asking you. However, in my use of the program, I have noticed that it is considerably less stable than it was previously and the option to choose inline links over reference links is not sticky through crashes. You choose inline links. The program crashes and the preference reverts back to reference links. Very irritating behavior. I am sure they will fix it in a future update.
Write supports MultiMarkdown 4.0. For those of you not very cognizant of markdown, this means that Write supports tables and some other extensions provided by Fletcher Penny's implementation of Markdown. At its core, Write is a very capable multimarkdown editor.
Ulysses can't make up its mind. It wants to ride the wave of the markdown editors, but it doesn't want to support all of the markdown specifications. It has its own biases and preferences that it brings to the support of markdown (like classifying its support of inline links as supporting the lowest common denominator). It has improved its support of links, and supports footnotes but it still doesn't have table support. I think at the bottom of it, Ulysses is much more interested in letting you define your own markup and working in your own specifications, than adhering to some pre-defined set of rules of markup.
If you are looking for a strictly markdown-based text editor, Write wins this battle.
In this section, I want to address some of the more advanced features of both editors and make some comments about them. This section is going to be fairly large, so grab a coffee or your choice of beverage.
Write supports MultiMarkdown 4.0. Ulysses supports elements it wants to support. No table support is the glaring omission in the Ulysses toolbox.
2. Full Screen
This is the distraction free mode that is popular in writing applications. Both programs do a very good job of supporting full screen mode. Write implements a variation to the usual full screen mode by providing the user a choice of the width of the text area in full screen mode.
It is surprising useful in that it gives the user the choice and I seem to be fond of the medium width setting.
In Ulysses you can implement this by changing the page width to however many characters you prefer. The same width holds true for both the windowed mode and the full screen mode.
3. Dark Mode
Write does not bother to implement a dark mode. The theme specification makes it appear that there is an option to include it but the program seems to ignore the background specification in the theme file. It was present during the beta stages, but the presence of a visual glitch might have forced the developer to dump this feature before launch. I am sure it will reappear in a later version.
Ulysses and its themes do a fantastic job of implementing dark mode. Every theme has a built in light and dark mode. It is the perfect environment to write in. If you write in the evenings or at night, you are going to rely on dark mode to keep the glare of the monitor down and give some relief to your eyes.
4. Typewriter Scrolling
Write implements this too. Typewriter scrolling however is taken to a completely different level by Ulysses. It is a kind of variable scrolling which lets you set the point at which you want the screen to scroll. Once you have tried this mode, you are going to wish that every editor had implemented this feature. Typewriter scrolling by Ulysses is the feature done right.
5. Unified Library
Write implements this better. Click on the + sign and add any folder on your hard drive to Write. Doesn’t matter whether the folder is only on your hard drive or backed up to the cloud through Dropbox, Box, OneDrive or GoogleDrive. All the sub-folders and files in the folder are now accessible in Write.
I have been noticing that a few people on Twitter are wondering whether Write can be a replacement for nvALT. If you ask Brett Terpstra, he will probably say that he doesn’t see nvALT as competing with Write. nvALT, competes much more with Evernote, than it does with Write. He is right in that assertion. nvALT, is a strange beast which does a lot of things other than just managing a folder of notes. However, a lot of users have no real idea of nvALT’s abilities and use it almost exclusively as the manager of a folder of notes. For them, Write is definitely an improvement . Write manages multiple folders and not the single folder approach of nvALT. So, if you have notes in one folder, some assorted text files in another, and the files for a book you are writing in another, Write can manage all these folders in one application and that is a feature nvALT or Katana cannot match.
6. Quick Open
Ulysses has a Quick Open feature which lets you search for files and their contents across the library. ⌘ + O gives you a search panel and you can type in the name of the file, part of the name of the file, or just some content that you think it contains and it will give you a list of all the files in your library which matches that content. Reminds me of the ⌘ + P shortcut in SublimeText. Works equally well and it is very useful when all of your life seems to be in Ulysses folders.
Write doesn’t have anything that is directly comparable. You can search within individual folders or assign tags to individual files to ensure a collection of files based on the tags. Tags used by Write are also used by the Finder in Mavericks. I find that I am slowly embracing the usage of tags, but still find the library wide search of Ulysses much more convenient.
7. Filters, Keywords & Tags
If you use either of these programs as your manager of text files, you are quickly going to find yourself with the task of locating particular files, or a group of files. Ulysses uses filters in the Library pane to group files together, you can set up filters by clicking on the + sign at the bottom of the Library pane.
Ulysses uses filters with very extensive abilities and you can narrow down the criteria you are using to filter your content. This is an enormously flexible system where you can be very specific in the filters you use. I am not very good with tags, or the discipline that is required of tagging, but to me, this looks like a system which is more versatile than tagging.
Ulysses also lets you assign keywords to your documents. You can attach keywords to sheets by Ctrl-clicking on them in the sheet table and selecting “Keywords…” or by clicking “Attach” in the top right corner of every sheet. (Another option is to press space after you’ve selected a sheet in the sheet table.) Keywords are useful when you’re creating filters. For example, you could assign the keyword “Draft” to all your drafts, which would allow you to collect them all in one place using a filter. These keywords are Spotlight searchable too. In External Sources, Mavericks’ tags and Ulysses’ keywords are exactly the same. In general, keywords are basically the same as tags of Write.
Write uses tags. You add tags by clicking on the text “add a tag” on the bottom left corner of the editor window.
These tags are also accessible through the Finder in Mavericks. For those of you who are using tags in Mavericks, this will come in very handy and will be easy to use.
I like the flexibility of Ulysses’s keyword and filter system, but Write and its tagging system also manages to find the files I am looking for. So, you are not going to be have any trouble finding files or groups of files in either of these programs.
8. Search and Replace
Ulysses’s search and replace is very minimal. You search and replace something with something else. You have the option of replacing a particular occurrence or all of them. It is the standard TextEdit search and replace.
Write is a little more refined in its implementation of search and replace. It provides the option of ignoring case and wrapping around and thus covering the whole of the document.
What is interesting about the Search and Replace implementation in Write is this little drop-down dialog box which lets you be a little more specific in what exactly you are replacing and where.
I find that both of these programs Search and Replace functionality could be improved by support for regular expressions. Scrivener, an application, Ulysses explicitly competes with, supports regular expressions in their search and replace function. I am sure that the use of regular expressions is an edge case and the benefits of its implementation are open to debate. I just miss it.
9. Images & Footnotes, Annotations & Tables
Both Ulysses and Write support images and the support is astonishingly similar. This is how Ulysses does it.
This is how Write does it.
The Soulmen, developers of Ulysses have a history of doing innovative things which have been the inspiration behind the product features of many other products. That trend continues, it seems.
Ulysses provides you the opportunity to add annotations. These do not export to markdown or html. They are just to aid you to think through the process of writing, or to act as reminder devices for you. You can achieve a similar effect by using comments in both Ulysses and Write.
Tables are not supported by Ulysses. They are a part of the Multimarkdown specification and are supported by Write. I write my tables using Tables Generator and paste into Write. It works like a charm.
Writers always seem to worry about things like word count goals and word counts achieved. Both of these programs do a good job of showing you your document statistics.
Ulysses lets you set goals for individual sheets or a group of sheets. You Control + click on the group or the individual sheet and you get a dropdown menu, like this,
You choose Goal… and then you get a pop out window like this:
If you click on “at least,” you will get a dropdown menu letting you choose, about, at least, or at most the number, which you get by clicking on the question marks, words, characters, sentences, etc. that you are interested in tracking. You can periodically Control + click on the sheet, choose Goals… and check on your progress.
If you are happy with your progress, Ulysses lets you share the data with your friends via a host of services. You can also get a less colorful version of the data by clicking on the meter like icon on the toolbar.
As you can see, if you need statistics, Ulysses seems to have you covered.
Write is much more minimal in its approach. It doesn’t let you set goals. However it does provide you a running word count at the bottom right corner of the editing window. If you click on it, you get more details, like
I like Ulysses presentation and the ability to set goals, but Write is adequate in its implementation.
11. Full version history
Both of these programs save your files automatically. So, you never really have to save your documents. Ulysses, saves your file every 30 seconds, or saves a version when you press ⌘ + S. Write also has an automatic save schedule and saves when the focus is moved away from the application.
In addition to the automatic save, when you invoke the ubiquitous ⌘ + S, Save keyboard command, Ulysses saves the present version of the document. It also maintains a complete version history of the document, so you can, theoretically go back in time, and retrieve a previous version of your document if you choose. It is a great way to save a version, keep on writing, check how the story flows, and if it doesn’t, you have the ability to go back to a previous version where the flow was acceptable. It is a feature which is implemented in Scrivener through snapshots. But this is the best implementation of the idea I have seen.
Write doesn’t attempt any effort at version control. If you want to go back to a previous version you have to use Time Machine, the system service, to achieve a similar result.
12. Bookmarks & Notes
Bookmarks is an Ulysses feature. You can place bookmarks in your text. They usually denote something that you need to come back to, or act as a memory aiding device to help with your writing.
You place a bookmark by control clicking on any line and choosing Add Bookmark from the dropdown menu. You remove bookmarks by control clicking the line which has a bookmark and choosing Remove Bookmark from the dropdown menu.
Notes is another Ulysses feature. You can add sheet notes to your document. So, each sheet can have its own notes. Hover your mouse pointer over the top of a sheet, click on “Attach” and then “Note…”.
So, in the process of writing, you can use both Bookmarks and Notes to act as memory cues. Bookmarks act on particular lines, while Notes are attached to the sheet you are working on. Bookmarks and comments are really interchangeable. They can have the same effect. Remind yourself to do something to a particular line.
Write supports commenting, it lets you use the html commenting system or the Critic Markup syntax to add comments to your documents. This is an advantage of MultiMarkdown 4.0, it supports the Critic Markup syntax natively. CriticMarkup is a way for authors and editors to track changes to documents in plain text.
Ulysses is the obvious winner of this feature comparison, but the support of CriticMarkup gives Write a feature which is absent from Ulysses.
Working in both programs will mean that you work with a lot of files. There are some files which are at the top of your workflow, files you get to quite often. Both Ulysses and Write gives you the ability to designate some files as favorites, and then gives you the ability to access them quickly.
In Ulysses, choose the file in the sheet list, control click on the file and from the dropdown menu which appars, choose Add to Favorites.
You have access to your favorites in Ulysses by going to the star icon on the top right of your window.
In Write, you select a file to be a favorite, by clicking on the star to the top right corner of the editor window.
You access your favorites in Write by choosing the Favorites tab on the Library.
14. Split and Merge
This is where Ulysses shows the benefits of some of the design decisions behind their product. In Ulysses, when you are working in internal sources, documents are conceptualized as sheets. They are just sheets of digital paper you are writing on. They can be as long as you want them to be, but that is all they are: sheets of digital paper. You can split a sheet into two sheets, if you think the sheet is too long or if the idea you are expounding needs it. You can do this by choosing Split at Selection from the Edit menu.
This splits your sheet into two sheets, starting the second sheet from the point where your cursor was. It is a nice way of breaking up content into chunks for you to work on. Ulysses also lets you merge sheets together. If you feel that the contents of two or more sheets belong together in one sheet, you have the ability to merge those sheets together into one sheet. You do this by selecting the sheets in the 2nd pane, and then choosing Merge Sheets… from the File menu.
Write has no corresponding function.
15. Writing Modes
This is a Write only feature. Write supports three modes of writing. In Rich Text mode, most of the markdown syntax disappears, except those of links.
In Hybrid mode, the syntax coloring stays and so does the markdown syntax. It looks like this.
In Plain Text mode, all of the syntax coloring disappears and the editor shows all the markdown code without any of the visual effects of the code. Like this,
In Ulysses the usual mode is the comparable Hybrid mode, but you can design a scheme where all the syntax highlighting goes away and you are left with plain text.
I find myself in Hybrid mode in Write most of the time, I like having my markdown syntax visible and like seeing the effects of the code when I do write in Markdown.
16. Copy Plain text and HTML
This is another Write only feature. If you select a section of your document, and right click on the editor window, you see a drop-down menu, you can copy plain text or formatted HTML of your selection to the clipboard and then paste that content into any other application you choose. This is what it looks like:
Both programs excel in this feature. Write gives you a myriad of options to export your data. In fact, the pop up menu which controls the export options scroll down to where I need two screenshots to show you all the choices. So, here goes, this is the export panel in two parts:
As you can see, Write has you covered when it comes to export. It lets you control the format of the export by a css file, which you can tweak to fit your needs. The system is not very robust, in that it doesn’t let you have multiple export formats, but it is present and you can get around the lack of choices by having multiple css files available to you and switching them around in the preferences depending on your needs. I hope that this section of the program improves over time. At this point, it works, but it could be easier to work with.
Ulysses excels in exporting your document. It breaks up the export choices into four parts:
- Plain text and markdown
- PDF, TextEdit(rtf), and Word(rtf)
- HTML snippet or HTML single page
In plain text and markdown export, Ulysses gives you the option of saving to a file as plain text or markdown, you can also send it to Marked 2 or Marked, or copy to your clipboard.
Interestingly if you take your cursor to the right of the save button, you see a folder, you can drag the folder to the Finder and it will contain the plain text or markdown version of the file you are exporting.
In PDF, TextEdit(rtf) or Word(rtf), Ulysses lets you send the file to Preview, the system PDF renderer, or preview the file within Ulysses.
Thanks to the Ulysses Styles Exchange, you can also choose the style you are going to use to export the document.
The HTML export has a similar arrangement, you can export as a snippet or a single HTML page.
You get to choose the styles and formatting of the export.
Write does a very good job of providing an environment for you to write in. It needs a dark mode, but beside that quibble, it is a very good application to work in. The developers have tried really hard to provide you with the right kind of choices and you are going to be happy working in it.
Ulysses is the standard everyone in this space tries to reach. It is almost perfect. I have been trying to write this section for a while now, and it has been a struggle. I can’t point to one thing that the program does which makes the environment it provides to write on so compelling and comfortable. It is not one thing. It is a whole slew of little things which make writing in Ulysses an absolute pleasure. The product has evolved over the years into the best environment I know of in the Macintosh world. If you adopt Ulysses you are going to be happy in it.
Ulysses costs 44.99 in the App store. Write costs $9.99.
The deeper I got into this comparative review the more I realized that I wasn’t being fair to Write. Firstly, the price. These two products are not direct competitors to each other. Secondly, the stated goals of the developers. Write is positioned as a note-taking application. Ulysses is a writing application for all your needs. Thirdly, the time that the products have been in the marketplace. Ulysses III has been out in the marketplace a long time. The latest iteration is a rethink of Ulysses II, which was a rethink of Ulysses I. They have had a long time to fine tune the feature set. The evolution of Ulysses has been a pleasure to follow. Write on the other hand, is brand spanking new. They haven’t had the chance to re-iterate. Re-design. Prune and add. This is their first shot at it. This comparison isn’t fair.
It is really a credit to Write that they have stood up so well to this rather unfair comparison. It is a very well designed piece of software. It is very capable of doing what it purports to do, which is: note-taking. It beats out the other competitors in this space, and there are a lot of them. If you are looking for note-taking software, you should get Write. It is the best of that breed of software.
If you are a writer, looking for a home. An application you can live in. And write. Get Ulysses. It is going to ensnare you. It is going to thrill you. It is going to be the program you enjoy writing in, whatever it is you intend to write.
macosxguru at the gmail thingie.