Thoughts on bi-directional relations and alternatives

One of the issues I had with Notion which is not an easy problem to solve, is that bi-direction relations weren’t always as useful as they seem. In many cases without filtering or sorting they end up not being not useful at all.

For instance, if I have Tasks that reference Humans, I also want to be able to look at the Human and see the associated Tasks for them. Like “Follow up about X”.

However if the Human object has some way of displaying the Tasks that reference it as “Contact” or something, the list of Tasks also needs to at least be filtered by “Not Done”, and probably sorted by some sort of priority.

The lack of bi-direction relations hasn’t been as much of an issue as I thought, and I think this might be why - they were often not that useful to begin with, as they are just an unsorted unfiltered list.

What is really needed is a way to make every Human have a view of Tasks that mirrors my normal Tasks view (filters and sorts) and adds a filter on the Contact column.

I think what I discussed elsewhere - a “synced block” in templates - would mostly solve this, along with some way of referencing the current object in a template filter.

Ideally also there would be a way to surface that somehow in views other than when fully opening the Human object, such as in grid/gallery views.


On the other hand, when it comes to something like a Tasks to Notes relationship, this applies less (although it still applies).

One of the major feature deficits now is that if my Tasks contain Notes, I’m unable to add a Note to a Task while I’m editing the Note (except as just a basic link). This is where bi-direction relationships are needed.

Otoh, maybe those basic links are a better way to be doing this than custom Relations, and the product just needs a way to show some filtered list of linked objects, such as all linked Notes or all linked Tasks.

This actually make more sense in a lot of ways than creating relations, as most of my relations are simple ways of linking two object types. This would skip a LOT of steps in adding a relation.

Yeah, if I could create a (bi-directional hopefully) relation that was “all linked objects of type X” that would be pretty interesting.

This would make the object linking a lot more useful.

1 Like