Hoisting/Filtering

Notenik functions as an excellent outliner in many ways. One feature of some good outliners that might be very useful in Notenik is Filtering/Hoisting. Not knowing the details of the code, I hope that this is feasible and not so hard to achieve.

My proposal is the following:

  • there be a Boolean (checkbox) field called “filter”
  • there be an option to only view filtered items in the List/Tags/Outline tab
  • that there be options to
    • reset the filter (uncheck all checked boxes)
    • to check all the filter boxes for all children of a note in the Outline view (this would be equivalent to Hoisting in an Outliner app/Focus mode in OmniOutliner).
    • to check the filter for all notes with a particular tag
2 Likes

It’s an interesting suggestion. Let me look into this a bit and think about what it would take. I’ve got some other commitments coming up, though, so it will probably take me a bit longer than usual to get back to you with anything solid. Thanks for the suggestion!

Thank you. Please take your time. Out of curiousity, do you use AI tools to assist in coding and if so, what has been your experience with them?

I don’t really use any AI tools, other than the suggestions made by XCode, which are sometimes helpful, and sometimes nonsensical. I enjoy the development process, including coding, for the most part. From what I’ve read the AI tools are not terribly helpful when maintaining/enhancing existing code, and also not that helpful for Swift with AppKit. But I’m not really keeping up.

This would be a pretty extensive change. This doesn’t mean I’m opposed to it, but I am wondering if we can get more input from the community before proceeding.

So far, a couple of questions.

  1. Does this sound useful to people? Not just in a general way, but in a practical way for your usage.

  2. If I proceed with this, I’m thinking of adding a new Field Type called “Mark” which would be used to mark notes to be shown when the filter is on. (I landed on “Mark” because I wanted to avoid ambiguity when describing the functionality. “Selected” already means something within standard macOS, since you select rows by clicking on them; and I thought it best to reserve the word “filter” to apply to the actual process of turning on the filter, so that you only see marked notes.) Does this terminology sound reasonable? Any alternative thoughts?

It would be good to hear from others, but here are some ways I envision this feature could be useful.

  • I am often trying to decide between using multiple collections vs one large one. For instance, one collection per project vs a consolidated project management collection with all the projects in one collection or one collection for a single lecture vs all the lectures from a course in a single collection. There are many advantages of having a single large collection - the largest benefit being the significantly lower effort in extending an existing collection compared to adding a new collection. However, when the collection becomes large, it also becomes unwieldy and here is where I think it would be useful to filter the collection to only those parts that one is working with at a given time. The App will also hopefully be more responsive and faster when dealing with a smaller data set.
  • Sometimes, there are versions of a single note that one wants to keep in the same collection, but one also wants to have the freedom to focus on only one of those versions per note. For instance, when one is trying to prepare a presentation and there are some altertatives for a single slide, its useful for organizational purposes to keep them in a single collection, but it’s also useful to mark out the prefered version from the others.

Thanks for the additional context. It is helpful.

BTW, I am curious: when you say the app will be more responsive and faster when working with a smaller data set: is this an issue you are having now? If so, how large a data set are we talking about? And, if you don’t mind me asking, on what kind of Mac are you running?

Thanks again.

I have only had the app be a bit slow when opening some collections so far. These collections have a lot of Math and nested outlines three or more levels deep. The app is pretty fast and responsive once the collection is open. It also seems as though the app is much faster opening the collection when trying to do it over again (i.e., closing the collection and opening it again.), so this may have something to do with the fact that the collections are in Dropbox. It maybe that with my settings, Dropbox offloads local files that haven’t been used for a while to the cloud. This is on a M1 Macbook Pro.

Thanks for the additional details! Yes, it sounds like it might have something to do with Dropbox having to retrieve the files before Notenik can see them.