重读《Joel on Software》,看到一篇关于鸡与蛋的问题的讨论和他的解法,虽然已经过了快30年,但读完后感叹太阳底下无新事,IT行业也不例外。

作者用一个商业案例贯穿了讨论,觉得有点意思,记录一下。


以前信用卡公司总是通过寄信的方式提供账单服务……很多IT公司都想提供一个基于web的一站式服务,对接多家信用卡公司的系统,让用户可以方便地查看和管理自己的信用卡账单,也能为商家节省大量人力物力。但一个巨大问题是,如果只支持部分信用卡系统,用户常常搞不清没收到账单是系统不支持,还是哪里出错了,体验反而更差,商业价值几乎为0。但如何说服所有信用卡公司大费周章地接入自己的系统呢?……也就是说,用户不会来,除非你有了商家,而商家也不会来,除非你有了顾客!

……连微软也入局了(产品叫TransPoint),当时想出的办法是动用“钞能力”,承诺给接入的商家大量补贴,不过效果并不好。

最终反而是一些硅谷的创业公司(如PayMyBills.com)想出了办法:如果商家不支持这个系统,那就让商家把他们该死的纸质账单寄到帕洛阿托的大学路,那里会有一群真人负责拆封并扫描上传。现在你就能在网站上看到所有的账单了。由于系统涵盖了全球所有的商家,顾客很乐意使用它,哪怕它运行在这种奇怪的兼容模式之下😂。

其他精彩摘录

鸡与蛋的问题无处不在:

所以,如果你要做平台,很可能会面临那个众所周知的鸡与蛋的问题:在没有优质软件运行于其上之前,没人会购买你的平台;而在你拥有庞大的装机量之前,没人会为你开发软件。

即使是拥有现实扭曲立场的乔帮主,也难免陷入窘境,用一些“虚假宣传“来掩饰问题:

……苹果公司制作了一份亮丽的大型产品目录,列举了所有“可用”的优秀软件。其中列出的项目,一半在细小字体中注明“开发中”,另一半则是用尽任何方法也无法获取。其中一些产品极其糟糕,无人愿意购买。然而,即使这本厚实亮丽的目录为每个软件“产品”都安排了一页,并用华丽词藻描述,也无法掩盖这样一个事实:你根本无法购买到能在128KB Macintosh上运行的文字处理软件或电子表格。

微软DOS能成功的真实原因:

如今,大多数人可能都没听说过XENIX或是UCSD那些奇怪的东西。现在的年轻人们可能会认为,这是因为微软凭借强大的市场营销力量之类的手段占据了简陋操作系统的市场。这完全不是事实;当时微软的规模还非常小。那么,为什么PC-DOS能在三方竞争中胜出呢?这里有一个鲜为人知的事实:即使是DOS 1.0版本,也内置了兼容CP/M的模式。它不仅有自己崭新亮眼的编程接口(资深程序员熟知的INT 21),还完全支持旧的CP/M编程接口。它几乎能直接运行CP/M的软件。DOS之所以流行,是因为它从一开始就有软件可运行

尝到了甜头,微软后来变成了地球第一兼容狂魔:

最令人惊讶的部分是:在Windows 95的测试版本中,《模拟城市》无法正常运行。微软追踪了该错误,并专门在Windows 95中添加了检测《模拟城市》运行的代码。一旦发现《模拟城市》在运行,系统就会以一种特殊模式来运行内存分配器,这个模式不会立即释放内存。正是这种对向后兼容性的极致追求,才让人们愿意升级到Windows 95。

软件业给解决鸡与蛋的问题的启示:

你现在应该开始想到如何破解“鸡与蛋”的问题了:提供一个兼容(backward compatible)的模式,这样要么能带来一卡车“鸡”,要么带来一卡车“蛋”——看你怎么理解——然后就可以坐等收钱了。

以及……为了兼容,不惜用笨方法顶一顶:

由于系统上汇集了全球的所有商家,顾客乐意使用它,即使它运行在这种奇怪的兼容模式下……别担心,这种愚蠢的向后兼容模式终究会被替换掉