Since macOS Sierra, I found myself using the Reminder App more often than I did before. This is partly due to the fact that I cannot stand well organized when I rely on manual sticky notes, and it helps recording things I have to do along the week or for a project. On the one hand, the Reminder App is simple enough to meet the needs mentioned above; on the other hand, it lacks serious fucntionalities like being able to print items, synchronize with Calendar App, while it works pretty well with Fantastical, or a decent API to be used by other software.

Most importantly, it is available on iOS too. I use Reminder for various stuff. Beside simple TODO list and project management, I also make extensive use of Reminder to store web links via Apple Share Action menu. Here is what I currently have in my “Read it later” list:

Note that it also possible to send reminder from Apple Mail directly (although it is not obvious–you have to left-click on the title of a message to send it to the Reminder App). It is also interesting to remark that copy/pasting the above list yields the following plain text checklist:

[ ] ECON 626 Empirical Microeconometrics
[ ] Faster generalised linear models in largeish data
[ ] ECM is finally streaming, and I'm here to tell you what's good - Sound & Complete
[ ] Blogging with org-mode and ox-hugo // Shane Sveller


Interesting, but we loose important metadata (hyperlinks, due dates, notes)! While it is still possible to Get a Spreadsheet of Tasks into Reminders.app, using this handy AppleScript program,1 I found no easy way to go the other way around, that is to export Reminder tasks into another application. Now, I also use Emacs a lot, and as you may have already guessed, I manage various TODO lists with Org mode. The aforementioned action for web capture can easily be implemented in Emacs thanks to this irreal gem. However, getting a proper way to import, or better, syncronize Reminder items with an Org TODO list seems a lot trickier. From the Apple Documentation Center, we know that Reminder data are stored in the same database than Calendar data, which is located under ~/Library/Calendars. It is easy to lookup specific task with grep or ack. For instance, the first item displayed in the above list reads in iCal format as follows:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//Mac OS X 10.13.3//EN
CALSCALE:GREGORIAN
BEGIN:VTODO
CREATED:20180108T105626Z
UID:1C545AF5-EA03-4375-B94F-F1FE5319B70C
X-APPLE-ETAG:"C=5566@U=6da3ee09-8deb-4c7f-8b05-dc02403e8686"
X-APPLE-SCHEDULETAG:
X-APPLE-SERVERFILENAME:1C545AF5-EA03-4375-B94F-F1FE5319B70C.ics
SUMMARY:ECON 626 Empirical Microeconometrics
DTSTAMP:20180308T121417Z
SEQUENCE:0