排序的人文魅力

作者:lytous 来源:UCDChina.com 时间:2008-05-06 12:47:00 


1. 排序有什么用

“排序”这个专业名词原本是来源于计算机程序操作中的,是一种很常见的算法设计,当然,对交互设计来说,探讨冒泡排序和堆排序之间的效率是没有实际意义的,我们今天从用户日常使用的产品来入手,分析下排序的交互价值。

一般来说,排序的重设计有2个作用:a. 使信息有序化,符合逻辑思考,更易读;b. 调整数据集合的关系,易记易操作,提高工作效率。

我们生活中经常会遇到排序的情况,主动型:宴请客人,主人做上位,从左至右按在座人员的重要性分散,这是基本的生活情形。

被动型:你到超市购物排队,为了提高效率,超市决定将购物多的顾客和购物少的顾客分开进行收银处理,也是一种常见的排序处理。

但是根据设计师出发点的不同,我们见到的很多产品中的排序并不是很好的,这主要是由于产品指导方向和设计策略的不同引起:

2. 技术性排序解决问题

上述提到的第二个例子属于技术性排序的问题,解决问题是此类排序设计的最终目的。优秀的产品设计可以通过排序高效率的解决问题,比如:picasa 的相册软件,在排序的属性分类上做了很好的频度调整,解决了很多图片管理软件无法建立大量图片之间的关联和智能查找的问题。但有个问题,它把我不想显示给别人的隐藏图片也找出来了。

而普通的产品设计也能解决问题,但效率不高,比如:windows的目录结构,当 * 作一个文件的时候经常就是不断的打开文件夹-打开-打开-复制,再打开-打开-打开-粘贴,然后某些情况下还要返回-返回-返回…… 每个用户对于常用的文件夹操作是固定的,为什么不加入一个“转到”命令呢?然后把经常访问的文件夹地址做个列表。

当然,某些看上去卓越的产品也会产生排序的困扰,比如:ipod的歌曲选择列表,你可以尝试一下在ipod中放入7000首歌曲,然后选择,虽然他提供了很多维度来控制排序的范围,但是一旦出现歌曲信息不完整和错误的话。。。。。这点在中国地区使用的时候尤为明显。(这里我不想讨论copyright的问题)

3. 情感化排序体现创意

排序仅仅是提高工作效率吗?不是的,排序是一个技术基础,如何运用它得看谁来做,我相信游戏设计师是伟大的。通过排序算法的设计,他们设计出了拼图,俄罗斯方块,接龙等经典游戏,虽然动用了一些数学技巧,但是游戏的结构是简单的,就是通过满足排序规则,得到积分,并获得最终胜利。

大量的软件,web,电子产品的排序都以“按时间”“按日期”“按名称”……. 虽然给了用户一定的自定义空间,但是仍然感觉它们是冰冷的,它们仅仅提供了简单的查询功能,如果加入“按我的使用习惯”“按口碑”“按推荐次数”呢?感觉到了交流才能感觉到实在的心理享受。

创意是在功能化的基础上更好的引起用户的兴趣,更好的带领用户跟随产品一起发展,这点上很多产品和服务做得不够。

4. 排序的人文情境

我前面举的那个吃饭的例子就是典型的人文情境的影响,还有一个比较有趣的事例是:

中国很多研发型公司的项目确认文档,我相信大家都见过,一般来说CEO是在第一位的,接下来是市场总监–财务总监–研发总监–产品总监–研发1组leader。。。。。。

但是签字确认的时候却是从下至上,研发1组leader–产品总监–研发总监–。。。。。。–CEO,这样就导致最终对产品设计有发言权的人是最后才看到产品设计的。

为什么会这样呢?因为在中国人的文化中,CEO(老板)的名字应该是在第一位的,以表示公司全体成员对他的尊敬。

我们按照理性因素设计出来的流程却按照感性因素来实施,这是排序本身无法解决的问题。还有一个事例:

目前义务教育中对学生的评估方式已经由“第一名….最后一名”转移到了“优-良-中-差”,这是一个排序参考维度的改变,但带来的是教育评估系统的改革,至少现在没有看到多少学生为了单纯的排名去 * 了。

5. 排序最优论

通过上面的分析,确定一个排序方式和算法(这里指信息架构中的设计方式,而不是代码公式)是否最优有几个评估维度:

a. 技术是否达标; b. 是否和使用者建立情感联系; c. 是否考虑到使用情境的人文环境; d. 是否经过一段时间的临床检验

是否有最优的排序? 我想这和使用排序的针对人群有关,首先固化你的对象,然后挑选平均的参考数据,设计出来的排序规则必须坚持公平,公正,有效,容错的原则。

一个排序方式不可能适合所有的环境和用户,在技术型难题解决的前提下,请更多的考虑人文化因素的影响。

标签:排序,设计
0
投稿

猜你喜欢

  • python 实现GUI(图形用户界面)编程详解

    2023-10-05 15:11:34
  • 如何判断发言是否为空?

    2010-01-12 20:15:00
  • Java通过正则表达式获取字符串中数字的方法示例

    2022-11-26 16:21:22
  • Python 列表与链表的区别详解

    2022-01-24 10:10:04
  • python找出列表中大于某个阈值的数据段示例

    2022-05-17 17:21:05
  • 在MySQL中用正则表达式替换数据库中的内容的方法

    2024-01-17 02:51:57
  • python实现简单登陆系统

    2023-05-25 06:50:49
  • vue props 一次传多个值实例

    2024-05-03 15:10:32
  • MySQL系列教程小白数据库基础

    2024-01-13 08:23:19
  • python使用paramiko模块通过ssh2协议对交换机进行配置的方法

    2022-05-16 03:03:17
  • MySQL 数据类型选择原则

    2024-01-21 03:02:42
  • 特征脸(Eigenface)理论基础之PCA主成分分析法

    2023-03-03 07:19:33
  • 保障MySQL数据安全的一些建议

    2024-01-27 16:08:07
  • Vuejs 组件——props数据传递的实例代码

    2024-05-22 10:43:03
  • 在python里从协程返回一个值的示例

    2021-12-30 11:23:17
  • 深入了解Golang中的格式化输出

    2024-04-26 17:35:27
  • Python之ReportLab绘制条形码和二维码的实例

    2023-06-26 09:43:30
  • Vue源码之关于vm.$delete()/Vue.use()内部原理详解

    2023-07-02 16:48:08
  • python内打印变量之%和f的实例

    2021-06-19 07:46:46
  • Python用户自定义异常的实现

    2023-06-10 10:06:40
  • asp之家 网络编程 m.aspxhome.com