块引交互逻辑修改提议

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

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

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

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

temp227.gif

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

temp228.gif

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

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

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

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

temp229.gif

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

temp230.gif

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

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

  • 思源笔记

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

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

    18709 引用 • 69853 回帖 • 1 关注

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 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 回复

推荐标签 标签

  • 以太坊

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

    34 引用 • 367 回帖 • 1 关注
  • abitmean

    有点意思就行了

    23 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    106 引用 • 152 回帖
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    89 引用 • 113 回帖
  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    313 引用 • 1667 回帖 • 1 关注
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 594 关注
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    124 引用 • 580 回帖
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖 • 1 关注
  • 博客

    记录并分享人生的经历。

    270 引用 • 2386 回帖
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 559 关注
  • 倾城之链
    23 引用 • 66 回帖 • 102 关注
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    25 引用 • 7 回帖 • 245 关注
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 589 关注
  • Webswing

    Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用

    1 引用 • 15 回帖 • 635 关注
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    1 引用 • 11 回帖 • 2 关注
  • WebComponents

    Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。

    1 引用 • 25 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 45 关注
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    84 引用 • 139 回帖
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 383 回帖 • 5 关注
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    25 引用 • 191 回帖 • 21 关注
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 609 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    85 引用 • 1201 回帖 • 449 关注
  • 区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。

    91 引用 • 751 回帖
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 684 关注
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    123 引用 • 168 回帖
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 455 关注