it-swarm.cn

我的用户不断用特殊字符命名事物,以阻止字母顺序

在我的应用程序中,主从设置中有一长串用户创建的对象。我们在主列表中显示的只是对象的名称,并且列表按字母顺序排列。 我注意到我的用户一直在用特殊字符命名他们的对象,以使这些对象升至列表的顶部。

我应该添加哪些功能,这样他们就不再需要这样做了?

139
Nate Green

此用户行为表示一个很大的机会来提高应用程序的可用性。问一些用户为什么他们重​​命名项目并尝试了解他们面临的潜在需求或问题。

根据您得到的答案,可能的解决方案可能包括:

  • 允许以不同方式对列表进行排序;按日期/用户/ ...
  • 允许用户添加收藏夹项目列表,该列表始终显示在顶部
  • 仅显示前5个项目,并使其余项目可搜索/可过滤
  • 允许他们通过拖放来重新排序列表中的项目
  • 给他们一个自动完成搜索框,以在列表中选择一个项目

无论哪种情况,都不要通过禁止特殊字符来限制用户。在解决基本问题之前,当前的解决方案可能会为他们节省生命。

226
filip

在优化设计时,用户恰好是最好的设计师。

我建议-而不是猜测-您应该与这些用户联系,他们破解了排序机制以询问他们想要实现的目标

也许他们只是想将某些项目固定在列表的顶部,对此加注星标就足够了。

但这也许只是更深层次需求的征兆,也许它需要以某种方式进行排序或组织。如果不询问他们,在这种情况下将很难实施正确的机制。


编辑(在下面的评论中进行了一些讨论之后):

谢谢大家的宝贵意见。我认为这个答案需要澄清。

在某些情况下,用户希望摆脱设计者计划的界限。从他们的行动中可能会得出一些结论,但是有关解决方案的快速结论并不总是正确的。

首先有点题外话,可以根据需要跳过。有一个关于用户体验的模因,显示了用户创建的门和围绕它的路径。尽管很容易批评,但仅基于这种行为来回答解决方案是有风险的。如果要卸下门,这将很容易。但是,实际上它是否有其目的?它可能会阻止动物进入动物,可能会有法律要求,如果人们对它有更多的考虑,它们可能会找到更多可能的答案:“为什么在这里?”和“为什么人们试图绕过它?”。

如果我们不确定问题的性质,则问用户应该是创建解决方案的核心部分。在这种情况下,我们可能会猜测,但在我看来,基于结论将引发“解决方案”不准确的风险,无法满足用户的实际需求。

在这种特殊情况下,这种行为可能意味着人们希望将某些项目固定在顶部,但在这里还有更多可能的答案:

  • 他们可能需要将一些最新编辑的项目固定在顶部。同样,这可以通过固定来解决,但是从长远来看,这需要他们付出很多努力来维护,因为他们将需要“取消固定”不再相关的那些,
  • 他们可能需要用不同的标记来标记项目,而在这些标记中钉扎是不够的,
  • 他们可能需要类别/文件夹,尤其是如果他们使用不同的文件命名约定(即:_ thingname.ext__ thingname .ext或[thingname] .ext等),这表明需要更结构化的集合,这也不能仅通过固定来解决,
  • 对这些项目进行子排序-首先按某项排序,然后再按某项排序,
  • 最后,可能还有一些超出这些假设的需求。

因此,这里有很多分析。

现在到用户恰好是最好的设计师行。当他们使用某种东西(无论是计算机,书桌,杯子还是其他东西)时,人们常常会一点点改变这些东西的工作方式。他们将贴纸贴在笔记本电脑的相机上,将茶袋绑在杯子的把手上,将物品整理在桌子上,以使他们感到舒适。他们发明解决方案并实现它们-因此他们是设计师。如果观察到这种设计,可能会进一步推动事物发展(相机阻挡器,带茶袋支架的杯子,带笔架的桌子)。

因此,如果他们破解此解决方案中的事物命名,则观察他们的想法是很好的。这可能会导致他们对想要实现的目标有更深入的了解。有了所有这些输入,很容易向他们提出一个关键问题:“为什么要这样做?您想要实现什么?”

在获得了这些知识之后,总结一下,再问他们这是否是他们想要的,当然,也许提出一些比他们想出的更好的建议。但是,只有得到确认之后,才能提出并实施解决方案。

换句话说,在这种情况下,用户的行为可以直接表明他们的需求(在这种情况下,固定可能是一个不错的选择),但这可能只是一种症状(在这种情况下,在实施之前询问甚至建议任何解决方案都是最佳选择)。

64
Dominik Oslizlo

除了将项目固定在列表的顶部之外,还可以使用伪字母输入将它们固定到底部(一个简单的示例:我使用一个称为ZZ spam的联系人,并且保持沉默手机上的铃声)。换句话说,这是一个非常灵活的系统。

考虑一下如何如此广泛地构建按一系列参数排序:所有文件管理器都允许您将最近使用的项放在顶部,以及按名称,类型等进行排序。您的用户可能还熟悉电子表格中的排序,包括仅出于优先考虑使用列。

没有优先级/经常使用的排序实际上是一个很好的解决方法。在用户的位置(带有共享列表),我很想去使用类似_<priority-level>_<item-name>的命名约定。

14
Chris H

当用户在名称的开头添加特殊字符时,他们会创建两种或多种类型的对象或类别。这些类别可以是特定的(例如本例中的类别),也可以是更通用的类别,例如favorite / not_favorite 要么 objects_I_am_working_on / others

您可以提供该功能来进行区分,对对象进行分类,然后按类别对它们进行排序,然后按字母顺序对它们进行排序。这样做的目的是将用户创建的“功能”从系统功能中移出,并以一种(希望)更方便的方式在系统内提供它。

考虑以下几点:多余的字符更改列表中的位置使那些元素脱颖而出组元素。用户可能出于一种或多种原因而更改名称。

enter image description here

9
Alvaro

无论您实现什么功能,用户都可能会继续执行此操作(除非您强行禁止它)。

考虑另一个经常发生这种情况的系统:计算机文件系统。大多数文件浏览器都按字母顺序对名称进行排序,您会看到用户做了各种各样的事情来解决(或者,我想说with),例如放置空格,数字或AAAA放在文件名前面。尽管现代文件浏览器通常具有数十种功能,允许对文件进行其他类型的排序和标记,但实际上,您会发现许多人仍然发现,仅给文件指定特定名称以使它们在顶部进行排序是最简单的。正如评论员所指出的,经常看到的另一个地方是通讯录。

问题是,它会破坏事物吗?系统其他部分中使用的特殊字符或前导AAAs会引起问题的名称吗?如果没有,那么也许没什么大不了的。如果是这样,那么也许一种解决方案是按不同的字段排序(例如,与其他任何地方都不相关的“显示名称”)。

排序是一个简单的系统。任何知道字母的人都已经知道它是如何工作的,他们可以通过简单的反复试验就能弄清未知的细节(例如某些字符相对于字母的排序方式)。这种“您已经知道如何使用的东西”是强大的UX属性,我认为忽略它是一个错误。

5
asmeurer

实现自动完成,如过滤

包括一个过滤器文本框,他们可以输入A,并且仅显示带有A的项目。

输入AB,然后仅显示带有AB的项目。

在胖客户端上,这可能非常快。在Web客户端上,它可能会比较慢,因为可能需要往返回Web服务器。

同样,如果列表中可以包含对象,而其他对象则为它们提供一个复选框选项,以仅查看其对象。

3
paparazzo

我应该添加哪些功能,这样他们就不再需要这样做了?

至少要添加“加注星标的项目”功能,使加注星标的项目按排序顺序浮动到顶部。下一级别的提升是拥有一个单独的优先级字段,该字段默认为正常,但具有高于正常值的一些设置以及低于正常值的一些设置。

2
DepressedDaniel

在我的公司中就是这种情况,共享扫描文件中有一个通讯簿,用于通过电子邮件发送扫描文件。该列表按与电子邮件关联的名称排序。由于用户界面很难操作(小巧的触摸屏,笨拙),因此排在列表顶部是一种振奋,因此人们开始以您的描述方式发挥想象力。

默认情况下,通过将通讯录设置为按创建日期排序即可解决。这使服务具有自我调节能力:每个人都可以重新创建其条目以进入列表的顶部,但是只有大量使用扫描仪的人(例如秘书)才能真正受益于加速。大多数每月只使用一次扫描仪的员工最终意识到,花1分钟时间按字母顺序浏览地址簿比每次需要使用扫描仪时玩山王都要快。那些仍然想玩的人不必打乱他们的名字并破坏其他人的字母顺序。

2
Dmitry Grigoryev

当您按字母排序时,从字面上看,您是在优先使用ASCII编码)的单词。

...为什么?这种排序的意义是什么?

现在您知道了,我知道这是为了帮助您在列表中找到东西-这才是真正的目标。只是字母顺序不能直接解决该目标。

底线是的,是的,您的用户可能因为利用您的错误而被认为是顽皮的,但请注意,您犯了错误。不是他们。

不要列出对象。显示一些随机的对象,或者按功能分组,或者对部分匹配短语的对象实施实时搜索。这样,您正在设计一个系统,在该系统中,用户不会因为其最低价值而获得奖励ASCII)排序后的订单,但是会因您真正希望他们做的事情而受到奖励-正确命名其对象以描述他们的功能。

1
J.J