Back to Software

Recursive Notes Part 2

2 Apr 2023
Progress: Demo

The initial experiments of recursive part 1 were successful.

Maybe a year after I published the prototype, I got a message from someone who was willing to pay me to add in some of the missing features. I always love these types of requests – there's nothing quite like getting paid to do something you wanted to do anyway.

It didn't take long to patch their improvements in, but it turned out this was the push I needed to do a whole load more work on the software anyway. Since the last update, here's what's been implemented:

I had, half-heartedly, been using the recursive notes program to manage various projects, but it wasn't until I added the tree outline with search feature that this properly became viable. There was a very clear change between forcing myself to use it for the novelty, and suddenly finding that the notes program was no longer in the way of my thinking. Naturally, the thing I've been using it most for is to manage improvements to the recursive notes program. But also, I've been using it to manage other projects and for the most part, it works! One of the most notable things is that I often run into glitches or minor inconveniences, which usually leads me to either patch it right away, or at the very least, make a recursive note about it.

Recursive screenshot

With the browser's onstorage event, and the rewritten database interface, it's now possible to synchronise the document between tabs. The undo history interleaves in a way that's potentially glitchy but on the whole mostly usable. This is a good proxy for what comes next, of course.

In my use case, it would be sufficient to just add a "save" button that uploads it to a server, a force-push if you will, that overwrites everything. I'm a single user and it would cover all my needs. But that's not what I want to do next. Naturally the next thing to implement is full collaborative editing with automatic merge conflict resolution. I'm feeling confident! How hard could it be?

You can try out the current version of recursive at the new URL here. Note, I can't guarantee that it's stable, so don't depend on it for anything life-critical. You can save the document locally and continue to run it from local disk, although you may also need to download the icon images too.

Other ideas and planned features

Aside from collaborative editing, here's some things the notes could do with.

As usual the source code/history is on github and git.mitxela.com.