User interface 最优雅的分类项目的用户界面?

User interface 最优雅的分类项目的用户界面?,user-interface,usability,User Interface,Usability,我有一个项目集合,用户需要以多种方式对其进行分组/分类。举个例子,假设它是一个汽车集合,用户希望按以下方式对其进行分类: 颜色(红色、银色、蓝色、黑色等) 车身形状(舱口、轿车、轿跑车、旅行车等) 座位(2、4、5、6等) 等等 您是否遇到过一种特别优雅的方式,允许用户完全自由地定义自己的类别和值 显然,在任何设计中都会有许多权衡。例如,可学习的设计可能没有效率,反之亦然。或者一些设计可能比其他设计对房地产的要求更高。而有些项目的开发时间要比其他项目长得多 不管怎样,如果你已经看到或者设计了

我有一个项目集合,用户需要以多种方式对其进行分组/分类。举个例子,假设它是一个汽车集合,用户希望按以下方式对其进行分类:

  • 颜色(红色、银色、蓝色、黑色等)
  • 车身形状(舱口、轿车、轿跑车、旅行车等)
  • 座位(2、4、5、6等)
  • 等等
您是否遇到过一种特别优雅的方式,允许用户完全自由地定义自己的类别和值

显然,在任何设计中都会有许多权衡。例如,可学习的设计可能没有效率,反之亦然。或者一些设计可能比其他设计对房地产的要求更高。而有些项目的开发时间要比其他项目长得多

不管怎样,如果你已经看到或者设计了一个很好的模式,我很想听听。如果你有截图,那就更好了

尝试澄清:标记确实是一种很好的分类方式,但在我所看到的所有实现中,只有一个级别的标记。用户通常无法定义类别/属性以及该类别中的项目值。要使用上面的示例和StackOverflow的标记,您需要将汽车标记为“蓝色”、“轿车”、“4”,等等。StackOverflow不知道一件物品不能同时标记为“轿车”和“双门轿车”

我想到的界面需要知道这类事情,因此用户定义的属性建议更符合我的想法。我只是想找到一个具体的例子,说明如何优雅地实现这类系统(在桌面应用程序中,如果这有什么不同的话)


这更清楚了吗?如果没有,请留下评论,我将再次尝试澄清。:)

我可能误解了你的问题,但如果标签的用途不完全相同的话,这不是很相似吗(比如stack overflow和gmail)。或者您正在寻找更具体的内容?

您可以使用标记:让用户标记每个图像,然后显示一组按标记排序的图像缩略图


可能比标记更高级的是一组用户定义的属性。例如,与其用“红色”标记图片,不如用属性“color=red”标记它。

我建议使用类似于stackoverflow上的标记系统。允许他们标记图像,然后按标记或选项卡组合查看。查看页面时,显示图像的缩略图及其下方图像的标记

编辑:根据你的说明,你可以有不同类型的标签。当用户定义他们自己的标记时,他们需要指定它的派生类型。考虑到这一点,您需要将标记限制为该类型中的一个

TagType { Color, Seats, BodyType, Seats }
TabSubType { Color-Red, Color-Blue, Color-Green, Seats-2, Seats-4, ... }
当用户想要添加标记图像时,给他们一个带有标记类型的下拉列表。下面是另一个带有tabsubtype的下拉列表。给他们一个选项“定义新的”,这将导致一个文本框出现在他们可以键入新类型的地方

我还将这些选项添加到上下文菜单中,以便用户可以在树样式菜单中查看标记。
您还可以在图像聚焦时抓取按键,查找标记类型和标记子类型名称,并显示选项菜单供选择。如果找不到匹配项,请提供“单击以添加新标记”选项。

刻面分类是对未得到应有注意的内容进行分类的一种方法。它允许您定义相互排斥的类别,并为每个类别的每个内容项提供值。例如,您可以按地区、品种、年份和价格对葡萄酒进行分类,用户可以通过在一个或多个类别中选择一个或多个值来进行搜索。例如,“40美元以下的法国或意大利红酒”。假设您手头有类别数据,这通常是可用的最强大的分类和搜索技术,比尝试将所有内容放入单个层次结构或依赖标记要好

要在后端实现这一点,请为每个类别创建表,并用不同的值填充它们。然后创建一个表,每个类别表都有一个外键,以及一个包含内容的字段。这类似于维度数据库设计中的“事实”表

要了解这在UI中的工作方式,请查看FaceMap。我不能担保他们的产品,因为我没有使用过它,但我已经为我自己的应用程序实现了类似的东西,并取得了良好的效果

再一次,刻面分类背后的想法值得更多的关注,我知道我在这里没有公正地对待它们。关于Clay Shirky对主题的娱乐性处理,请听“本体论被高估”:


好吧,我想说的太多了,但是标签只是一个例子,说明了如何使用三重图,例如使用RDF。[插入到维基百科的链接]。现在我知道你说过,基于嵌套的要求,标签是不够的,但没有理由你不能进一步“标签标签”作为彼此的孩子

Car|Tagged_with|Red
Red|Is_child_of|Colours

通过这种方式,您的数据保持了极大的灵活性,实际上什么是数据,什么是元数据之间的界限变得模糊。

听起来您有两个任务:任务1分类对象,其中对于一系列对象,用户在多个维度(属性)的每个维度上为每个对象分配一个类别(值)。任务2:创建和修改维度和类别

除了数据建模者、面向对象程序员和数据库设计者之外,维度和类别的概念是一个很难掌握的概念。您应该为不了解类别和维度之间差异的用户做好准备。但是,用户通常会理解表,其中每列都是一个维度(包含多个类别),每行都是一个对象。尽可能多地使用表格

第一把钥匙