块引交互逻辑修改提议

本贴最后更新于 1126 天前,其中的信息可能已经时移世改

提议将块引交互逻辑修改为:左键 仍然是跳转,右键 改为打开浮窗,ctrl+click 改为 修改锚文本,悬停时不做任何操作

目前的悬停打开浮窗会导致有时候不想打开浮窗,却不小心打开浮窗

比如在打字时会不小心打开浮窗:

temp227.gif

在滚动时会不小心打开浮窗:

temp228.gif

以及现在的浮窗不能动态加载,不小心打开大文档的浮窗后,思源会直接卡死

因此,可以考虑将悬停打开浮窗变为右键打开浮窗,在交互便捷程度上差不多,而且不会出现误触打开浮窗的情况

而目前右键的主要功能是修改锚文本

除了右键修改锚文本,还可以在粘贴块引用前先写好修改后的内容,然后选中修改后的内容,粘贴:

temp229.gif

也可以直接在正文中修改:

temp230.gif

而且修改锚文本本身相比跳转和浮窗来说是较为低频的操作,对于大部分块引用来说,最多只修改一次锚文本,因此可以改变成 ctrl + click 修改锚文本

现有的 ctrl+click 功能,和浏览器的逻辑对应,可以改成使用中键

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    25732 引用 • 106482 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • WeiCJ

    在我个人的使用过程中,浮窗的正向效果带来的方便性还没有误触带来的负面效果大。

    [在日常的写作和阅读中] 浮窗的误触特别影响

    [在回顾以往记录的时候] 鼠标悬浮弹出浮窗的使用方式就很舒服

    不过目前我通过修改 css 和 js 将浮窗改为固定靠近右边的小窗口了,算是符合个人的一个使用习惯了,即使弹出也不会影响正文了。

  • 其他回帖
  • fangly 1 评论

    来份不是特别严谨的反证法:

    首先把便捷程度定义为:用户产生弹出某个窗口的想法 到 该窗口真正弹出 所需的时间。时间越短,越便捷。

    假设悬浮操作比右键更便捷

    当鼠标移动到块引用上时,用户有两个可能选择:等待悬停出现浮窗 or 右键修改锚文本

    若悬停比右键更便捷,则悬停出现浮窗的速度应当快于右键,即浮窗先出现,右键的修改锚文本窗口后出现,这时就会出现下图的情况,修改锚文本的窗口在浮窗的底下,用户将无法修改锚文本:

    image.png

    而实际情况是,右键的修改锚文本窗口先出现,浮窗还没来得及出现就因为修改锚文本窗口的出现被中断了,假设情况与实际情况产生矛盾,假设不成立

    思源目前操作逻辑的隐含假设应当是右键比悬停更便捷,而目前的右键功能却绑定给了一个非高频操作。

    当然这部分交互的改动对用户的影响比较大,还需要多方考虑,我只是提了一种修改方案,也可以有别的方案,但这部分的交互设计我认为肯定是有提升空间的。我是因为看到 反馈:使用一些时间后的提议,图标、交互、引用、跳转、浮窗、布局。 这个帖子,有一点想法,所以提议了一下。

    像下面这个情况,我是经常遇到的,比如我要在某句话后面加几个引用块,然后这时我会把鼠标移动到这句话后面,然后点击一下,把鼠标定位在这句话最后,接着写块引用,这时候写完第一个块引用,鼠标自然就悬停在第一个块上,因此一定会出现这个块引用的浮窗,而这并不是我预期的:

    同时,我的某些文档里面几乎全是块引用(类似 MOC、zettelkasten),在这些文档里面查看时,时不时就会弹出并不是我预期的浮窗,导致我查看这些文档时都得小心翼翼的。

    在 web 页面设计中,悬停显示浮窗是符合直觉的做法,但是思源中的块引用为什么会不一样,我认为主要有这两个原因:

    1. 思源是所见即所得,在编辑过程中也会弹出浮窗,因此会在编辑过程中出现非预期的浮窗弹出行为,而对于写 web 界面的开发者来说,在写代码时并不会弹出浮窗。
    2. 一般的 web 页面可以弹出浮窗的触发点比较少,不容易误触,而笔记中,有的页面会有大量的块引用,容易误触。因此,对于其他的浮窗,比如面包屑浮窗、反链浮窗,悬停展示就没什么问题,但对于块引用,就容易出现误触的情况。
    6 操作
    fangly 在 2022-05-01 15:51:23 更新了该回帖
    fangly 在 2022-05-01 14:51:00 更新了该回帖
    fangly 在 2022-05-01 01:04:15 更新了该回帖
    fangly 在 2022-05-01 00:58:44 更新了该回帖 fangly 在 2022-05-01 00:44:13 更新了该回帖 fangly 在 2022-05-01 00:40:25 更新了该回帖
    在浏览的时候,光标一般在右侧靠近滚动条的位置;在编辑的时候光标会停留在上一次的位置。在移动且悬停的时候应该就是需要查看的时候。如果不习惯的话可以加一个按住 ctrl 再显示的选项,这样如何?
    Vanessa
  • fangly 3 评论

    @Vanessa

    用户能选择 ctrl 悬停弹出浮窗的话,是否能在设置中再多一个可选项:右键显示浮窗,ctrl+ 悬停修改锚文本?

    在浏览的时候,鼠标在自然情况下应该在正文的位置而不会在两边留白处,用户一般不会为了避免误触而特意把鼠标往右边放,更何况在窄宽度的情况下,两侧没有留空,鼠标只能在正文中。而且编辑和浏览之间并没有界限,编辑过程中肯定会有浏览回顾的过程,浏览回顾的过程中也经常需要编辑修改,一边编辑一边浏览是常态,这时候鼠标大部分情况下肯定是停留在中间正文中。

    在我帖子最前面的两张动图中,都不是“移动且悬停”的情况,但都弹出了浮窗:

    像下面这种页面就属于浮窗的灾难,根本无法避免浮窗的误触弹出,鼠标根本不知道要放在哪里:

    image.png

    这种全部是引用的页面不是我故意找茬的,在双链笔记中流行的卡片盒笔记法中是一定会出现这种页面的,可以称为卡片盒,比如下面 roam research 社区中的例子。我最近就经常和这类页面打交道,导致我最近的使用体验非常糟糕,每次看文档都得小心翼翼地避免浮窗的非预期弹出:

    image.png

    roam 里面没有浮窗,所以他们不考虑这个问题,思源里面有浮窗的话,就需要考虑这种页面下怎么避免用户误触浮窗

    这个不是习惯的问题,悬停打开浮窗确实是符合习惯的,浮窗也是很常用的功能,我认为是思源的杀手锏之一,目前思源的浮窗功能是所有双链软件中最强的,但是要解决非预期弹出浮窗的情况,用户不想浮窗弹出的时候浮窗弹出来了,这就很恼火。

    添加按住 ctrl 再显示浮窗的选项我觉得对于不太用浮窗的用户来说可以接受,但对于常用浮窗的用户(例如我)来说有点过于麻烦了,毕竟浮窗是一个高频操作,每次都要按 ctrl 键悬停相比原先的直接悬停 用户体验上是直线下降,从纯鼠标操作变成了键盘和鼠标的配合操作,通过降低正常使用时的体验来减少非预期行为的发生我感觉不太合适,我个人还是倾向于右键更方便,现在的右键绑定给一个非高频操作个人感觉没啥必要 😂,当然我感觉最好的方案是在设置中能让用户自由选择以下几个选项:

    • 选项 1:悬停显示浮窗,右键修改锚文本(默认选项)
    • 选项 2:ctrl+ 悬停显示浮窗,右键修改锚文本(适合不太用浮窗的用户)
    • 选项 3:右键显示浮窗,ctrl+ 悬停修改锚文本(适合常用浮窗而且块引很多容易误触的用户,我中意这个 😄 ,不仅能非常便捷地打开浮窗,而且不会误触,这个选项不占用 ctrl+click,应该也不会影响思源的整体操作逻辑,只是把选项 2 颠倒了一下,是否能实现呢)
    这些情况应该只出现在正文编辑部分吧,其余的应该还是默认悬停,不需要跟随配置? 有了这些选项应该就不需要再配置悬停时间了。
    Vanessa
    @Vanessa 应该只有块引用的浮窗需要避免误触,其他的像面包屑和反链上的浮窗需要把鼠标悬停在块标上,不太会出现误触的情况。悬停时间我认为是不需要配置的,应当就是越短越好,我对现在的块引浮窗的感受是,想要浮窗弹出时,浮窗弹出有点拖沓,不想它弹出时,又时不时突然弹出。
    fangly 1
    Vanessa
  • 悬浮这个操作更方便一些,暂时不改了,继续收集反馈看看。

    1 回复

推荐标签 标签

  • 生活

    生活是指人类生存过程中的各项活动的总和,范畴较广,一般指为幸福的意义而存在。生活实际上是对人生的一种诠释。生活包括人类在社会中与自己息息相关的日常活动和心理影射。

    229 引用 • 1432 回帖
  • etcd

    etcd 是一个分布式、高可用的 key-value 数据存储,专门用于在分布式系统中保存关键数据。

    6 引用 • 26 回帖 • 543 关注
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    167 引用 • 408 回帖 • 490 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 555 关注
  • 笔记

    好记性不如烂笔头。

    310 引用 • 794 回帖 • 1 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    246 引用 • 1338 回帖
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    134 引用 • 1127 回帖 • 108 关注
  • 996
    13 引用 • 200 回帖 • 3 关注
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    25731 引用 • 106481 回帖
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    125 引用 • 74 回帖
  • V2Ray
    1 引用 • 15 回帖 • 2 关注
  • abitmean

    有点意思就行了

    33 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    499 引用 • 1395 回帖 • 245 关注
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    118 引用 • 54 回帖 • 1 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 369 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 671 关注
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 53 关注
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 223 关注
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    52 引用 • 190 回帖 • 1 关注
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖 • 5 关注
  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    52 引用 • 228 回帖
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 77 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    588 引用 • 3528 回帖 • 1 关注
  • 安全

    安全永远都不是一个小问题。

    199 引用 • 818 回帖
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 36 关注
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    71 引用 • 535 回帖 • 832 关注