块引交互逻辑修改提议

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

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

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

temp227.gif

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

temp228.gif

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

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

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

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

temp229.gif

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

temp230.gif

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

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

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 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
  • 其他回帖
  • WeiCJ
    订阅者

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

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

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

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

  • 88250
    订阅者

    悬浮这个操作更方便一些,暂时不改了,继续收集反馈看看。

    1 回复
  • 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

推荐标签 标签

  • TextBundle

    TextBundle 文件格式旨在应用程序之间交换 Markdown 或 Fountain 之类的纯文本文件时,提供更无缝的用户体验。

    1 引用 • 2 回帖 • 5 关注
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    320 引用 • 309 回帖 • 359 关注
  • abitmean

    有点意思就行了

  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    263 引用 • 245 回帖 • 520 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    33 引用 • 40 回帖
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    4 引用 • 15 回帖 • 405 关注
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    84 引用 • 366 回帖
  • Facebook

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

    4 引用 • 15 回帖 • 500 关注
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    19 引用 • 15 回帖 • 11 关注
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    105 引用 • 272 回帖
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 516 关注
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    49 引用 • 37 回帖 • 4 关注
  • 分享

    有什么新发现就分享给大家吧!

    233 引用 • 1671 回帖
  • 前端

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

    243 引用 • 1345 回帖
  • 一些有用的避坑指南。

    67 引用 • 94 回帖
  • OnlyOffice
    4 引用 • 11 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 585 关注
  • 电影

    这是一个不能说的秘密。

    118 引用 • 591 回帖
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 540 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖 • 70 关注
  • gRpc
    9 引用 • 5 回帖 • 12 关注
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。目前全球有 28% 的网站使用 jQuery,是目前最受欢迎的 JavaScript 库。

    62 引用 • 134 回帖 • 774 关注
  • 七牛云

    七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

    23 引用 • 206 回帖 • 182 关注
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 505 关注
  • Shell

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

    118 引用 • 73 回帖 • 345 关注
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    912 引用 • 1446 回帖 • 497 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    86 引用 • 155 回帖