Monthly Archives: October 2015

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


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


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.


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”.


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.

Runkeeper 6.2 on the Apple Watch

Runkeeper 21

With yesterday’s release of version 6.2 of Runkeeper, you can now do a run without having to carry along your iPhone. That’s a relief because it seems to be what the watch was designed for. I got in the habit of using only the watch and the Workout app, but it’s painful to sync the runs back into Runkeeper, you basically have to enter them manually on the website.

But with the latest release of the app, all the boxes are ticked:

  • Runkeeper registers a workout and sends it to HealthKit, along with the basic stats for your run
  • with watchOS 2.0, 3rd party apps can now access the watch hardware including the heart rate measurement sensor, so that’s also saved
  • there’s no GPS on the watch so the distance is estimated with the pedometer/“motion co-processor”

Distance Estimation Under-Reported

On that last note I’ve found the estimated distances to be slightly under-reported, I’d estimate by 5%. I have a route I’ve been doing for ages and I know it’s 5km, and the watch reports 4.8km, both in Workout and Runkeeper apps.

Grant Access to Heart Rate

A mistake that I think everyone will make when using the app “headless” for the first time: failing to grant the needed permissions on the iPhone.

Runkeeper opens a dialog on your phone (which is probably sitting at home) requesting permission to access the heart rate sensor the first time you run the updated app. You don’t see this until after you run is completed and you’re back home. What you do see is an empty reading for your heart rate on the watch app which makes it look like something is broken. It works fine after you grant the access.

Manually Added

Another strange thing is Runkeeper reports the run as “manually added” which obviously it’s not. If was funny to see this after having to manually add so many other runs. I actually went out and bought a new armband for the iPhone 6s since the previous one didn’t fit and the day it arrived, the Runkeeper update went live in the App Store. I thought they would take ages to support “headless”.

Smart Pause/End Choices

In an improvement over the Workout app, if Runkeeper on the watch detects the phone is not present, it only allows you to pause the workout, not end it, since it can’t be saved without the networking on the phone.