My Thinking Tool Flow
For a long time, I have been hoping for a suitable software to assist my thinking process. Everyone has different needs for tools, and below is a summary of my previous thoughts and choices.
Traditional tools, such as books, use a linear approach to record content. However, thinking is not linear. If the content of thinking is written on a linear tool, there will be many inconveniences, and much information will be lost.
During my university years, I discovered mind-mapping tools and quickly became fascinated. However, I didn’t stick with them for two reasons: firstly, many mind-mapping tools abstract the basic model of thinking into a tree structure, and secondly, these tools often use a single file to limit the scope of the map. I believe that thinking should be an unordered network structure rather than a tree, and thinking should not be restricted in scope; it should be infinite, interconnected, and expandable.
Coincidentally, my recent work has prompted me to reconsider the ideal form of such a tool.
Requirements
I often have reflections on problems in certain situations, and these reflections sometimes bring value. These reflections are small individual points of thought. After some time, I naturally move away from that situation. Even if I took notes at that time, I sometimes find it challenging to accurately understand the meaning of those notes. I imagine having a tool that connects these points of thought to each other, providing context to each thought point. Connecting points to form a thinking network can recreate the thought process when maintained properly. A well-maintained network allows me to continuously accumulate the results of my thoughts, with the context of these results not being lost.
Since the constructed network can permanently save the context of thinking (i.e., the network), this offers another possibility. When I have a new idea, I can use search, mapping, and other functions to find the connections between the new idea and the existing network. This often leads to unexpected discoveries, and I can use this tool to link new ideas to the existing network.
Here are my requirements in brief:
- Two core requirements: first, there should be a container for a small granularity of ideas, and second, there should be a mechanism to establish connections between ideas without any restrictions.
- I need a mechanism to quickly record some fleeting thoughts.
- The tool must provide a panoramic view to quickly browse related ideas.
- The tool must offer a mechanism to search ideas from different perspectives, allowing me to quickly find related ideas and discover new connections between ideas.
- Thinking is a time-consuming and energy-consuming process, and the results are often valuable, so I must have complete control over the data.
- My understanding of thinking patterns is constantly deepening, and my workflow may also iterate, so the tool requires a high degree of customization.
Software Tool Selection
Compared to enthusiasts who have used dozens or even hundreds of note-taking software, I have only used a few types of note-taking software available on the market and found some aspects unsatisfactory. I didn’t intend to evaluate various note-taking software; I just compared them based on my own needs.
-
Linear note-taking software. According to the above analysis, tools like Evernote, Youdao Cloud, and WizNote are challenging to meet my requirements.
-
Outlining note-taking. Outlines naturally have parent-child and peer relationships within blocks on a page. However, I need a more unrestricted container to hold ideas freely, so tools like org-mode and workflowy do not meet my requirements.
-
Popular outline bidirectional note-taking. Roam Research has excellent features, but notes are very personal, and it does not meet my needs in terms of data security. Logseq has many excellent features and is relatively secure in terms of data security, but I rarely use outlines when thinking deeply; at such times, outlines are a constraint for me.
-
Mind-mapping software. Files make the connection between ideas very fragmented, and the tree-like structure is somewhat limiting and not suitable.
After careful consideration, I decided to create my own Side Project - perhaps the privilege of a programmer. Currently, the functionality of this project is mostly completed, but there is still much room for improvement. Here is a brief introduction:
ThinkNote
The original intention is to help with thinking, so I simply call it ThinkNote. If it conflicts with other note-taking software, I may consider changing the name :).
Cards
The smallest container for loading ideas is a card.
Since I rarely use rich text, and to reduce development workload, the current cards only support simple text formatting.
Supports tagging, and a card can have multiple tags. Tags can be understood as indexes for cards of the same type.
Establishing Connections
The way to establish a connection between cards is to write [[Card ID]]
inside a card (e.g., [[V50D0H44NM]]
), creating a link from the current card to the card with the ID V50D0H44NM
.
Graph
Currently, the graph can be created based on tag classification, Card ID, and keyword searches.
- Tag classification
Retrieve all cards with a specific tag and create a graph based on the connections between cards.
- Card ID
Retrieve cards with a specific Card ID and related cards. A number can be set to determine the distance (i.e., how many steps to connect cards related to the Card ID).
In the graph, you can use cmd + left click to trigger the Card ID search function.
- Keyword search
Retrieve cards containing specific keywords. If these cards are interconnected, display the connections in the graph.
In the graph, hovering over each node will display the content of the card.
Review and Ratings
Many times, when recording cards, it’s about quickly documenting an incomplete idea. Subsequently, I need to organize these cards, including associating them with existing cards in the network, comparing them, and revising related cards. Therefore, I need a Review mechanism.
I have designed a rating feature, where each card is divided into 11 rating levels: N, R, C-, C, C+, B-, B, B+, A-, A, A+. A new card is default to N. N (New card) indicates a new card, R (Recycle) indicates a card of little value that has been placed in the recycle bin, and the other 9 levels correspond to the value of the respective ideas.
If a card is marked as N, it means that this card has not been organized. If marked as non-N, then this card has been organized.
Inappropriate Use Cases
The following are known scenarios where ThinkNote is not suitable:
- Task management.
- Journal notes.
- Calendar reminders.
- Article output. (Can be used as material for article output)
Download
Link: https://github.com/defclass/thinknote/releases
Installation Instructions: https://github.com/defclass/thinknote
Updated on: Sat February 24, 2024