因为我提倡一种非标准的方法,Jon Galloway在一段评论里点了我的名:

年,他们很清楚怎么去填写这些表单。如果采用其他方法,用户会感到困惑,有些人还会落荒而逃(丢掉购物车,等等)。Web表单很有效,我们都知道如何使用它们。你给出的例子在很大程度上违背了“别让我思考”的原则。

从某种意义上来说,他是对的。就编码而言,正如Steve Rowe指出的那样,协调一致总是优于标新立异

分钟才开始有点明白你当初的意图;或者更为糟糕的是,他们认为你做错了,然后以一种不太玄妙的方式来“纠正”你的错误。两种结果都是不理想的。除非你是单干,而且代码是一次性的,否则你必须以一种容易被理解、从而容易被维护的方式去编写代码。

在写代码方面,抱着“试一试这种方式怎么样”的态度显然是不明智的。AlexPapadimoulis很风趣地指出了这一点:

有个客户请我定制了一个货架,还要我帮他安装。在我准备把货架固定起来的时候,我碰到了一个问题:我该用什么来敲钉子呢——旧鞋跟还是玻璃瓶?

磅的小钉子,你会发现用瓶子要容易得多;尤其是在你的鞋子还很脏的情况之下。但是,如果你要往木头上钉一个很粗的钉子,那还是用鞋子比较好一点——要不然,瓶子会砸碎在你手里。

b)    你做这件事的方式存在根本性的错误。你需要使用真正的工具!没错,这意味着你要去打开工具箱(甚至跑一趟五金店)。但是,用正确的方式做事会节省你的时间和金钱,还会延长产品的使用寿命。除非你真正理解构造某样东西的基本要素,否则你不应该花钱动手去做。

然而,如果说到用户界面,一致性却并不总是好的。用户界面应该内部保持一致,但横向与世界上的其他应用程序保持一致就没必要了。也就是说,有些UI元素在大众文化里已经根深蒂固了,为了一致起见,它们应该被保持。典型的例子有:

  • 右上角的搜索框;
  • 左上角的商标(Logo),并且点击之后能回到主界面;
  • “前进” 按钮和“后退”按钮。

但是,不是所有用户界面规范都是同等重要的。有些是久经考验的;有些就是缺省情况下被使用的,它们的存在只是因为没有人正儿八经地提出足够的质疑;还有些已经不合时宜,变得越来越不适用了。问题是,我们怎么来区别真正有益的规范和不合格的“规范”呢?

答案当然是,尝试多种不同的方法,收集用户使用数据,并以此来判断什么可行、什么不可行。这种做法(相对而言)对于Web应用是容易的——亚马逊、雅虎和谷歌经常这么干,他们在这方面已经“臭名远扬”——他们把一些试验性质的功能特性推给一小部分用户,收集数据以分析这些功能是如何被使用的,并把这些数据作为决策的依据。

在用户界面方面,如果我们总是墨守成规,超级好用的Tivo UI还会诞生吗?还会有惊艳的Windows MediaCenter吗——它的电视界面可完全不像Windows?Office 12会抛弃传统的工具条和菜单,转而使用新颖的功能区来组织界面吗?真见鬼,我们还会从纯文字年代过渡到GUI年代吗?

我认为,用户界面方面的试验不仅值得去做,而且也是必要的。如果不做试验,我们的用户界面就不会进化。关键是,我们必须采用正确的做事方式:

  1. 全面了解当前的规范以及它形成的缘由;
  2. 偏离这个规范需要有理有据;
  3. 在试验过程中收集用户使用数据;
  4. 基于数据做决定。

如果你不收集用户使用数据,或者你的理由是“这样看起来更好”,那么你就是在犯错误,还不如老老实实遵循规范吧!

UI设计切忌墨守成规,但改变也须用数据说话的更多相关文章

  1. 9个永恒的UI设计原则

    很多人都在寻找那些能够帮助他们快速提升设计能力的方法,但你是否想过,自己身上的哪些方面会对你的设计产生影响呢?是使用工具的技巧,对设计的理解和态度,还是你的生活习惯呢?我想说所有这些都是决定你的设计是 ...

  2. 缩放因子和UI设计

    一.PPI 1.像素密度PPI:PPI(Pixel Per Inch by diagonal):表示沿着对角线,每英寸所拥有的像素(Pixel)数目. 根据勾股定理(直角三角形两边为a和b,斜边为c, ...

  3. UI设计实战篇——利用Bootstrap框架制作查询页面的界面

    Bootstrap框架是一个前端UI设计的框架,它提供了统一的UI界面,简化了设计界面UI的过程(缺点是定制了界面,调整的余地不是太大).尤其是现在的响应时布局(我的理解是页面根据不同的分辨率,采用不 ...

  4. 从Web借鉴UI设计

    从Web借鉴UI设计 用户体验已经成为衡量应用软件质量的重要标准.在过去我们可能会惊叹于某个Web应用的华丽界面,现在,随着HTML5的强势登场,各类表现层技术及开发框架的发布,Web与窗体应用的界限 ...

  5. 国外一些好用的UX/UI设计工具和资源分享

    国外一些好用的UX/UI设计工具和资源分享 你今天使用的设计工具也许不再适合以后的网页和APP设计项目了.新的工具不断的推出市场,目标只有一个,让你的工作更快.更容易而且工作成效更好.今天分享的这些U ...

  6. 移动周报:十款最实用的Android UI设计工具

    上一周可以说是一个不断Mark周,从最实用的Android UI设计工具.免费移动应用测试框架推荐,到HTML5开发框架等等,各种开发工具.框架精彩丰呈,看得小伙伴们是不亦乐乎.当然,还有不容错过的M ...

  7. UI设计(流程/界面)设计规范

    1.UI设计基本概念与流程 1.1 目的 规范公司UI设计流程,使UI设计师参与到产品设计整个环节中来,对产品的易用性进行全流程负责,使UI设计的流程规范化,保证UI设计流程的可操作性. 1.2范围  ...

  8. Android UI设计

    Android UI设计--PopupWindow显示位置设置 摘要: 当点击某个按钮并弹出PopupWindow时,PopupWindow左下角默认与按钮对齐,但是如果PopupWindow是下图的 ...

  9. Android UI设计规则

    Android UI技巧 1.1 不该做什么 l  不要照搬你在其他平台的UI设计,应该让用户使用感觉是在真正使用一个Android软件,在你的LOGO显示和平台总体观感之间做好平衡 l  不要过度使 ...

随机推荐

  1. Luogu P3919 【模板】可持久化数组 可持久化线段树

    其实就是可持久化线段树的模板题线段树不会看这里 #include<bits/stdc++.h> ; using namespace std; ]; ],rc[N*],val[N*],cnt ...

  2. 智能指针之 unique_ptr

    对于动态申请的内存,C++语言为我们提供了new和delete运算符, 而没有像java一样,提供一个完整的GC机制,因此对于我们申请的动态内存, 我们需要时刻记得释放,且不能重复释放,释放后不能再去 ...

  3. MongoDB 数据库引用

    MongoDB 引用有两种: 手动引用(Manual References) DBRefs DBRefs vs 手动引用 考虑这样的一个场景,我们在不同的集合中 (address_home, addr ...

  4. solr和solrcloud

    Solr = Lucene + Http(Servlet/REST) + Schema.xml+Solrconfig.xml Solr = SolrSingle + Solr MutilCore = ...

  5. Linux-2.6.25 TCPIP函数调用大致流程

    插口层系统调用send    sys_send        sys_sendtosendto    sys_sendto        sock_sendmsgsendmsg    sys_send ...

  6. Compass 更智能的搜索引擎(3)--高亮,排序,过滤以及各种搜索

    要想使得一个搜索系统更加的完美,查询精确度和页面显示算是其中比较重要的两个方面.今天,我们就来谈谈怎么使得我们的搜索系统更加的完美. 关于分词 下载地址 配置 关于高亮 关于排序 原理 冗余字段 使用 ...

  7. Premake可生成vcxproj.filters

    Premake可生成vcxproj.filters (金庆的专栏) 添加 vcxproj.filters 文件可以用目录结构组织源文件. 例如premake5添加所有文件: files {       ...

  8. Core Python Programming一书中关于深浅拷贝的错误

    该书关于深浅拷贝的论述: 6.20. *Copying Python Objects and Shallow and Deep Copies "when shallow copies are ...

  9. activiti实战系列 activiti连线

    11:连线 11.1:流程图 注意:如果将流程图放置在和java类相同的路径,需要配置: 11.2:部署流程定义+启动流程实例 11.3:查询我的个人任务 11.4:完成任务 说明: 1)使用流程变量 ...

  10. collection 中对类排序

    首先 写出 一个person类 让他继承Comparable 构造函数和get/set不用说 我们要覆盖父类中的comparto方法 代码如下 省略get/set package a; public ...