zoukankan      html  css  js  c++  java
  • UI设计到禅境

    UI设计到禅境

    有个搞UI设计的同事,很出色。他专业美术设计出身,通过自学又善前端编程(什么JavaScirptAjaxjQury都驾轻就熟),对于网上能找到的、书店能买到的UCDUI等方面的书籍资料全都悉心琢磨参悟,又在几家公司有不少项目实战经验。这显然是个人才,21世纪最贵的!在UI方面他是我的老师。

    要说什么?显然不是给人介绍对象,他马上就孩子他爹了。是想通过一个案例说明仨事儿:1)一个设计到禅境的有趣示例;2)脱离专业领域,无业务领悟的设计如纸上谈兵。3)发表一通头教给我的感慨。

    例是这样:在这个项目中我们给一家LIMS公司搞一个DAQ(数据采集)的产品设计。这里的数据采集是从各种各样不同的实验仪器上直接采集其实验数据,然后加工处理分析,再以WebService的方式,给参数到LIMS系统中。它的用户是实验室中的实验人员。他们要在远程工作站上,观察实验、监视和操控仪器、要所需数据,最后出实验的原始记录。

    在这个项目中,我们不关注LIMS,但关注DAQ。我们试图让用户以最爽的方式使用它。至于DAQ怎样去与那些乱七八糟的各种各样的接口打交道,怎样自动采集来自RS485232MudBuse等通讯口、协议的数据我们不管,采集来了怎样通过数据仓库加工那些数据我们也不管,我们就是关注UI,这是我们的长项! 于是我们上路了。

    过几天的分析,我们拿出了成果。那是一个简洁而美好的设计(界面略)。用户可以通过三次鼠标点击,获得他所需数据。在后台管理上,用户在一个界面里能完成他所有的操作。于是,我们拿到评审会上给头和业务人员展示说明。结果,设计通不过评审。为什么呢?

    题有两个。首先是业务人员说这玩意儿没法用!他们在白板上一步一步的模拟了用户实际操作的过程,以及可能发生的各种可能性。这叫客户行为分析吧?同时,在每一步提出用户在这里怎样更便利。哦,原来是这么回事儿!那么我们开始没有做用户需求分析吗?做了。但做的不够深入。为什么不深入?因为我们不敬业吗?不是,因为我们不懂,不懂业务。只是从UCD的角度,从UI的角度考虑,主观的考虑怎样让它更便利更漂亮。但,当我们不知道深入的业务过程的时,即使这么做了,仍如隔靴挠痒,没整对地方。

    于是我们就得重新设计。在重新设计的过程中,我们还是得回过头来,去关注那些我们原来的脑细胞就不擅长不想关注的东西,那些结合专业知识的业务方面的东西,甚至还得问问程序员,你的程序架构大体是个什么样的,给我讲讲不同组件之间的逻辑关系,DAQLIMS在交互时的逻辑关系。

    么,这里面禅境在哪里?在于最终结果出来时的设计。头说了,最好的设计是没有设计!界面上什么也看不到!什么操作也没有!当我们醉心于怎样在屏幕上摆放那些按钮图标,怎样让它看上去更美更顺手时,业务人员提出,最好是在LIMS系统里面,实验人员打开相应的的页面,数据已经在那里,他什么也不需要做,数据已经展示在他面前。我一下子脑子里蹦出了的禅境。辛辛苦苦琢磨了老几天,最佳的界面设计居然是:界面上什么也没有!头果然是头,高!

    等等,这听上去禅意十足,但有问题。问题来自于程序员。程序员说了:要达到这个效果可以,但我们需要在每个工作站上安装客户端,这不符合我们有条设计原则;要么,就得设计个程序从服务器端不断轮回检测那些设备的状态,有情况就索取其数据,这样又可能会给系统性能带来一定的麻烦,同时也增加编程量。

    这怎么办?通过大家商量,最终的结果是:在实验员的界面上,只有一个与此相关的按钮原始记录(当然还有其它所需的按钮)。也就是说:实验员只需要点一下鼠标,就能获取实验数据,并产生他所需的原始记录。给实验人员够简便,同时又与程序底层设计方面不冲突。

    从复杂到简单,极致的简单、比较的简单。爱因斯坦真是说的对:As simple as possible, but not simpler.

    度。 这还真有点禅境,反正我是有这么点感觉。

    我在网上不少UCDUI的论坛、群里面常看到过各种各样的帖子和好说法,学到了不少东西。当然,大多数是涉及互联网方面的,结合某种专业领域的软件方面的相对少一些。但我总觉着,很多朋友的设计理念、美感、技能等都很好,已经足够的好了。但不结合某种专业领域,不了解业务实际,不知该领域的一线需求的话,空有一身好本领真是难以发挥出来。好不容易发挥一下,也可能只是纸上谈兵,一个漂亮的图而已。

    我那个同事的职业目标是:产品经理。头给他出的主意是:如果你真想做到合格的产品经理,UCD方面的技能已经足够了,需要加强的是本领域业务方面的理解感悟,去看一线的工作场景,去理解这个领域17025这样的标准(据说它是LIMS系统中的纲,纲举目张),再多多少少了解一些底层编程方面的概况,比如目前开发平台的框架结构大概。等你把这些搞差不多了,自然已经能胜任产品经理了,达不到的话,你始终上不了那个台阶,始终是停留在画画的层面。而且,你也甭担心是否花时间在这个狭窄的领域上面,是不是换到其它方面就没用了?比如我再做某个CRM软件的设计,这些岂不是都用不上了? 不会的。所谓异曲同工,当你把随便哪一个真真正正搞通透了,有一天忽然会找到顿悟的感觉,至少对管理软件方面有种一通百通的感觉。就像玩即时战略游戏,当你把罗马复兴能打到12秒点铜出兵的时候,你再玩星际争霸也能很快上手,因为你的精气神外加内力已经到了那个境地,要想下来也挺不容易。

  • 相关阅读:
    [Objective-C语言教程]结构体(17)
    [Objective-C语言教程]字符串(16)
    [Swift]LeetCode827. 最大人工岛 | Making A Large Island
    [Swift]LeetCode826. 安排工作以达到最大收益 | Most Profit Assigning Work
    转 由一次磁盘告警引发的血案:du 和 ls 的区别
    Ant 参考
    转 Problem: AnyConnect was not able to establish a connection to the specified secu
    转 oracle 如何停下oracle 服务
    转: Windows如何打开和使用事件查看器管理计算机
    转: oracle 存储过程 执行动态 实现sql
  • 原文地址:https://www.cnblogs.com/meta/p/2014831.html
Copyright © 2011-2022 走看看