从一个实际例子看Linux与Windows的哲学差异,及其影响下的用户心理

上一篇提到 GAppProxy,不妨说说我从中观察到的一个现象。

其实 GAppProxy 很早以前就挺好用了,但是一直有一个问题,就是很多时候会显示一个空白页面。显示空白的大部分都确实是不能访问的,并非 GAppProxy 搞错了。但是我对此很不爽,因为导致空白的原因是很多的。包括各种各样的异常没有catch,包括超出了 Google App Engine 平台的限制等等。它光显示一个空白,你根本不知道发生了什么。

前不久,我对它进行了各种边界测试,把能想到、能碰到的所有错误分类开来。然后在无法代理的时候,向用户浏览器显示一条信息。告诉用户现在是什么状况,具体是什么原因。dugang 也觉得这样很好,在我的基础上进一步细化了。然后,GAppProxy 1.0beta 发布了。

但是接下来的反馈有点出我意料。很多人说 GAppProxy 不能用了啊,怎么办啊?要知道,它以前输出空白的时候甚至没人反应过。

我有点纳闷:我不是解释得很清楚么,就那么一行字,您就不能看看?
后来我意识到,我们两都是典型的 Unix 的想法。就是认为,有问题你给它暴露出来,说明白咯、别藏着掖着。

但是用户有很多是 Windows 的用户。Windows 的一贯传统就是,把问题都藏起来,我们的用户是温室里的花朵,千万别让他们见到任何风雨。在这种风格的影响下,很多 Windows 的用户只要看见跳出一串英文就觉得很怕怕,根本不会去看它到底在说些什么。

其实,之所以有这么一串字符,是因为作者已经考虑到了这种情况。他既然已经考虑到了,自然会做最优的处理。这有什么好怕的。
反倒是那些出了问题也默不做声的,很可能是因为作者的逻辑出了问题,他根本没有考虑到这一点。还有什么比这更可怕的?

有时候我很想说:Don’t panic!

    • Rat2
    • 三月 16th, 2009 8:01上午

    看了您前一篇文章,原来您还维护ABP ChinaList……您真是我的偶像,哈

    • Wang Congming
    • 三月 16th, 2009 9:07上午

    您过奖了。有的大牛真的是很令人羡慕啊,巴不得一天能有25小时,把他们的知识全偷过来~~~。

    • Crystal’s Blog
    • 三月 20th, 2009 7:54下午

    我承认我有时候我有点畏惧英文。
    不过对于正在初中学习或者英文基础不够好的人,中文的提示也是更清晰和易读的。

    • ElTopo
    • 三月 27th, 2009 7:45上午

    有些不同的看法,强制性显示错误并不是典型的 Unix 的想法,Unix 是给用户更多的 options,以适合不同的应用场合,这也就是为什么很多经典的 Unix 命令都提供一个 quiet 的选项。

    比如,grep 里面有个 -q 可以使命令执行过程中完全不显示任何搜寻结果,而当用户只关心是否有匹配出现,而不关心匹配在哪里出现或者出现几次时,只要用 grep -q 搜寻后检查 $? 值就可以了;虽然同一个 grep 使用其它选项组合,输出结果能有很多很多的变化。

    真正的 Unix 高手不会给一个计算机盲满满一蓝屏的 hex。不给用户选择倒很像微软的某些理念。

    • Sutra
    • 四月 7th, 2009 10:29上午

    把那错误提示翻译成中文。

    • Zhang Weiwu
    • 七月 6th, 2009 1:42下午

    读一下你办公室那本“Software for USE”如何?上面有更深和本质化的讨论。

    具体到细节消息给不给用户发,要分几种情况。对于用户给出错误消息而不给出建议,就暗示用户有自己解决问题的责任(有吗?);所以有些设计师认为无法提出建议的情况,简单使人知道“我坏了”就行了。空白页面如果不是设计失误,那就是基于这种想法了。

    有一种理论认为软件不应该有错误消息,而非错误不应该显示给用户。这种理论认为软件不应该有错误,即良好的设计不包含错误路径(墙上没有开不了的门)而非处理错误的方式(门打不开时不论告诉不告诉用户原因,都是设计问题)。如果结合一些实例讨论的话,这种理论不像它一开始看上去那样唐突。

    • hax
    • 十月 14th, 2009 5:56下午

    最主要的问题可能是用户看不懂英文。检测一下浏览器的语言设置,然后输出对应语言,或者干脆,中英文都显示出来,应该就可以解决90%的困惑。当然还有就是错误信息要写得人性化一点,不要充斥过多的技术细节。

    • 清风剑
    • 二月 19th, 2011 11:26下午

    Quote:”no news is good news”

  1. 还没有引用通告。