Use ‘Snapshots’ in Ulysses to Version Control Your Writing

I posted an article a while ago in which I outlined a method to take versions of Ulysses sheets, much the same as Scrivener takes Snapshots.

That method worked quite well. But I have refined the process to make it even easier to save, store and restore versions of your work. In this, the first of two posts, I will detail how to take a snapshot of your work, and store it for easy retrieval later.

Taking a Snapshot of Your Work in Ulysses

The true power of Ulysses lies in its deceptive simplicity and cleverly designed flexibility. I wrote to its developers not long ago, asking them for named version control to be added to their app, not realising, that with a bit of careful thought, all the necessary features were already there.

A sheet which needs a snapshot in Ulysses
A sheet which needs a snapshot in Ulysses

So, let’s say I have just finished writing a scene in my novel, but now, I am interested in exploring a different approach to the writing of this scene. I don’t want to lose all of my hard work, in case the rewrite doesn’t work out.

I have already written about the limitations of macOS’s built-in version control. It is not available on iOS or iPadOS, and even on the Mac these versions are unnamed and mixed in with the system’s own autosaved versions. This renders them useless for when you want to go straight to a particular version.

My previous Snapshots system in Ulysses employed duplicating sheets. And that hasn’t changed.

Duplicating a sheet in Ulysses on iPadOS
Duplicating a sheet in Ulysses on iPadOS

On iPad, long-pressing the sheet in the sheet list yields a context menu. Select Duplicate to create an exact copy of the sheet. You can also hit Cmd-2 to bring focus to the sheet list and then hit Cmd-D to achieve the same. On iOS, long-press and select Duplicate from the context menu. On macOS, right-clicking or hitting Cmd-D does the same thing:

Duplicating a sheet in Ulysses on macOS
Duplicating a sheet in Ulysses on macOS

Storing the ‘Snapshot’

Once we have our duplicated sheet, you are going to want to make it into a Material Sheet. This is Ulysses’ way of storing research material, snippets of information or images etc. They don’t form part of the exported document, neither do they contribute towards your project’s word count.

On iOS and iPadOS, long-press and choose Use as Material Sheet. On macOS, right click or use the keyboard shortcut Ctrl-Cmd-M to convert a sheet to a Material Sheet.

Technically speaking, using Material Sheets for your Snapshots is not essential, as we are going to move the sheet into its own group, outside the main exportable group. But I prefer to have the Material Sheet’s visual indicator (the red bar at the top) to remind me that this is a snapshot sheet.

I previously talked about how you could store snapshots in the same location as the original, and glue the sheets together to keep them organised. A word of warning though — this method of storing snapshots can quickly become unmanageable as the number of snapshots increases. And, in part two of this post, I will show you why it is also unnecessary; Ulysses has a very nifty feature for tracking these snapshots down. But more on that later.

Gluing Snapshot Sheets to their original in Ulysses
Gluing Snapshot Sheets to their original in Ulysses

Naming the Snapshot

A named snapshot in Ulysses
A named snapshot in Ulysses

My revised snapshot system now adds a date and time suffix to the end of the sheet’s title. This means I now have a way of searching for this sheet in the future, and when I do track it down, I know exactly when I took this particular Snapshot. Useful if we have snapshotted several versions of our work.

The Snapshot Library

To make this system work, you will need to set up a group called, ahem, Snapshots in your Ulysses library.

The Snapshot Group used to store Snapshots in Ulysses
The Snapshot Group used to store Snapshots in Ulysses

If you are on Mac, simply drag and drop your snapshotted sheet into this new group. If you are on iPad or iPhone, long-press to bring up the context menu, select Move and then choose the Snapshot group as the destination.

We can continue to add snapshots of our sheet as and when we desire. We can also transfer snapshots of other sheets into this library. In fact, I have saved down a snapshot of this article to my test Snapshots group, giving me a growing library of prior versions of my sheets.

The Snapshots Library in Ulysses
The Snapshots Library in Ulysses

How I Use this Feature

Now we have an easy way to create Snapshots or Versions of our sheets, the temptation is to just keep taking Snapshots every time we want to make a change to our work. However, I tend to use Snapshots only when I wish to make extensive changes. Because Ulysses is a Markdown-based writing app, I rely on its markup system for making small-scale changes.

I wrote about how I use Deletion tags and Marked tags to denote small-scale changes to my work in a previous article.

  • ||Deletions are marked up by placing the text inside two pipe signs||
  • ::Marked Text is surrounded by two pairs of colons::

When I am happy with the changes I want to make, I can delete the text I no longer need and remove the Marked tags from the text I intend to add, by selecting Clear Markup.

The Really Clever Part

In part two of this post, coming soon, I’ll show you how easy Ulysses makes it to manage your library of snapshots, allowing you to quickly search for and retrieve, then compare and even restore prior versions of your work.

Until then, happy Snapshotting!

One thought on “Use ‘Snapshots’ in Ulysses to Version Control Your Writing

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s