用户体验问题:“严重删除”或“垃圾”更好

2023-12-21

我正在开发一个应用程序,允许用户管理一些单独的数据点。我的用户想要做的事情之一是“删除”,但这意味着什么?

对于 Web 应用程序来说,向用户提供严重删除或使用“垃圾”系统的选项是否更好?

在“严重删除”下(很想知道是否有更好的名称......),您单击“删除”,然后用户会收到警告“这是最终的悲剧性操作。一旦您这样做,您将无法得到-在此处插入数据点名称-回来,即使你在哭......” 然后,如果他们点击删除……那么它就真的永远消失了。

在“垃圾”模型下,您永远不会相信用户真的想要删除...而是从“主显示”中删除数据点并将其放入名为“垃圾”的存储桶中。这可以让用户摆脱它,这是他们通常想要的,但如果他们犯了错误,他们可以取回它。显然,这是大多数操作系统的发展方向。

“严重删除”的优点是:

  • 易于实施
  • 易于向用户解释

“严重删除”的缺点是:

  • 这可能是悲剧性的结局
  • 有时,猫会在键盘上行走

“垃圾”系统的优点是:

  • 用户对自己是安全的
  • 像“一次删除一堆”这样的批量方法更有意义
  • 节省支持麻烦

“垃圾”系统的缺点是“:

  • 对于敏感数据,您会产生一种破坏的错觉,用户认为某些东西已经消失,但事实并非如此。
  • 许多微妙的区别使实施变得更加困难
  • 您“最终”删除了垃圾箱中的内容吗?

我的问题是哪一种设计模式适合现代 Web 应用程序? “存档”功能如何发挥作用?就是那样。进行足够的讨论来证明你的答案......很乐意指出一些相关的研究。

-FT


这是您可能会喜欢的相关文章。它更关注业务场景,但它可以适用于任何地方。

不要删除,只是不要 http://www.udidahan.com/2009/09/01/dont-delete-just-dont/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用户体验问题:“严重删除”或“垃圾”更好 的相关文章

  • 应如何在 WinForms GUI 控件和客户端类之间同步数据?

    什么方法被认为是保持 GUI 控件内的数据结构与应用程序维护的数据结构同步的 标准 例如 在 WinForms 中 如果创建一个 ListView 实例 而不是将其指向表示要出现在列表中的项目的数据结构 则必须以编程方式实例化 ListVi
  • 需要知道 jQuery UI Widget 是否已应用于 DOM 对象

    我正在使用 jQuery 并与 jQuery UI 进行一些交互 我需要在其中获取选项 然而 有可能 jQuery UI 功能尚未应用于 DOM 对象 当我访问选项时 我现在收到 JavaScript 错误 我有一个带有进度条的 DOM 对
  • 使用 GTK+2 或 GTK+3 学习 GUI 编程?

    我是 GUI 编程新手 我还没有找到最适合我的目的的库 我想制作桌面环境应用程序 例如扩展坞 面板 桌面等 我已经开始学习GTK的基础知识 主要使用PyGtk 我在网上找到的大多数教程都是针对 GTK 2 0 的 然而最近 GTK 3 已发
  • 如何将事件侦听器与“请求”事件结合起来?

    我为终端编写了一个简单的小迷宫游戏 它反复要求用户做某事 例如 您想朝哪个方向走 N E S W 我有一个navigate 方法在循环中运行 触发这些问题 存储答案并根据答案执行某些操作 public enum Dir N E S W pu
  • 如何在 Tkinter 的 Button 小部件中创建多个标签?

    我想知道如何在 Tkinter 中创建具有多个标签的按钮小部件 如下图所示 带有子标签的按钮 https i stack imgur com jOZRw jpg正如您所看到的 在某些按钮中有一个子标签 例如按钮 X 有另一个小标签 A 我试
  • Windows GUI 控件 ID 是如何创建的?

    在 Windows 中 对于每个控件 例如每个对话框 窗口 文本框和复选框等 都会给出一个控件 ID 这个控件id是如何创建的 Windows 中的两个应用程序可以具有相同的控件 ID 吗 有没有办法手动设置 Windows 控件 ID 控
  • 我应该使用 QCoreApplication::processEvents() 还是 QApplication::processEvents()?

    我有一个从两者调用的方法QThreads和主线程 这个方法有时可能需要很长时间才能在循环中进行计算 所以我把QCoreApplication processEvents 这可以防止 GUI 冻结 在某个时刻我已经改变了QCoreApplic
  • 适用于 Windows 的类似 RapidWeaver 的编辑器 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在看到一位朋友使用 RapidWeaver 并通过几次点击产生了美妙的结果后 我感到惊讶 并开始搜索是否
  • 在 kivy 中嵌套小部件

    我正在尝试在 kivy 中制作一个界面 我认为即使在完成教程之后 我仍然不了解自定义小部件以及如何对它们进行层次结构的一些基本知识 我认为我有更多的盒模型 html 思维方式 因此小部件嵌套在本机 GUI 中的方式对我来说仍然有点陌生 一些
  • C# - 带 GUI 的后台应用程序

    我的问题是我想创建一个后台应用程序 但具有可以恢复并最小化到系统托盘的用户界面 并且它从窗口启动 我尝试搜索如何启动 但只找到有关 Windows 服务的线程 没有 UI 或创建表单并隐藏它 所以我的问题是我应该如何开始 Windows 窗
  • 如何阻止 JTextPane 吞噬键盘快捷键(加速器)?

    我的应用程序的主 JFrame 包含一个 JTextPane 虽然它具有焦点 但它会消耗所有键盘快捷键 加速器 而不是将它们传递到 JFrame 的 JMenu 这意味着虽然它具有焦点 但 新文档 的 ctrl n 不起作用 显然 它正确处
  • UIPickerView - 对多行行使用自定义视图 - 需要布局建议

    我有一个 UIPickerView 它将为用户显示项目列表 我希望每个项目都显示为多行文本 每行使用不同的字体大小 一个粗略的模型如下所示 这将允许显示比默认 UIPickerView 的单行所能容纳的更多文本 bdesham 指出我在 U
  • 没有 GUI 的 Android Activity

    我创建了一个仅从链接启动的活动 使用意图过滤器 我不希望此活动有 GUI 我只希望它启动服务并在栏中放置通知 我尝试将链接的意图过滤器放入我的服务中 但这不起作用 有没有更好的方法可以响应意图过滤器 或者我可以让我的活动没有 GUI 吗 抱
  • Perl Tk 模块有哪些缺点?

    与在 Perl 中创建 GUI 的其他解决方案相比 Tk 模块有哪些缺点 我最近浏览了 Perl 的各种 gui 模块 这是我的总结 免责声明 最终我发现现有模块都不能满足我的需求 所以我开始编写自己的 gui 工具包 Tk 工作起来很不错
  • 有没有办法将应用程序覆盖在全屏程序上?

    我希望开发一个应用程序 它本质上是一个计时器窗口 它始终显示在任何其他应用程序前面的屏幕上 并且在聚焦其他窗口时永远不会落入背景 一个例子是 当我玩全屏游戏时 我希望这个计时器覆盖游戏 并且当我单击窗口上的计时器按钮时 它不会关闭游戏 我有
  • Java - 直观地拖动摆动元素

    有没有类似的解决方案http allen sauer com com allen sauer gwt dnd demo DragDropDemo DragDropDemo html PaletteExample http allen sau
  • 如何使用单独的线程部分重绘自定义 SurfaceView 而不会丢失以前的编辑?

    我目前在按照自定义绘图时遇到问题SurfaceView来自不在我的主 UI 上的线程 这SurfaceView占据整个屏幕 Galaxy S3 全屏 并且必须从多个来源进行更新 问题是习惯SurfaceView不会保存 UI 更新之间的更改
  • 为 java 游戏创建交互式 GUI

    大家好 我正在创建一个类似于 java 中的 farmville 的游戏 我只是想知道如何实现用户通常单击以与游戏客户端交互的交互式对象 按钮 我不想使用 swing 库 通用 Windows 看起来像对象 我想为我的按钮导入自定义图像 并
  • Python GTK+ 画布

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline
  • 如何更改 SwiftUI 列表中分隔符的颜色?

    我在 SwiftUI 中创建了一个列表 我想更改颜色或删除分隔符 因为在 UIKit 中 我们可以轻松更改 TableView 中分隔符的颜色 下面是 SwiftUI 中列表的代码和 UI 图片 State private var user

随机推荐

  • 在测试复杂行为时,可以在单元测试中使用多个断言吗?

    这是我的具体场景 我有课QueryQueue包裹着QueryTaskArcGIS API for Flex 中的类 这使我能够轻松地将多个查询任务排队执行 呼唤QueryQueue execute 迭代队列中的所有任务并调用它们的执行方法
  • C#(表单)中漂亮的关键名称

    我有一个组合框 其中填充了Keys枚举 winforms 问题是对于没有经验的用户来说按键名称不是很清楚 例如 普通用户可能不知道 OemPipe 或 HanjaMode 的含义 那么 我该如何解决这个问题 并有一些更好的键名呢 我正在考虑
  • 错误:尝试在空上下文对象上调用方法“format”

    春季启动 v1 4 1 Java v1 8 百里香叶 v2 1 5 我认为以下代码行 td td 它的语法是我基于 S O 问题SpringBoot Thymeleaf 序数 https stackoverflow com question
  • DTD——ID属性的唯一性

    根据DTD规范 http www w3 org TR REC xml id关于 ID 属性类型 有效性约束 ID ID 类型的值必须与名称产生相匹配 名字不能 作为此类型的值在 XML 文档中出现多次 即 ID 值必须唯一标识承载它们的元素
  • 如何在 Windows 8 现代应用程序上从视频流中抓取帧?

    我正在尝试从 mp4 视频流中提取图像 查找完内容后 正确的方法似乎是使用 C 中的媒体基础并打开框架 从中读取内容 文档和示例很少 但经过一番挖掘后 似乎有些人已经成功地做到了这一点 通过将帧读入纹理并将该纹理的内容复制到内存可读的纹理
  • ActionMode 回调不起作用

    我正在执行一项任务 我想在文本选择上创建自定义工具提示 意味着我想在工具提示菜单中添加我自己的选项 我使用了下面的代码 它在某些设备中正常工作 如图所示 在菜单 xml中 menu menu
  • 如何在倒计时后删除 Django 对象?

    在我正在开发的平台中 我们希望用户能够为他们创建的对象设置到期时间 在他们设置的倒计时到期后 该对象应该被删除 您建议如何这样做 编辑 我应该澄清的是 每个对象的到期时间都会有所不同 执行您所描述的操作的最常见方法是创建一个列来存储创建时间
  • 为什么这个 Boost ASIO 代码不能与这个 python 客户端一起工作?

    此代码与原始 udp 异步回显服务器相同 但具有不同的套接字 响应已传输并显示在wireshark 中 但随后会向服务器发送回ICMP 端口不可达错误 我试图理解为什么 因为一切看起来都是正确的 您可以将此代码直接复制到源文件中 例如服务器
  • 如何更改 group_vars 和 host_vars 的路径?

    我们可以通过修改来改变角色的路径roles path in ansible cfg 但该文档似乎没有提及任何有关更改路径的内容group vars and host vars 我怎样才能改变这些路径 我将把与ansible相关的文件与rai
  • 在可移动和不可复制的类上使用移动和交换习惯是否有意义

    如果我有这样的课程 class Foo public Foo Foo Foo rhs operator Foo rhs swap this rhs void swap Foo rhs private Foo const Foo snip s
  • Dropbox oauth 窗口无法正常工作

    我正在将我的应用程序移植到 Electron 我惊讶地发现 Dropbox 身份验证在此环境中不起作用 不过它在 Chrome 中确实有效 登录按钮保持禁用状态 并且标签出现在输入上方 控制台中显示以下消息 Content Security
  • 尝试将应用程序提交到应用程序商店时 Xcode 崩溃[重复]

    这个问题在这里已经有答案了 我正在尝试提交一个应用程序 我将其存档 然后尝试提交它 结果崩溃了 我查找了此问题的潜在解决方案 他们说只需转到首选项 gt 帐户 gt 并更新以确保您已同意所有新条款 所以我这样做并再次尝试 现在它仍然崩溃 我
  • Ruby:一类的子类之后的[数字]的语法名称[重复]

    这个问题在这里已经有答案了 我正在通过示例学习 Ruby on Rails 我在迁移文件夹中看到这里是一个示例代码 class RemoveOrderListNumberAndStateFromOrderLists lt ActiveRec
  • 渲染许多连接的四开文档

    我一直在尝试新的quarto https quarto org Rstudio 的工具 似乎我无法做旧版本中可以做的事情R笔记本 or R Markdown备择方案 我想通过几个四开文档 qmd 组织我的工作流程 并且我想生成 html 文
  • 调用 twig 扩展时出现未知函数错误

    我正在寻找创建一个 twig 扩展 但 Symfony 一直告诉我我的功能未知 这是我的课程
  • Managed Oracle ODP.NET 驱动程序是否使用网络加密?

    我最近读到 Oracle 支持 Oracle 客户端和服务器之间的网络加密 我假设 如果服务器支持此功能 客户端就可以在各种 Oracle 数据访问提供程序库使用的完整 Oracle 客户端驱动程序中完成连接 但是 我的应用程序使用来自 O
  • 如何在 SQL Server 中存储和检索 varbinary(max) 列

    我正在开发一个应用程序 我想将用户的指纹存储到数据库中 然后将其与从设备中获取的指纹进行比较 我在转换时遇到了某些问题varbinary max 列返回一个字节 我尝试过使用GetSqlBinary功能但它给了我indexoutofrang
  • 自动选择 WPF TextBox 中焦点上的所有文本

    如何自动选择 WPF 文本框中焦点上的所有文本 乔纳森 通过向应用程序添加全局事件处理程序 您可以非常轻松地做到这一点 http madprops org blog wpf textbox selectall on focus http m
  • 如何使用 Promise 等待 observable 的每个值

    假设我有这个可观察的 const obs new Observable observer gt observer next 0 25 observer next 0 75 observer next new ArrayBuffer 100
  • 用户体验问题:“严重删除”或“垃圾”更好

    我正在开发一个应用程序 允许用户管理一些单独的数据点 我的用户想要做的事情之一是 删除 但这意味着什么 对于 Web 应用程序来说 向用户提供严重删除或使用 垃圾 系统的选项是否更好 在 严重删除 下 很想知道是否有更好的名称 您单击 删除