Recollectr 3.18 – Rewrite, Revise, Rework, Restore

Today we’re finally landing a feature we started tinkering with years ago; note revisions!

We’ve majorly overhauled reminder parsing and implemented an option to disable syncing on particular devices – along with more new features and a few dozen garden variety bug fixes.

Note Revisions

Revisions are a great thing to have available any time you’re actively making changes – and especially for an application like Recollectr where text is saved as it’s written. Perhaps you need to go back further than the undo history can handle. Perhaps you need to determine when some text was added. Whatever the reason you need to reach for them, revisions are a great added convenience and added protection for your data.

Recollectr will save up to 50 revisions for each note; automatically discarding revisions in an intelligent way to give you maximum revision coverage from the creation of the note up to the present.

The revisions can quickly be previewed and restored – and in most cases our experimental diffing tool can even show you what’s changed!

All revisions are synced to the cloud and then back to each other device on a “best effort” basis. In other words, revisions are not guaranteed to be synced at all times, but they’ll be synced for most notes on most devices most of the time. This minimizes the bandwidth necessary for revision syncing while still, you know, syncing them.

Once there are 50 revisions – rather than just trimming the oldest – space will be made by removing the revisions that occurred in closest proximity to another revision. This way your complete revision history can be preserved – although the granularity of the changes will be lost as those changes are rolled into adjacent revisions.

Revision squashing strategy

In the image above, revisions in yellow will be dropped when space is needed – but the diffing between the blue revisions will still show the changes from the revisions in yellow – unless those changes were removed from the later blue revision.

On mobile

Maybe you’re editing on the mobile app, where the editor is still unstable on Android. In that case, it can be a great help and peace of mind knowing that your note revisions will be safe and sound no matter what Android’s crazy keyboard throws at (or into) the editor.

Speaking of which – we’re planning to overhaul the editor to dramatically improve Android support! It’s going to be a major undertaking, and we’ll be working on it as soon as 3.18 is released! In the longer run, these revisions can be a helpful last line of defense against any unforeseen hiccups that may occur when the new editor is available for public testing.

Better Natural Language Reminders

Natural language reminders are a tough cookie to crack – but in 3.18 we’re cracking them better than ever before.

Although we’ve improved reminders in almost every release, we’ve never completely overhauled the natural language parsing logic until now. This fixes a number of annoying edge cases where words were sliced off the reminder; or secondary time references were treated as the time the reminder should be set for, or simply dropped.

It also fixes some edge cases in reminder previewing, and even has the tiny benefit of preserving the preposition for grammatically correct reminder previewing! In the image set below – note how the preview failed to show for reminders that reference “tomorrow” and dropped the preposition “to.”

Reminder preview (3.17)
Reminder preview (3.18)

And below are a few examples of patterns that failed to be properly parsed in 3.17 which are now handled correctly; no longer dropping the secondary time references.

There are some even more complex cases than these that are handled correctly now that were too long to fit in the images below; for example: “remind me in 1 hour to schedule flu vaccine for tomorrow and schedule meeting for Monday.”

Reminder output (3.17)
Reminder output (3.18)

Improved Keyboard Support

Recollectr has always been about hotkeys, so it seems crazy to think there are things that have required the mouse – but with this release we’re several steps closer to complete keyboard coverage.

Toggle note status within the editor

This can now be done via hotkey instead of requiring the mouse. The hotkeys are identical to those in the notelist, so there’s nothing new you’ll need to learn!

Navigate the Note Info Tray

The Note Info Tray can now be triggered to open or close using Alt+I and its contents now support Tab/Shift+Tab to get around without leaving your “home row.”

Fully navigable Note Info Tray

Universal Builds for macOS

Short and sweet: native support for Apple silicon is finally here!

The macOS installer is a bit larger as a result, but we think the improved performance on the newest Apple devices makes for a worthwhile exchange.

Other Cool Stuff

Improved CLI

We’ve built out some existing functionality in this release too – if only slightly.

In 3.17 we introduced the first command line options for Recollectr. In 3.18, we’ve implemented a proper CLI interface complete with help text (via --help.)

Additionally, we’ve normalized the flag names to use the widely accepted standard of kebab-case and added a new flag --start-visible.

Bona fide CLI interface

Improved filesystem integration

One of the reasons that Recollectr is an application instead of a website or an extension is for closer integration with the OS – so when u/substorm suggested on Reddit that it should support creating links to multiple dragged files – not only single files – we got right to work on it! Whether dragging two or two-hundred items from your file explorer into Recollectr – you’ll now get links to the filesystem-location for each one.

Drag a list of files into the editor to make links to each

Thanks for the suggestion u/substorm! We invite everyone to join us on the Recollectr subreddit to share their suggestions.

Look and feel improvements

Just one example that we thought to mention because we came across it ourselves while preparing the blog post, is the improved button layouts shown below. When shrinking the window all the way down the buttons wrapped quite poorly. We’ve made a few small, but generalized, styling improvements of this sort.

Button wrapping (3.17)
Button wrapping (3.18)

Reduced installer bundle size

While we managed to reduce the size of the installer by over 10mb (on Linux and Windows) – newer versions of Electron are a bit heavier so some of those savings have already been obscured – but savings nonetheless.

And more

As always – there’s more than we have room for in a short blog post. If the highlights aren’t enough for you, or if you want to read about the bugs we fixed, you can check out the Recollectr 3.18 changelog for a full list of changes.