首页
/ Tusky客户端中过滤通知的交互设计优化方案

Tusky客户端中过滤通知的交互设计优化方案

2025-06-30 06:19:27作者:尤辰城Agatha

背景介绍

Tusky作为一款开源的Mastodon客户端,正在考虑如何优雅地实现Mastodon新增的"过滤通知"功能。该功能允许用户设置条件来过滤不希望直接显示的通知,如来自特定用户或包含特定关键词的通知。

现有方案的问题分析

当前Mastodon网页版将过滤通知以大卡片形式固定在通知列表顶部,这种设计存在明显缺陷:

  1. 视觉权重失衡 - 过滤通知获得了比普通通知更突出的显示位置
  2. 交互逻辑矛盾 - 被过滤的内容本应降低优先级,却占据了更显眼的位置
  3. 用户体验不佳 - 用户需要频繁处理这些本应被过滤的内容

创新设计方案

我们提出了一种"内联显示"的交互方案:

核心设计原则

  • 平等性原则:过滤通知与普通通知享有相同的视觉权重
  • 渐进式披露:用户可按需展开查看被过滤内容
  • 即时操作:提供快捷操作入口处理过滤规则

具体实现细节

  1. 基础显示层

    • 在通知流中原位显示过滤通知
    • 使用黄色背景作为视觉提示(类似网页版对私密提及使用蓝色背景的方案)
    • 显示发送者信息及"显示/隐藏"操作按钮
  2. 展开状态

    • 用户点击"显示"后完整展示通知内容
    • 提供"永久屏蔽该用户"和"允许该用户通知"的快捷操作
    • 这些操作对应网页版中的"复选框"和"静音"按钮功能
  3. 增强交互

    • 可添加"?"图标解释过滤原因
    • "隐藏"操作可触发二次确认对话框
    • 设置中可添加"永不显示过滤通知"的全局选项

技术考量

实现此方案可能需要Mastodon API的以下支持:

  1. 合并通知和过滤通知的数据流
  2. 获取过滤原因详情(当前API可能未提供)
  3. 支持单次隐藏操作(不触发永久规则)

方案优势

相比网页版方案,本设计具有以下优点:

  1. 符合心智模型:被过滤内容不应获得额外关注
  2. 操作路径更短:用户可在上下文中直接处理
  3. 视觉干扰更少:避免突兀的大卡片打断浏览流
  4. 灵活性更高:支持渐进式披露和多种操作选项

总结

这种内联显示方案通过重新思考过滤通知的本质属性,创造了一种更符合用户心理预期的交互模式。它不仅解决了当前网页版设计的问题,还通过精心设计的细节提升了整体用户体验。该方案展示了Tusky客户端在创新交互设计方面的潜力,有望成为Mastodon生态中的最佳实践。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
27
11
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
466
3.47 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
10
1
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
65
19
flutter_flutterflutter_flutter
暂无简介
Dart
715
172
giteagitea
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
23
0
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
203
82
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.27 K
695
rainbondrainbond
无需学习 Kubernetes 的容器平台,在 Kubernetes 上构建、部署、组装和管理应用,无需 K8s 专业知识,全流程图形化管理
Go
15
1
apintoapinto
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
1