Tag Archives: writing

Linking Between Ulysses, MindNode and DayOne

Ulysses, MindNode and DayOne are excellent writing, planning and journalling apps, respectively. Many would argue they are best of breed in their respective categories and perhaps even their main reason for using Apple hardware. Certainly I feel this way and I’ve done a fair bit of research over the last little while to find these gems and have enjoyed getting to know them better.

In this article I’d like to show you how to link between the documents of these apps, but first a bit of background.

What is Mac-like?

Although Ulysses, MindNode and DayOne are standalone, unrelated apps, you’ll find many people that use all three. If you had to find a quality that unites them I think it would be how Mac-like they are. “Mac-like” is a funny term when you think about it and it may confuse some readers yet it appears on almost every description page of Mac software. In truth only a few apps properly live up to that title. There’s a huge amount of design aesthetic that’s gone in to Apple’s own apps and indeed many of the best 3rd party apps. Luckily for developers it’s all catalogued in a document called The Human Interface Guidelines1

Linking

One of the key aspects of Mac-like software and the Apple design aesthetic is application interoperability. 2 The original way to achieve this was through drag & drop and indeed this feature has remained unchanged for several decades now.

Fast forward to 2015 and you have excellent apps like Ulysses, MindNode and DayOne, and of course they have all considered interoperability carefully as each one imports and exports their data to multiple formats. 3

But one Mac-like feature that seems to be missing is how to link between the documents of these apps. Here are my suggestions.

Ulysses to DayOne

Well DayOne is a very developer-friendly app, so they’ve done a bit of extra work and it’s quite easy to invoke the app from other apps and indeed open specific journal entries.

Here’s the format to use

dayone://edit?entryId=3270B67A74E44A7491375036168310C2

Just drop that in a Ulysses link dialog like so:

Screen Shot 2015 10 23 at 5 08 09 p m

To get the unique ID of a journal entry, select the entry and hit Info > Show Entry in Finder and use the filename without the extension.

Dayone

UPDATE 1: Sadly this great feature no longer works in DayOne2.  I’ve contacted the authors requesting it to be reinstated.

Ulysses to MindNode

Going from Ulysses to MindNode took a bit more research. After a brief exchange with both software authors, one of the Ulysses support team discovered that just using the OS X file protocol was enough to invoke MindNode from within a Ulysses document.

Screen Shot 2015 10 23 at 6 00 29 p m

Here is the process I used for getting the link:

  1. locate the MindNode document in the relevant iCloud drive sub-folder
  2. To do this, command click the icon to the left of the document name in the title bar of MindNode and select ‘iCloud Drive’, the Finder will come forward with the relevant document file selected
  3. Drag the file to the Terminal app to get the full path
  4. If your file or any parent folders have spaces in the names, the Terminal will escape them with backslashes, you need to remove these
  5. ensure you add the “file:///“ protocol at the beginning of the path, with 3 forward slashes
  6. place the result in a Ulysses link dialog box as per above

But there are still a few more gotchas to get it to work. Normally this should work in the HTML preview but because of a glitch you have to further specify “open in Safari”.

Openinsafari

Try it, click the link in the Safari webpage. It should pop the Finder to the foreground with the MindNode document selected. Not ideal. But if you want to view the actual document in MindNode, the trick is to preview the document as a PDF.


  1. Running at over 700 pages long, few developers bother to read the HIG. It’s a shame because it’s rare that a proven success formula is so well documented.

  2. The ability for various apps to work together harmoniously and pass data to each other. 

  3. These apps are also some of the best examples of how to allow users to shift effortlessly between devices without interrupting workflow.