Day One, future proofing, and workflows

By (6 minutes read)

After a long time of hinting at it, yesterday a new version of Day One was released bearing the wonderful name Day One 21. There are a couple of major changes to the way this works compared to the old version that influence how I use it.

If you’re not familiar with it, Day One is a journaling app that looks beautiful, has always worked really well, and due to various third party apps you can script entries for it. I’m not going to write a review for it, instead I’ll refer you to MacStories for that. Before continuing with the interesting bit, let me throw in the App Store links for it: iOS version and OS X version. It’s not cheap, and there is a pretty big price difference between the two. Please take note that until February 11 they are 50% off, so if you’re like me and figure you’ll update sooner or later anyway, now might be the time to do so.

Let me say some positive things before I start complaining about the parts I don’t like. In itself, the app is a nice improvement. I love the ability to add multiple photos to an entry and I’ve already started using several different journals to clearly separate what I wrote. I was also impressed by the easy migration process where my over 4000 entries and 1000 photos quickly became available in the new app.

Migrating to the Day One 2

I first installed the app on my iPhone and did the migration and initial sync there as well. The migration just took a couple of minutes, while uploading to the new sync service took a bit longer but was still quite fast. The downside to this efficiency? It pretty much ate my battery for lunch. This was in the early afternoon and I hooked my phone up to the charger when I got my 20% warning. In other words, don’t do this if you can’t charge your phone.

Battery usage

Future proofing

There is one underlying thing that I want to discuss in this article, and that is the changes to sync. Previously every journal entry was stored in XML files (images were and are saved as image files), which is an open standard and plain text. This was always a big appeal for me as well as it meant that no matter what happened to the company I would always be able to pull out all of that data so I wouldn’t lose it. Unfortunately, that has now changed.

While XML has some advantages, it also has disadvantages. Most importantly when you have a lot of entries it can become really slow to parse, making the app a lot less fun to work with. So, what they decided to do was to change this to a database instead. I can understand the reasoning behind this as it will also solve other problems and create new possibilities. As far as good things go, they use a simple SQLite database for this so it will still be possible to retrieve all the entries and their metadata from it.

The change to using a database has another impact though: a different sync engine. Originally, Day One synced over Dropbox2, but this has now changed to using their own custom syncing solution. That change is one that I can’t say that I’m very happy about. I can understand they don’t want to use file syncing solutions for a database, and there are no doubt other benefits for them, but it does make the syncing process dependent on their servers being available. Which means that it might not always be available. In fact, today when setting it up I got sync errors a couple of times and ended up with 2000 duplicate entries on my phone3.

To be fair, this will no doubt ensure that more people do sync their journals as it makes it easier, but I really hope that at some point they’ll introduce at least wifi syncing. With that we would at least still be able to use the app if for some reason something happens to their servers or the company4.


That said, if you have read my article about the Reporter plugin I wrote for Slogger you’ll know that I like to collect and store my social media and other data for storage in Day One. What I didn’t mention in that article is that I do this by running the script as a daily cronjob on an EC2 instance. This worked because I could sync through Dropbox and add these entries directly to my journal. Obviously this is no longer the case, and that made me question whether I should upgrade or not.

Until Brett Terpstra, the creator of Slogger and other useful tools, wrote an article about how to use Slogger with Day One 2. This comes down to pointing Slogger to write to the Auto Import directories for Day One, thereby replicating the old behavior. Awesome, and I’m happy that works. Except of course, that this is strictly for a system running OS X with Day One installed, and EC2 instances don’t usually have that.

So, what I ended up doing is similar to my old setup. I mount Dropbox on the EC2 instance, and have Slogger write to a specific place there. On my MacBook I then have a Hazel script running that checks that directory and immediately copies any files that appear there to their intended Auto Import directory. If you wish to do this, you might need to fiddle a bit as Hazel doesn’t see any directory ending with .dayone as a directory. You can work around this by opening the .dayone directory in Finder (right click on the directory and select Show Package Content) and then dragging the entries directory from there into Hazel’s file picker.

Hazel rule

I also have some Workflow scripts that end up in Day One, and from my testing that isn’t causing any major issues. If the old app is still installed you are first sent there, but that in turn will redirect you to Day One 2. And if Day One Classic is no longer installed you go directly to Day One 2. The only issue I found there is that it doesn’t pick up on the tags I added as hashtags anymore.

All that said, with all my scripts configured properly again I’m happy with the new version, and if you use the original (or are thinking of taking up journaling) I recommend you get this one while it’s on special.

  1. I actually like the way it sounds, and I seriously hope the next release will be called Day One 2 III. [return]
  2. Or iCloud, but I never dared to use that. [return]
  3. Other devices were fine, and I had syncing problems with the old app using Dropbox as well at some point. Like then a simple delete and reinstall of the app solved it today. Not perfect, but I can live with it. [return]
  4. If that sounds negative or grim, please refer to my recent articles about Mailbox and Spark. [return]
comments powered by Disqus