#UX 全局导航优化:缺乏所有笔记内容的统一入口

存在的问题
logseq中一个[[页面]]对应一个md文件,新建一个「页面」并记录内容就会自动生成一个md文件,这就意味着,logseq笔记的最小单位是[[页面]]而不是 ((Block)) ,本质上还是基于「文件夹」的方式去管理和组织笔记,但logseq对笔记的组织又不像其他笔记应用那样会在侧栏中展示文件夹和md文件的层级关系,而且在Journals中记录的笔记和在page中新建的笔记被logseq划分成两个不同的模块,某种意义上造成了割裂的记录体验,导致用户无法以一种连续、线性的方式去访问自己写过的所有笔记。

作为对比,在workflowy这类大纲笔记、模块化笔记Notion、基于本地的笔记工具obsidian和typora及传统笔记工具(如印象、有道、为知)中,就不存在这个问题,因为它们是基于传统的「文件夹」树形结构去构建笔记内容的,而这也是用户的心智模型,它们使用侧边栏树形导航去呈现笔记的结构,用户在这些工具中编辑某个笔记页面的同时,可以清楚的知道自己所浏览的笔记内容在所有笔记中的位置,能够以一种上帝视角去概览全局,从而获得对笔记内容和结构的掌控感。

而在logseq中,如果要查看所有笔记列表,需要点击头像,然后从下拉菜单中点选「所有文件」或「所有页面」才能打开笔记列表概览全局,这使得用户不得不在各种概览-详情页面中反复跳转。如果在浏览其它笔记内容时通过顶部搜索框创建新的笔记页面或通过输入[[页面]]的方式创建笔记,会自动生成单独的markdown文件,这个页面只能通过引用(Linked References)返回来源笔记,如果是一个新页面,引用那一栏就是空的,标题上方没有任何界面元素可以点击返回之前浏览的内容。新手用户无法通过上下文了解自己当前所在的位置,很容易迷失在自己创建的页面里:

这种情况下,当前如果想要快速的访问指定的笔记有三个办法:

  1. 从「最近」的列表中选择浏览。
  2. 手动将笔记页面添加到「目录」
  3. 从顶部搜索栏搜索页面
    第一种方式,一旦退出账号或更换设备登录,最近列表就会丢失;
    第二种方式,需要用户逐一将每个页面添加到目录,它本质上是收藏而不是目录。有时候,只是想临时浏览笔记的内容,这个操作成本就显得太高了;
    第三种方式,需要用户记得笔记的标题或关键词,搜索是有目的的浏览,如果没有目的(关键词)呢?

更好的方案
logseq提供了使用大纲来操纵md文件的方式,对比上面那张图,一个非常有效的交互就是提供了基于当前页面的面包屑导航。如图:


它实际上是通过Block+Focus+路径来达到模拟Page的效果,它解决了几个问题:

  • 用户可以通过面包屑路径了解自己当前所在页面的位置
  • 提示用户是如何到达该页面的
  • 用户可以通过点击面包屑链接来快速返回来源页面
    这三点也是大纲笔记的重要特性。
    然而遗憾的是,如果我使用大纲模式来结构化笔记内容,就意味着我的所有笔记都将保存在一个markdown文件里,这样的话,以md文件来存储笔记就失去了意义:与其他工具的无缝协作和交换,而且logseq使用大纲模式生成的markdown文件必然会夹杂各种自己的语法,当你用其他的md笔记工具打开时,得到的必然是令人失望的渲染结果。
    反之,如果使用markdown格式来构建笔记内容,那么结果就如我开头提到的问题和截图,缺失了对笔记的全局导航,也不能享用面包屑导航的特性。

个人建议
大纲模式有个很大的优势是,它模糊了笔记block与page的边界,对用户来说简化了概念,你完全可以通过无限嵌套block来构建page,所有的一切都基于block实现。也不必再区分block reference还是page reference,甚至连embed也成为了reference的alias…正所谓大道至简,让工具回归到工具本身,而不是贴满各种人类定义的标签。

回到刚才的问题,
1,如果要使用markdown格式来构建笔记内容,我希望能在页面标题上方加上面包屑导航来可视化笔记与笔记之间的路径关系,并展示当前block的属性:


2,统一日记类笔记和页面类笔记,两者在用户的心智模型中应该是无差别的block,统一将笔记内容列表作为首页呈现,取代当前侧边栏中Journals的位置。

↑概念图

1 个赞

但是我却认为目前 Logseq 的文件结构非常的明确并且十分的合理。

  • 一个主题就是一个页面,每个页面可以包含任意层级的大纲结构,并通过面包屑导航进行跳转。
  • 通过双向链接进行主题跳转,使用块引用调用任意主题下面的节点。(希望以后能够实现跨用户跨库调用)
  • 现在的目录结构也很简单,日志一个文件夹,系统一个文件夹,主题笔记一个文件夹,图片附件一个文件夹。

这种配置相当于拓展了 TiddlyWiki 的页面功能,可以直接在一个页面中编写大纲结构的内容了。只是还缺少建立系统文件以及标签系统的功能。

就文件结构上来说,主题对应文件,块对应内容,页面内容跳转可以通过面包屑导航实现这些并没不会对用户产生逻辑上的混乱。(如果能实现类似 theBrain 那样的思维过程导航条那我觉得也很棒)

从于控制级别上来说:

  • “所有页面” 属于用户层控制,就像RR的主题列表那样。只是目前的控制功能有些简单而不够用。
  • “所有文件” 属于系统层控制,我觉得应该放置在更深一级列表中(例如设置的下一级),以免产生混淆。

这就是问题所在。workflowy、roam research的大纲模式在设计之初就是跨页面、跨文件的,而包括logseq、幕布和dynalist在内的追随者却将其限制在单个页面里,那么当用页面的方式来创建笔记内容时,用户就无法在不同的页面之间使用面包屑导航来进行跳转,而只能在他创建的那个页面使用面包屑导航。

这样人为割裂了block之间的内在联系,大纲模式的全局导航功能也丧失了,一旦有了「文件」概念,那么就只能通过「文件夹」的方式来组织和管理文件。这样绕了一圈,就又回到传统的老路上来。通过大纲来管理笔记是为了消除传统「文件夹-文件」机制,消除「page」和「block」的语义边界而诞生的,如果一开始就是「文件夹-文件」这样泾渭分明的结构,为什么还要使用大纲模式来管理markdown文件呢?markdown本身就是层级结构,通过将标题分级(H1,H2,H3)就能构建大纲列表,并能很好的在不同的编辑器获得一致的排版。而logseq给md文件加入大纲模式概念,一旦使用大纲模式来创建md文档,可读性就被破坏了,所有的段落都被添加了####来划分文本,而##语法是md标题文本的标准语法。当然,logseq可以使用标准的md语法来构建页面,但这和大纲模式也没有什么关系了。

至于logseq的目录结构,如果单纯使用大纲结构的话,完全可以不再区分日志文件夹和页面文件夹,因为日期本质上是笔记页面的属性之一,完全可以通过查询视图来获取日志列表而不是生成一个文件夹实体来存放日志。

我的结论是,混合使用大纲模式和传统的文件管理模式来管理笔记内容,其实增加了笔记功能和概念的复杂性,也增加了普通用户的认知负担。单纯使用一种概念来管理会有利于用户理解笔记的结构。毕竟工具只是工具,降低工具的学习成本,可以使用户把精力更多的聚焦于自己的思想和内容上。

7 个赞

感谢你花费那么多的时间来耐心解答,让我理解了原来没有意识到的问题,这也解释说明了TiddlyWiki为什么不支持大纲结构,鼓励文件卡片化,而我在使用过程中,总会有一种迷失的感觉。

但是我也觉得我在思考时确定一个主题对应一个文件本身也符合我的思维逻辑。同时我也不喜欢在主题列表中混杂日志,它干扰了我对思考内容的梳理。

其实问题的核心就像标题那样,是面包屑导航的问题,导航条不能仅仅只是当前页面的层级结构,还应该包含链接到页面的历史记录。导航条应该是二维的,线性导航是不够的,我觉得 TheBrain
的导航方式挺赞的。

除此之外,我觉得你的日记模板很赞,希望以后能够实现。

3 个赞

你的面包屑的提议我非常赞同,之前用过基于vscode的双向链接笔记Dendron,优点就是有层级的笔记和命名,你可以手动给笔记命名为programming/python/多态这样的笔记,相当于在网状的笔记组织结构上人为加了树状文件结构,缺点就是这种方式增加了时间成本,你要不停回顾笔记对旧有的树状进行更新和完善.
还有就是我觉得logseq可以把最近的浏览记录也放到logseq/文件夹下进行多端同步,多端有冲突就按照浏览时间进行排序合并; 还可以增加快捷键,比如alt+1是最近浏览的第一个,alt+2是第二个.

1 个赞

感谢认可,说明一下,那个不是日记模板,是我自己画的一个概念UI设计稿。
关于在主题列表中混杂日志这点,其实很好解决:使用查询功能将不包含特定主题的block内容过滤掉,并保存这个查询结果为链接,起个名字例如「主题」,那么当点击这个链接时,看到的就是包含特定主题的笔记内容,而不是日记;反之,「日记」列表就是那些不包含特定主题的block内容。

2 个赞

是的,浏览记录可以专门用一个文件来同步记录。现在GitHub多端同步冲突经常出现,确实需要解决这个问题。

1 个赞

不赞同这个方法

页面标题上方加上面包屑导航来可视化笔记与笔记之间的路径关系

假如我没理解错的话,这里的路径关系是指两个文档间的引用关系对吗?
那么不应该使用面包屑来展示笔记间的关系。
面包屑很好的完成了它的工作,帮助我们在大纲里上下钻。它展示的是明确的层级关系。
大纲里的面包屑和文件路径是一个东西。路径就像是门牌号。
想象一下
taobaocom/运动鞋
jd/运动鞋
……
从运动鞋“后退”到的结果不再固定,“没有门牌号”了。


我们能从不同出发点、不同方向、用不同交通工具移动到菜市场买菜。
不意味着要把菜市场的门牌号取消掉,改成动态的。

这样问题就很明显了,我们需要的是一幅地图,一幅动态的有记录的地图。
在笔记软件里,那就是一个升级版的叠加显示当前“路线规划”的局部网图。
局部网图
thebrain-view-3

obsidian 里的局部关系图、thebrain的脑图是不够的。显示的箭头、线段只展示了引用关系。相当于是一张蹩脚的价值高昂的纸质地图,不方便在上面写写画画。

应该把它转换成好用的电子地图。把代表跳转起点的圆形,到当前页面的连线,当前页面的圆形都 高亮显示
假如是从还没有引用关系的页面跳转过来的,出发点圆形的描边换成虚线、两个页面的连线也换成虚线显示

1 个赞

可以使用query语法搜集所有打过标签的pages

创始人貌似在第一次线上会议里提到过,会有一个新的形式来搭载这些,说是对于像项目管理类的,另外我看目前的trello路线路,会有一个/book的形式?可以分好多层级。

我就想知道,在我写了数百篇笔记后,我已经不记得都写了些啥,这时该怎么办?完全迷失在笔记的海洋中了。

传统笔记,我可以通过文件夹树方便快速的浏览,在 logseq 里完全不知道怎么办。

1 个赞

同感。简言之,就是既要页面之间灵活跳转,又要传统的树形大纲,后者是基础。

1 个赞

我一般是通过标签来做区分,比如每天的日记就打一个#Diary标签,然后后面想看的时候就点击任意位置的Diary标签,会自动把所有的页面引用放出来,就可以按照时间线看了。

这同样是我使用的痛点,多次尝试构建合理的目录,结果还是怕担心遗漏文件。

这个话题呼声这么高,希望开发者回应一下。

这个确实是一个问题,就是当你写作了很多的笔记之后,怎么样才能让用户快速的调取之前的笔记,搭建目录的话就是需要一周或者一定的时间进行整理,不过这个也好像也符合gtd的工作流形式,所以到底该怎么解决这个问题,高手有没有比较好的方法