写字的程序员

冯华君这几天的兴奋是可以想象--并且可以理解的。作为麦金塔平台上最好的中文输入法之一--Fun Input Toy,简称 FIT--的开发者,他十分及时地为苹果公司的手持移动硬件平台 iPhone 写出了对应版本的中文输入法 WeFIT。在 1.0 preview 版本发行之后仅两天,冯与 WeiPhone 开发小组仝人就放出了 preview 2,这种速度不禁让人想起 NativeCN 和 ChinSMS 去年推出时、开发者 Gary 与 iczfirz 那种不睡觉式的疯狂。软件推出后不久,冯华君在人气极旺的 WeiPhone 论坛开了「门诊专帖」,声称「作者亲自解答,知无不言,言无不尽」,事实上他也的确做到了。本站刚刚发布了关于 WeFIT 诞生的消息帖,他便摸了过来(想必是通过反向链接功能),对帖中提及的问题作了回复。作为独立软件开发者而言,这种对于万维网上有关自己产品的反馈信息的地毯式搜索般的关注与快速反应,大概只有在产品问世之初才有可能出现。

冯华君很可能是中国大陆的苹果软件开发者中最高调的一位。身为广东人,他有那种我十分能够认同的「挑战中原」的彪悍心态。尽管广东在信息技术领域并不像在文化领域那样被边缘化(广州一向被认为是全国电脑配件及水货的供应中心,而深圳更是不少国内一线 IT 公司的所在地),但地理位置的边缘性对民众心态产生的潜移默化影响常常被忽略。经典意义上的黑客往往与低调、害羞、谦逊等性格特征联系在一起,国内另外三个非视窗系统中文输入法的开发者--SCIM 的苏哲、fcitx 的 Yuking、以及 QIM 的 Glider 都是例子,至于国外更是数不胜数:莱纳斯·托维、高德纳、罗伯特·莫里斯、'DVD' Jon、Geohot……不过,相反的例子在国外也一样不少:保罗·格雷姆、理查德·史陀曼、威尔·席普利……至于国内,在埋头写代码、用形式语言创作的同时,还能有兴趣用自然语言阐述自己的创作理念的人,目力所及,冯华君是第一个。

编程爱好者想必都很容易明白 WordPress 的口号:代码是诗。但或许是过于关注为形式语言注入诗性,他们很多人大概忘记了诗性并非只存在于形式语言当中。固然,作为每天使用着被阉割的自然语言的中国大陆人来说,忘记这一点可以原谅。要知道,如今世界上最有价值的知识大部分是用英文写成,而有价值的中文大多和二十 / 廿一世纪之交的大陆人离得太远,因此中国找不到格雷姆那样的写作者也并不奇怪。

和很多中国人的认知相反,写字是一门专门的技巧。(正如编程、弹钢琴、下围棋、摄影、画画、行医、做音乐是一门专门的技巧。)冯华君的文字称不上流畅优美(擅写的黑客都对文字下过苦功,智商高如格雷姆也不例外),但并不妨碍我喜欢看他写的东西。事实上,我希望有更多的软件开发人员出来写东西,一来用户可以了解他们在设计软件时的各种考量,二来以软件开发所需要的智力而言,只要他们认真对待自然语言,把写字当成专门的技巧来思考,假以时日,必能写出精准流畅的文字。为什么说这个?因为好的文字功底对于程序员来说远比很多人想象中重要;因为,如果说苹果公司有什么优点一直被许多中国用户忽视了的话,那就是它对自然语言--我们每天使用的语言--的重视。

苹果对文字的敏感和讲究,是需要有一定的英文程度才能了解的。这意味着你不只要能看「懂」英文单词和句子的「意思」,还要对于作为媒介的英语语文有一定程度的审美和审丑能力。比如说,你要能够轻易了解「Designed by Apple in California」和「Hello from Seattle」的区别;你可以不喜欢,但应该知道为什么苹果从不在自己的产品名称前加定冠词(the)。

这种态度也影响了很多英语世界的麦金塔第三方软件开发者。NetNewsWire 的作者布兰特·西蒙约一个星期前写了一篇有关 NetNewsWire 介面设计上的考量的文章,被博客圈广泛链接与讨论。其中有一段提到,用户第一次运行 NetNewsWire 时,会看到一句提示语,告诉你可以将 NetNewsWire 与线上阅读器 NewsGator 同步,以及这样做的好处。西蒙讲述了他是如何通过反复改写才达到最后的结果的。

这里的要求,一是要短(一到两个句子),二是要传达以下讯息:

  • 使用同步功能,你就可以在别的电脑上同步读你的 RSS 源料。
  • 使用同步功能,你就可以在没有 NetNewsWire 的情况下,用电脑或 iPhone 上的网页浏览器通过 NewsGator 同步读你的 RSS 源料。
  • 同步速度很快,而且免费。
西蒙最初是这么写的:
「和 NewsGator 同步之后,便可在任何电脑以及 iPhone 上阅读 RSS 源料。费用全免。」

而最终采用的版本如下:

「同步之后,便可用任何电脑、iPhone 或网页浏览器阅读 RSS 源料。速度飞快,费用全免。」

他的思考过程是这样的:

(摘译自英文原文

第一版很不错,因为它假定你已经有 iPhone 了。:) 而如果你没有,这句话可以说是夸了你一把,因为它表示说我们知道你是那种会去买 iPhone 的人。同时,它也表明了我个人认为同步功能最大的好处是什么:可以在 iPhone 上读源料!

但这个版本没有明确说明线上版的存在。因此我后来加了「或网页浏览器」。这种句子虽然看上去似乎不怎么明晰,但人人看了都知道它指的是线上版阅读器。(我其实可以写得更明晰一点,但那样字就会多,也就更容易让人看花眼。)

另外我还加了「速度飞快」,这也和尼克·布莱伯里与尼克·哈里斯的建议有关,他们都觉得必须提一下速度问题。(……)

当然,「费用全免」这部分也是绝对重要的。完全有可能出现如下情况:用户走到这一步,心想,噢,他们是在推销免费的 NetNewsWire 之上的什么产品。因此我们必须明确告诉他们,同步功能是不要钱的。

……

对了,「费用全免」放在最后也很重要,因为句子的末尾部分有强调效果。毕竟人的天性摆在那里,免费确实是最能吸引人们尝试同步功能的东西。

和写字一样,英文阅读--任何阅读--也是一门专门的技巧。(正如编程、弹钢琴、下围棋、摄影、画画、行医、做音乐是一门专门的技巧。)作为黑客,如果研究形式语言占用了你太多的时间,无法在英文阅读技巧上有所成就的话,不要紧,你只要知道、并能够体认苹果对于文字的敏感就好。但你应该了解并花时间研究好的中文,原因很简单:你经常要写中文--不是随便写写,而是软件说明书、网页的宣传语、「为什么选择我们的软件」、以及软件内部文案(如西蒙的案例)之类的正式文字。你应该能够清晰、流畅、优美地表达你的想法,说明软件的功能--看了西蒙的例子之后,你应该知道这并不简单。

那么中文苹果软件的情况怎么样呢?我们来看一下最近雷声有点大的麦金塔版 QQ 的口号--口号应该是软件文案中最重要的东西之一吧?麦金塔版 QQ 的口号是这样的:

QQ, for Mac, for You!

根据腾讯的网页,麦金塔版 QQ 的正式名称叫「Tencent QQ for Mac」,那么,在五个英文单词的口号里,有三个(百分之六十)直接就是软件的名字本身,剩下的两个单词没有传达任何讯息。这样一条口号,堂而皇之地占据了网页的黄金位置。

这是一句我读出来都会脸红的口号。我讨厌那个可笑的感叹号,讨厌网页上第一个逗号的奇怪位置,讨厌 for You! 那被装腔作势地放大了的字体。尽管你可以看到网页的设计师作了努力,尽量令麦金塔版 QQ 的页面感觉向 Mac OS X 的视觉体验靠拢,但这句口号告诉我们,有些东西是很难改变的,做了美容手术后的腾讯,仍然是那个腾讯。

自然,上市企业与独立软件开发人是两种极不一样的实体,我们可以为 NetNewsWire 的文案称赞西蒙,但很难把腾讯的拙劣口号归罪于任何一个程序员。问题是,这样的口号能够通过,反映出来的要么是腾讯对于软件文案态度儿戏,要么就是对文字品味低劣。(我想很可能是两者的结合。)重要的是,对于不只在乎软件的功能、同时也在乎软件的体验和品味的用户来说,这是一个让人扭头就走的设计细节。

冯华君的域名叫「Cool Little Things」,他的输入法名称的第一个字是「fun」。这都令人产生无限好感。除了期待 WeFIT 变得更快、更优美之外,我也期待看到他的更多文章、更多具有诗性的代码、以及简洁、流畅、读出声不会脸红的软件文案。