Logseq links thoughts like synapses

Networked

© Lead Image © prat kitchatorn, 123RF.com

© Lead Image © prat kitchatorn, 123RF.com

Author(s):

Logseq, a knowledge database note-taking app, emulates its better-known competitor Roam Research and even outperforms it in some instances.

If you are looking for an open source note-taking app, the Internet abounds with options ranging from simple, plain text apps to ones that let you display a wide variety of media. Some users, who consider special applications superfluous, find editors such as Vim, Kate, or gedit totally up to the task. Fans of open source alternatives to the proprietary top dog Evernote, currently in beta for Linux [1], want apps that offer advanced functions such as displaying images, playing back audio and video, and viewing tables or web content. And then there are proprietary networked knowledge bases such as Roam Research and Obsidian.

Logseq [2], licensed under the AGPL 3.0, offers an open source alternative to Roam Research and Obsidian. It describes itself as an open source knowledge management and collaboration platform that puts privacy first. In this article, I put Logseq through its paces to see how it compares to its proprietary competitors (see the "Alternatives" box).

Alternatives

Obsidian, released under a proprietary license, is the pioneer of networked knowledge storage. In the open source community, Roam Research [3] has a strong presence. It costs around EUR160 (~$157) a year and stores data in the cloud. Logseq covers a large part of the functionality of Roam Research and even outperforms its role model in some respects. If you rely on team capabilities, you will want to take a look at Notion [4]. Although Notion exclusively works in the cloud, it offers client-side, end-to-end encryption.

Logseq at Work

Logseq goes far beyond simply storing notes. Logseq saves notes written in Markdown or Emacs Org mode [5] as plain text files, making the stored data universally usable. In addition, Logseq supports tasks, to-do lists, and journals. It manages entries in blocks, which you can link and visualize as a mind map using the Graph view to connect ideas. Logseq distinguishes between Page graphs for single pages and the entire graph for all entries.

In addition to Emac Org mode, Logseq cites TiddlyWiki [6] and Roam Research as its influences. Logseq can be connected to the Excalidraw [7] virtual whiteboard and the Zotero [8] literature manager (you must be working in Zotero for the connection to work).

Local Knowledge Management

Logseq can be used as a web service or as a desktop application (Figure 1) on Linux, macOS, Windows, and soon officially on Android. Logseq's underlying Electron framework [9] results in the application weighing in at around 150MB. Such a large chunk of disk space is a potential disadvantage, even for a tool with Logseq's functionality.

Figure 1: The Logseq desktop app is similar to the web version. The sidebar on the left displays the hamburger menu, while the sidebar on the right shows content, graphs, and help (both sidebars can be hidden).

Logseq is quickly deployed, either as an installation from the website, a Flatpak, or an AppImage (see the "FUSE" box). Logseq saves all your entries as separate files on your hard disk, where they remain under your control (Figure 2). Whether you run Logseq as a web app or as a locally installed application, the first order of the day is to create a local folder in your home directory to store all your files. You can specify the same home directory for both the web version and the desktop application, which means that changes to the web version are replicated locally. Logseq is not case sensitive; Recipes and recipes will both take you to the same page.

FUSE

When you launch the AppImage under a recent Ubuntu 22.04 LTS, the system reports that the filesystem in userspace (FUSE) is missing. This message is typically misleading, because modern distributions have FUSE as part of their default installation. The only thing missing is an older library as an interface. If you mistakenly run the command:

sudo apt install fuse

the package manager will remove a number of other important packages. Instead, just install the libfuse2 package with a call to

sudo apt install libfuse2

Logseq now launches without complaint. For other distributions, the AppImage wiki explains how to install the missing packages [10].

Figure 2: Each page or journal entry is saved as a text file in Logseq. You can open and edit the entries with a Markdown app or any text editor.

If you want to type without distractions, Logseq comes up fullscreen with sidebars added to the left and right if needed. In the Settings menu (accessed by clicking on the ellipsis icon in the main panel), you can set editor preferences (Figure 3), choose a light or dark page background, enable Logseq's experimental encryption feature, or link Logseq to Zotero, among other options. From the left sidebar (accessed by clicking on the hamburger menu), you can navigate between Journals, Flashcards, Graph view, and All pages, as well your favorites or recently viewed items. The Flashcards option lets you create flashcards for revision purposes (Figure 4). To add a new page, click the plus icon at the bottom of the screen.

Figure 3: In the Settings | Editor, you can set preferences for how your editor works.
Figure 4: Logseq supports flash cards for revising content. You can create cards from scratch or extract them from previously created blocks.

Markdown or Org Mode

While writing, you can format the text with Markdown immediately. After pressing the Enter key, you immediately see the formatted results in the same window and not in a separate one like many Markdown apps. Each time you press Enter, the editor creates a new bullet point, which you can tab in as needed. A bullet point with text is known as a Block in Logseq. Pressing Shift + Enter creates a new line in the same block. Under Settings | Version Control, a Git-style feature lets you view and restore previous versions of the content via File history (Figure 5).

Figure 5: A Git-style feature supports versioning and reverting to previous versions of the entry.

If you enter a slash in a block, a context menu will open with a long list of options for formatting the block including adding links, images, and a to-do entry. The to-do entry creates a box at the beginning of the block entry that, when checked, crosses out the text and marks it as done.

Right-clicking on a bullet point opens a list of formatting options, including color formatting, converting the block into a template, and more. Among other things, you can move the text located to the right of a bullet point to the right sidebar and keep multiple notes in view at the same time. If you left-click one of the bullets, you will only see the selected block, which means you can edit it without distractions. Logseq lets you manipulate blocks in many ways. Among other things, blocks can be moved, expanded, and collapsed (Figure 6).

Figure 6: Right-clicking on a block's bullet point opens a list of formatting options. You can color code the block, convert it to a template, open the entry in the sidebar, copy its references, or create a flashcard with its content.

Logseq also lets you include links to PDF documents. Clicking on a link opens the document in a separate window and lets you highlight text passages, which the program then adopts as references in the notes. If you click on a reference of this type, the PDF then opens at that location.

Linking Content

Perhaps you have created thousands of notes over the years. Navigating through them can be difficult. Logseq does not follow the top-down design principle when working with folders; instead it uses a bottom-up design [11] in the form of graphs.

Logseq supports you by automatically creating graphs that ressemble mind maps [12]. These graphs work along similar lines as the human brain, where categories are created by linking synapses. As a result, the more often an entry is linked to others by backlinks or hashtags, the more prominently the entry is displayed in the graph. A graph also helps to see which pages are not linked but would benefit from a link. The usefulness of these graphs increases with the number of entries and links (Figure 7).

Figure 7: The Graph view visualizes the links between pages and journal entries.

You can also search at the word level. To do this, either use the search mask (Ctrl+K) or hold down the Shift key and click on the title of a page in the sidebar or a linked term in an entry. The respective page with its links then appears in the right sidebar.

Linking with square brackets or hashtags in Logseq proves to be a powerful tool. To create connections, create a new bullet point in an entry and type the title of an existing or yet-to-be-created page in double square brackets. Depending on your preference, you can use a hashtag instead to create the link. Backlinks or hashtags form the links in the graph.

Learning Curve

Logseq may seem a little confusing at first until you find your workflow – sometimes this takes several tries. I start each morning with a journal entry that summarizes the day's tasks. It has a header of Tasks in double square brackets, which means that it can be linked to an existing page on the topic, or I can create a new page with that name. If I then click on the Tasks page, I will see a continuous list of daily tasks with their respective dates. Combining this with the to-do function, I quickly have an overview of what I have done and what I still need to work on.

This work approach saves a great deal of time, because you can work with shortcuts instead of folders. You don't have to think about where to store entries or how useful a heading is: The meaning is derived from the links. You can write about a wide variety of topics in a daily journal entry and then link them meaningfully to other pages that already exist or you plan to create.

As a result, you generally don't have to worry about finding entries in Logseq. However, if you want to use graphs productively, you should think about a sensible structure in advance and test it. When doing so, start by looking at the Graph view from the left sidebar after making changes to the entries and then decide if this makes sense for your use case.

In this article, I can only hope to present a fraction of Logseq's feature set. I have only been using Logseq for two months in parallel to my long-time favorite local wiki Zim, and I still feel very much like a Logseq novice. It takes a few months of use for Logseq to fully reveal its secrets. The documentation, FAQ, and an option for defining keyboard shortcuts are all hidden behind the Help link at the top of the right sidebar.

Conclusions

Logseq's reception in the open source community is evident from the 120 or so contributors on GitHub and a Discord chat with 1,300 active participants at the time of testing.

The only negative point I noticed in testing is that Logseq collects telemetry data without asking the user. If in doubt, you may want to check out the relatively brief privacy policy [13].

Logseq has gleaned many features from Roam Research and made some things better, such as PDF integration. Although the application is still in the beta phase, the software's potential is already becoming apparent. An Android app is in the testing phase and can be found as an APK on the GitHub page. A Pro version of Logseq with synchronization is in the planning stage. The developers just received about $4 million in venture capital, but you can also support Logseq by donating on OpenCollective [14].

The Author

Ferdinand Thommes lives and works as a Linux developer, freelance writer, and tour guide in Berlin.