Yang在编写一个语音程序的时候让我测试。第一个界面就是检测话筒,界面上一个大圆圈套着一个小圆圈,文字提示要求用户吼叫一声,程序可以根据信号的大小来判断是否有录音设备。我试着说了几句话,但是小圆圈始终无法膨胀接触到大圆圈。当时周围很多人,如何能够大吼呢?他提醒我可以干咳,分贝不够,干笑一声,还不够。折腾半天,突然灵机一动,用笔敲打话筒,过关!Skype两边的人都大笑,“这个软件不但幽默,而且还启发智力诶”。Yang不好意思之后,倒是提出了一个不错的想法,幽默感是否是好软件的一个必要条件呢?我倒是真的很同意,人机交互中很重视用户情感和注意力的分析,在软件中融入一些幽默因素,自然可以让用户对软件产生亲近感,自然也就容易操作成功。“幽默”标签,先贴到好软件上。
好软件的标准一直在发展,最早看编译代码的长度,后来看执行效率,再后来是模块化,其后开始关注用户界面,九十年代中期开始关注平台无关性,以及不同系统间的远程互操作能力。今天的大部分软件已经从编程语言内部支持这些能力,有些早期的好软件要求也已经成为惯例。估计大部分软件开发者已经烂熟在心,或者开发工具已经可以帮助做很多事情。今天想要编写好的软件,必定有更高的要求,还需要什么新的条件呢?
过去的同事们在一起玩过这样的游戏:从一个人开始编一个最简单的COM部件封装起来,第二个人在第一个基础上在增加一些功能或算法继续封装....一直持续下去,最后的一个人编写一个可执行程序,看它能够做什么。结果是什么不重要了,但是可见Hack是工程师文化的一部分。过去两年,我们看到很多好的软件出现,这些软件不但提供了满足人们不同需求的核心价值,而且还都有一个共同特征,那就是Hackable,让Fans们可以在软件基础上继续挖掘潜力,创造出更多好玩或者附加的功能。Hackable需要开放的思维,所以首要是提供可以被Hack的接口,在此基础上则可以有第一层的创造。著名的Amazon Light(还不止一个)就是一例,人们可以不必到Amazon花哨的网站上,直接在这个简版网站搜索Amazon上的书籍。我乐见Joyo被Amazon收购的唯一原因就是希望Joyo早日提供中文图书的接口,不知道可以让销售机会增加多少。Google, Gmail, Google Maps, Google Desktop Search都已经或者即将提供API,或者尽可能鼓励开发者去Hack其中的价值。聪明的技术创业者,会拥抱这样的策略,当然,看来国内还不多见。有一些社会性软件也被人模仿,却始终无法找到感觉,封闭心态导致unhackable为原因之一。
新好软件,杜撰自“新好男人”,共同之处:“幽默”,外加“Hackable”。;)




