How to do research with modern note-taking tools?
Preface
Modern note-taking tools (e.g., Heptabase, Roam Research, Notion) are powerful. They provide features such as whiteboards, bi-directional links, block-based editor, database, etc., that allows us to interact with our thought in new, powerful ways.
However, giving you a pen doesn’t mean you’ll write like Hemingway; these powerful features in modern tools also won’t make you think like Einstein if you’re not conscious of the way you use them. Instead, it’s easy to result in a giant bi-directional linked graph or a messy whiteboard with hundreds of cards without knowing how to use them.
In this article, I want to share how I, a creator of one of the modern tools called Heptabase, use my tool to achieve my goal. I do not intend to teach you the ‘right way’ of using these modern tools. Instead, I want to help you see the real potential behind these tools and figure out your own way of using them.
Capabilities of modern tools
When using a new tool, we should always be conscious of two things:
- What’s my purpose for using this tool?
- What new capabilities does this tool provide?
Early-stage startup founders, like me, spend most of our time doing user & product research. My purpose in adopting a new tool is to help me do better research.
When I first started using Heptabase, I knew its features provide three capabilities for doing research:
- Whiteboard: Capability of gaining a deep understanding of a topic in a spatial context.
- Bi-directional link: Capability of moving and filtering information from one textual context to another.
- Card Transclusion: Capability of reusing information in multiple spatial contexts.
Research is the process of creating knowledge from information. To create knowledge, we must put information under a context to gain a deep understanding and new perspective of this information — that’s how the first capability comes into play.
However, the context of how information is acquired is often different from the context of your research. Therefore, research usually requires moving, filtering, and reusing information from one context to another. That’s when the second and third capabilities become useful.
Now we can see how I use these three capabilities to help me do user & product research.
Example: User & Product Research
Every product solves problems for its users. When building a product, the more we know about our users, the better we can solve their problems. Therefore, my everyday job is converting tons of user feedback and feature requests into an understanding of user personas and user problems.
When doing user & product research, I have to move information across three contexts constantly: feedback and feature requests on discord community (context 1) → user personas and user problems (context 2) → design problems and possible solutions (context 3). Let’s see how I perform this process in practice.
Context 1 → Context 2: Overview
Startups don’t solve problems for a single user (e.g., AlanChan#1234). We solve problems for several user personas (e.g., Researchers, Project Managers, etc.)
For example, AlanChan#1234 requested a feature of using a whiteboard to read PDF files. Instead of building what he told us to build, we asked him questions to learn more about his background and why he requested this feature.
It turns out AlanChan#1234 is a Ph.D. student, and when he’s reviewing his research notes, he finds it difficult to retrieve the source that inspired him to take these notes, and all the sources are stored in PDF format.
Therefore, AlanChan#1234’s user persona includes Researcher and Student, and one of his user problems is “When I’m reviewing my research notes, I find it difficult to retrieve the source.”
After we understand the user problem, we might not solve it immediately. Hence we want to ensure that when we want to solve problems for Researchers in the future, AlanChan#1234’s user problems will re-surface.
Context 1 → Context 2: Practice
In Heptabase, I have created a process to convert feature requests into an understanding of user personas and user problems. The process includes three types of cards:
- Persona cards, such as “Researcher”, “Project Mangers”, “Software Engineers”, etc.
- User cards, such as “AlanChan#1234,” “Yeefun#5678,“ etc.
- Feature request cards, such as “Heptabase Feature Request (2022/06).”
In feature request cards, I write feature requests in the format of a link to a user card (e.g. AlanChan#1234) + feature description (e.g., I want to use a whiteboard to read PDF). With this format, when I open AlanChan#1234’s card, I can see all his feedback and feature requests in the backlink section.
Using this information, I can better understand AlanChan#1234’s user problems. I will then link AlanChan#1234’s card to its persona cards (e.g., Researcher, Student) and write down his user problems under the persona card links.
Now, when I open the backlink section of a persona card, such as Researcher, I can see all user problems from all users who have linked to this persona. By weighing these user problems, I can determine the most significant user problem researchers face.
In Heptabase, I’ve put all the cards mentioned above: feature request cards, user cards, and persona cards, on a whiteboard called “Heptabase Users Feedback (2022.06).” This whiteboard allows me to create a pipeline of processing information and group user cards based on their status.
In this pipeline, we have the feature request cards as input, persona cards as output, and user cards as an intermediate layer that helps us convert feature requests into an understanding of user personas and user problems.
Context 2 → Context 3: Overview
After I understand user personas and problems better, I can use this information to determine the priority of which user problem we should solve first and start thinking about design problems of this user problem.
For example, the user problem “As a researcher, when I’m reviewing my research notes, I find it difficult to retrieve the source” can introduce many design problems, such as:
- I want to create notes while reading my sources and link them automatically.
- I want to store my sources within my notes.
- I want to integrate my note-taking system with my source-manager.
Different design problems will lead us to different solutions. For example, the first design problem might result in allowing whiteboard to read and break down PDFs, the second might result in allowing uploading PDFs to a card, and the third might result in integration between Heptabase and Zotero or Mendeley.
When thinking about design problems, we have to be careful about choosing the right problem and not falling into a solution too fast. It is important to constantly reflect on the original user problem, compare all existing solutions (i.e., how other products are solving this user problem), and think about whether there are new ways to solve it.
Context 2 → Context 3: Practice
In Heptabase, I have created a process that converts a user problem into a design solution.
For example, last month, I was trying to solve the user problem of “As a researcher, I find it difficult to convert daily fleeting ideas into knowledge that’s useful for my research.” Many users create cards with only a title or one sentence and don’t know how to make use of them afterward.
To solve this user problem, I created a whiteboard called “How to convert fleeting ideas into useful knowledge.” I reuse the Researcher’s persona card on this whiteboard as a starting point to see all related feature requests to this problem.
Whenever I have a new idea about how to solve this problem, I create a new card on this whiteboard. I also looked into many other tools (e.g., Roam, Obsidian, Mem) to see how they solve this user problem and create a summary card for each on the whiteboard.
After a while, I have many cards on this whiteboard — related feature requests, new ideas and insights, existing solutions, different angles of understanding the problem, words from our users, etc. I was constantly rearranging cards, merging and dissecting them, and eventually converting them into a finalized structure.
The finalized structure allows me to create the design of a new feature — Journal. So far, most users like it and think it helps solve the problem much better than our original Timeline feature.
Conclusion
In the above example, you can see that I’ve been using the capabilities Heptabase provided to do my research. I used bi-directional links to convert feature requests into user personas and problems. I used card transclusion to convert a user problem into design problems. I used a whiteboard to convert design problems into feature spec.
Here are the core lessons we learned from the above example:
- When using a new tool, be conscious of the new capabilities it provides and your purpose for using the tool.
- Try to design a process that utilizes these capabilities to fulfill your purpose.
- Always think about the input/output of the process before you start taking notes.
In Douglas Engelbart’s Augmenting Human Intellect: A Conceptual Framework, he didn’t just talk about the new capabilities computer can provide. He emphasized how these new capabilities can introduce new, powerful processes to augment our thinking. When talking to users of these modern tools, that’s something I’ve seen most people miss. I hope this article can raise your awareness of it and inherit Engelbart’s spirit when using a new, powerful tool.
前言
現代筆記工具(例:Heptabase、Roam Research、Notion)非常強大,提供了白板、雙向連結、區塊編輯器、資料庫等功能,讓我們可以用全新的方式與知識和想法互動。
然而,正如同擁有鉛筆並不代表你能像海明威一樣寫作,擁有現代筆記工具也不代表你能像愛因斯坦一樣思考。如果你在使用這類工具前缺乏有意識的規劃,很容易就會做出由成百上千份筆記構成的龐大網絡或白板,但是仍然不知道這個網絡或白板到底對你有什麼用。
在這篇文章,我將以一個現代筆記工具的創造者的身份,分享我如何使用這類工具完成我的目標。我並不打算直接教你「正確的」使用筆記工具的方式。反之,我希望展示這些工具背後真正的潛力,並讓你有辦法找出一套適合自己的使用方式。
現代工具的能力
每當開始使用一個新的工具時,我們都應該問自己兩個問題:
- 我使用這個工具的目的是什麼?
- 這個工具提供了什麼樣的新能力?
像我這樣的創業者,大部分時間都在做用戶和產品研究。當我使用新的筆記工具時,目的就是做出更好的研究。
我在初次使用 Heptabase 時,知道它的功能提供了以下三個能幫助我做研究的能力:
- 白板:在一個空間脈絡下深度思考一個主題的能力。
- 雙向連結:在多個文字脈絡之間傳送和過濾資訊的能力。
- 卡片複用:在多個空間脈絡之間重複使用資訊的能力。
做研究的本質,就是透過資訊創造知識。要創造知識,我們必須將資訊放在一個特定的脈絡下,建立深刻的理解與新的觀點 — 這就是第一項能力有用的地方。
然而,資訊生成的脈絡往往和我們研究的脈絡不同,也因此在做研究時,我們常常需要將資訊在不同的脈絡之間移動、過濾、重複使用。這就是第二和第三項能力有用的地方。
現在我們可以來看我如何用上面提的這三項能力來做用戶和產品研究了。
範例:用戶和產品研究
每一個產品存在的目的都是為了解決用戶問題。在做產品時,我們對用戶的理解愈深,我們的產品就能更好地解決用戶的問題。我每天的工作都是在將用戶的反饋和功能請求轉換成對用戶畫像和用戶問題的理解。
在做用戶和產品研究時,我必須將資訊在三個脈絡中轉換:用戶在 Discord 社群的反饋和功能請求(脈絡一)→ 用戶畫像和用戶問題(脈絡二)→ 設計問題和潛在解法(脈絡三)。下面是我完成這個轉換的流程。
脈絡一 → 脈絡二: 概覽
新創公司從來都不會為了單一用戶解決問題(例:AlanChan#1234),而是會為特定的用戶畫像解決問題(例:研究者、產品經理)。
舉例來說,用戶 AlanChan#1234 要求我們讓白板可以讀取 PDF 檔。我們並不會直接幫這位用戶做他要求的功能,而是會問他一些問題,像是他在做什麼工作、他為什麼需要這個功能?
我們發現,AlanChan#1234 是一個博士研究生。當他在複習他的研究筆記時,他發現他很難找到讓他記下這些筆記的原始文獻,也就是一堆 PDF 檔。
由此可知,AlanChan#1234 的用戶畫像包含了「研究者」和「學生」,而他其中一個用戶問題是「當我在複習研究筆記時,我很難調出該筆記的原始文獻」。
我們現在知道 AlanChan#1234 的功能請求背後的用戶問題了,但我們不一定會馬上解決這個用戶問題。也因此,我們希望未來當我們想要幫「研究者」這個用戶畫像解決問題時,AlanChan#1234 的用戶問題可以重新浮現在我們眼前。
脈絡一 → 脈絡二: 實作
在 Heptabase,我打造了一套流程來將用戶的功能請求轉換成用戶畫像和用戶問題。這個流程牽涉到了三種卡片:
- 用戶畫像卡片:例如「研究者」、「產品經理」、「軟體工程師」。
- 用戶卡片:例如「AlanChan#1234」、「Yeefun#5678」。
- 功能請求卡片:例如「Heptabase 功能請求(2022/06)」。
在功能請求卡片中,我寫的每一個功能請求都會包含發請求的用戶(例:AlanChan#1234)以及請求的內容(例:我希望能用白板讀取 PDF 檔)。這樣的格式可以讓我在打開 AlanChan#1234 這張卡片時,在反向連結的欄位看到這個用戶過去發過的所有反饋和功能請求。
這些反饋和功能請求的資訊將會讓我對 AlanChan#1234 的用戶問題獲得更深的認識。我接著會從 AlanChan#1234 的用戶卡片提及他對應的用戶畫像卡片,也就是「研究者」和「學生」,並在這些用戶畫像卡片的連結底下寫下與他有關的用戶問題。
現在,當我打開「研究者」這個用戶畫像卡片時,我可以在反向連結的欄位看到所有研究者類型的用戶遇到的所有用戶問題。我可以將這些用戶問題做統計和加權,進而歸納出研究者用戶最需要被解決的問題。
在 Heptabase,我會將上面提到的所有卡片(功能請求卡片、用戶卡片、用戶畫像卡片)全部放到「Heptabase 用戶研究(2022.06)」這個白板裡頭。這個白板讓我可以很清楚地看到一套流水線,每一種類型的卡片都會根據他被處理的狀態添加不同的顏色。
在這個流水線裡,我們的輸入是用戶的功能請求,輸出是用戶畫像,而中介轉換層則透過大量的用戶卡片將所有的功能請求轉換成對用戶畫像和用戶問題的深度理解。
脈絡二 → 脈絡三: 概覽
在深入理解用戶畫像和用戶問題後,我可以使用這些資訊來決定下一個要解決的用戶問題,並開始思考相關的設計問題。
舉例來說,對於「作為一個研究者,當我在複習我的研究筆記時,我很難調出該筆記的原始文獻」這個用戶問題,我們可以引申出以下設計問題:
- 我希望在閱讀文獻時,創造與文獻相連的筆記。
- 我希望將我的文獻存在我的筆記裡頭。
- 我希望能將我的筆記系統和文獻管理系統整合再一起。
不同的設計問題會導致不同的解決方案。第一個設計問題可能導致我們做出讓用戶用白板閱讀和拆解 PDF 的功能,第二個設計問題可能讓我們做出讓用戶在卡片中上傳 PDF 的功能,第三個設計問題可能讓我們做出將 Heptabase 和 Zotero 或 Mendeley 整合的功能。
在思考設計問題時,我們必須非常謹慎地選擇出正確的問題,避免太快地收斂到解決方案上。我們必須時時刻刻回顧用戶問題的本質,研究所有現存的解決方案(其他產品解決這個問題的方式),並思考是否有新的解決問題的方式。
脈絡二 → 脈絡三: 實作
在 Heptabase,我打造了一套流程來將用戶問題轉換成設計的解決方案。
舉例來說,上個月我們在嘗試解決的用戶問題是「作為一個研究者,當我在整理研究筆記時,我發現我很難零散的靈感轉換成對我研究有用的知識」。有些研究者用戶發現他們創造了一堆只有標題或是一句話的卡片,但是不知道要怎麼有效地利用這些卡片。
要解決這個用戶問題,我創建了一個叫「如何將零散的靈感轉換成有用的知識」的白板,並在這個白板中複用研究者的用戶畫像筆記,這份筆記裡包含了與這個問題有關的所有功能請求。
每當我對解決這個用戶問題有新的想法時,我就會在這個白板建立新的卡片來紀錄想法。我也研究了很多其他工具試圖解決這個問題的方式(例:Roam, Obsidian, Mem),並將它們的作法建立總結性筆記放到白板上。
過了一陣子,這個白板上累積了許多卡片,包含功能請求、新的想法和洞察、現存的解決方案、不同的理解問題的方式、用戶的反饋等等。我時常會重新擺置這些卡片,將它們做整合和拆解,最終收斂出一個結構出來。
這個收斂出來的結構幫助我完成了 Journal 這個新功能的設計。截至目前,大部分的用戶們都很喜歡 Journal,認為它比我們原本提供的 Timeline 功能更好地解決了「如何將零散的靈感轉換成有用的知識」這個問題。
結論
在上面的例子中,你可以看到我不斷地在使用 Heptabase 提供的能力來進行我的研究。我使用雙向連結將功能請求轉換成用戶畫像和用戶問題、使用卡片複用將用戶問題轉換成設計問題、使用白板將設計問題轉換成功能設計。
從這個例子我們可以學到幾件事情:
- 當你在使用一個新的筆記工具時,最好先暸解這個工具提供了什麼樣的新能力,以及你使用這個工具的目的是什麼。
- 試著思考你可以怎麼使用這些能力設計一套流程來達成你的目的。
- 在記筆記之前,先想想你設計的流程的輸入是什麼、輸出又是什麼。
Douglas Engelbart 在 Augmenting Human Intellect: A Conceptual Framework 這個經典著作中不只提到了電腦能提供什麼樣的新能力,更強調了這些新能力可以讓我們創造什麼樣的流程來強化我們的思考。在和很多現代筆記工具的用戶對話時,我發現人們很常忽略了流程的重要性。我希望這篇文章能幫助你重新思考你的筆記流程,繼承 Engelbart 的精神,更好的使用現代筆記工具來達成你的目標。