1989年,美国人发明了一个超越时代的软件 。
这个软件不但可以收发邮件,查看日程,它还是一个文档管理系统,你可以写一个像Word那样的文档,把链接发给同事,同事打开后也可以在这个文档上编辑,实现协作。
你可能觉得着没啥特别啊,现在很多工具像飞书啊,Slack也能做类似的事情啊!
但是,这个软件它还支持“编程”,你可以用它迅速地开发一个请假系统、会议室预定系统、报销系统、项目管理系统、Bug追踪系统、工作流......
开发速度要比现在快好几倍!
更牛的是,这样的理念在80年代末就实现了!
没错,这个软件就是大名鼎鼎的Lotus Notes。
没有产品是凭空出现的,Lotus Notes的概念起源于伊利诺伊大学,这个学校虽然没有CS四大天王那么知名,但它的计算机系也是美国顶级的。
伊利诺伊大学的最知名的校友可能是Marc Andreessen,大四时开发了Mosaic浏览器,引发了Internet革命,后来去硅谷又开发了网景浏览器,一度独霸江湖。
这里还走出了两位图灵奖,一个是华人姚期智,另外一个是发明哈明码的Richard Hamming。
雷·奥兹 (Ray Ozzie)是伊利诺伊大学计算机系的本科生,读书期间和小伙伴们一起参与了PLATO Notes这个产品的开发,PLATO Notes可以按照主题来组织私人笔记,添加评论,很受大家的欢迎。
到了80年代,IBM PC开始兴起,PLATO Notes所依赖的大型机不再流行。
于是奥兹就想着基于PC开发一个“Notes”产品,但是只有创意没有没钱,Lotus公司的创始人米奇·卡普尔看到了奥兹作品的潜力,做了投资,后来产品名称就叫做Lotus Notes。
Lotus Notes规划了电子邮件、在线讨论、文档数据库等功能,这些功能需要网络的支持,是典型的客户端/服务器产品。
在PC还没普及,没多少人见过局域网的时候,这些功能可以说是远远超越时代。
当时的PC还很不成熟(想想MS-DOS吧),奥兹他们必须编写大量系统级代码来实现数据库的相关内容。
最早的Lotus Notes就像iPhone一样,只有一些内置的应用,如果一直这样,那么Lotus Notes只会成为一个平庸的产品。
但是,奥兹做出了开放架构的决定,让用户也能开发属于自己的应用,满足自己的需求,这样Lotus Notes就成为一个平台,无论行业如何变革,都岿然不动。
从1984年的概念开始,到1989年第一版发布,整整经历了5年。漫长的开发周期使得 Lotus Notes 成为一款非常可靠的产品,在市场上没有真正的竞争对手。
在正式发布之前,普华永道的负责人观看了 Lotus Notes 的演示,印象深刻,立刻购买了 10,000 份。这是有史以来单个软件产品在 PC 上销量最大的一次。
作为 Lotus Notes 的第一位大客户,普华永道预测 Lotus Notes 将改变公司的经营方式。
Lotus Notes 有很多先进的功能,这里罗列几个:
强大的加密
Lotus Notes是世界上第一个使用RSA加密的商业产品,通过使用公钥技术进行加密、签名和身份认证,可以让文档的接收者确保在传输过程中未被修改。
Lotus Notes的加密是如此强大,以至于美国国家安全局要求Lotus削弱其加密技术,以便NSA能破解被Lotus Notes保护的文档和电子邮件。
Lotus Notes对静态文件也支持高强度加密,即使别人拿到了这个文件,也根本无法打开。
多重身份验证
我记得第一次用Notes时感觉非常古怪,为什么必须得拿到一个Notes用户的ID文件,然后输入密码才能进入Notes? 只用密码不行吗?
后来就明白了,这就是多重身份验证(MFA),那个ID文件就相当于银行发的U盾,是识别用户的数字证书。
现在多重身份验证(MFA)越来越受到重视,但从Lotus Notes第一版开始,就具备了MFA,非常先进。
强悍的定制开发能力
Lotus Notes最强的还是应用开发能力,2000年初的时候有个热门的概念就是“工作流”,用Web系统实现起来简直麻烦死了。
Notes有一个内置的工作流引擎,可以定义和自动化流程,因为Notes是基于文档的数据库,每个文档很自然地都可以看成是一个(审批)表单,工作流中的每一步(例如创建、审批、修改文档)都可以轻松跟踪、更新和归档。
再加上它灵活的脚本语言和强大的访问控制和权限管理,实现一个工作流那实在是太方便了。
所以Lotus Notes特别适合企业的办公自动化,请假系统、会议室预定系统、报销系统、项目管理系统......都可以轻松搞定。
Lotus Noes一个产品就可以满足一家公司的几乎所有需求。
正是这些特点,让Lotus Notes受到很多企业,尤其是大型企业的热烈欢迎,成了群件(GroupWare)的代名词,很长时间都没有对手。
Lotus 在群件市场的主导地位吸引了蓝色巨人IBM,此时IBM正要向软件和服务转型,需要进入客户端/服务器计算领域,于是就斥资35亿美元收购了Lotus,这是当时最大的一笔软件收购。
借助IBM的销售渠道,Lotus Notes开始狂飙,在三年里卖出的License比前六年总和都多,进入了康柏、戴尔电、惠普、英特尔、强生、耐克、壳牌、福特等世界500强企业。
俗话说,盛极必衰,Lotus的危机慢慢地浮现。
首先是人才的流失,奥兹和几个主要程序员离职,奥兹去了微软,后来成了首席架构师,提出了微软云计算Azure的战略。
其次,一个强大的竞争对手Microsoft Exchange出现了,虽然Lotus一直嘲笑Exchange只是个电子邮件程序,无法协作,但是Exchange迅速赶上,它更加便宜,更加可靠,吸引了大量客户。
这些都不算啥,更要命的是时代的变化:Web浪潮来了!
Web应用所要求的关键技术如HTML、JavaScript、HTTP、关系数据库等,Lotus Note要么不具备,要么做得不好。
Lotus Notes引以为傲的文档数据库是非结构化与半结构化的,没法像关系数据库那样轻松地查询/分析/统计,其应用的范围非常有限。它的主要作用依然是公司内部的协同办公,很难拓展到互联网的其他商业领域。
真是成也萧何、败也萧何啊!
Lotus Notes是典型的上个世纪软件的代表,它理念领先,功能很强,但是历史包袱沉重,臃肿不堪,UI做得真是不敢恭维,“反人类设计”,“丑到爆”!
Notes的UI、逻辑、数据之间耦合度较高,逻辑代码经常分布在表单、视图等各个地方,交叉引用复杂、难以跟踪依赖关系。
它的开发工具也有限,调试能力薄弱,很多现代IDE提供的代码提示、版本管理、重构、单元测试等功能,在Lotus Notes的开发环境中不够完善或直接缺失,代码维护起来非常困难,我记得在IBM时有个同事说“Notes开发简直是痛不欲生!”
在使用体验上也很差,比如说Notes一旦崩溃,你想关都关不掉,非得重启电脑,后来还有人还专门写了一个软件叫“Notes Killer”把Notes杀掉。
Lotus高昂的价格限制了它的普及,它只能在大型、超大型单位使用,中小企业无法触及,Lotus Notes开发人员比较难找,主要靠内部培训和培养。
Lotus Notes虽然也在不断发展,例如采用Eclipse架构,集成即时通信软件,文档编辑器,但是没能抓住最新的浪潮,又没有大量开发人员的支持,Lotus Notes的衰落是必然的。
2018年12月,印度公司HCL以18亿美元收购了Lotus Notes和其他几个软件工具,从此改名为HCL Notes。
2021年HCL推出了Domino 12 (Notes的服务器端),表示“Notes和Domino已经转型”,已经变成了一个“云原生、低代码的产品”。“世界(仍然)由 Domino 驱动 ,依然有15000家客户在使用。”
Notes依然是个可以盈利的业务,但是它再也回不到原来的位置了,这个曾经超越时代的软件,被时代超越了。
--完--
本文作者刘欣,著有畅销书《码农翻身》,《半小时漫画计算机》,前IBM架构师,领导过多个企业应用架构设计和开发工作;洞察技术本质,擅长用故事去讲解复杂技术。