UMLChina二十周年回忆

潘加宇

(一)开头的话

UMLChina.com域名注册于1999年11月25日(北京时间),即将迎来它的二十周岁生日。下面图片是11月24日,是因为用的是UTC时间。

域名截图

一个网站存在二十年不容易,特别是存在二十年却好像没有变化,更不容易。

要不要写一些回忆的文章,我心里是矛盾的。

担心给人一个“已经老了”的形象。“回忆”往往和“老人”挂钩。我今年45岁,自己不觉得有什么,但每当有以前的学员发消息“潘老师,我退休了”,我耳朵“嗡嗡……嗡……退休了……休了……了……”,啥?还有很多事情等着做呢!真是不愿回忆,怕耽误了前进的脚步。

担心引起纠纷。进入互联网时代,因回忆引起反转甚至人设崩掉的例子比比皆是。作者可能没觉得写了什么,难挡有人看见了以为写的文字对他不好,或者有人跳出来直指作者撒谎。

但仔细想一想,还是得写。

毕竟二十年积累,还是有很多东西可以说的。现在不说,要是哪天嘎嘣一下没了,岂不是没得说了?

我保留了1999年以来绝大多数Email、MSN、QQ和微信的来往记录,写回忆时可以仔细比对一番,尽量不要让人挑毛病就是了。另外,不针对单个人说不好的事情。

回忆按照时间顺序陈述,内容主要是事件、人物以及我的一些观点。您就当成《软件方法》番外篇来看就好了。

(二)我的转行

我做UMLChina之前的经历,和为什么我坚持做UMLChina二十年,有一定的关系。

我本科和硕士读的都是化学,计算机科学和软件开发的知识都是自学的。为了方便找工作,花不少精力考了一些证书。当年的证书是这个样子的:

程序员
高级程序员
3A
MCSE

还有一些其他方面的职业证书就不列了,连公务员证都有。当然,自从我决定把UMLChina当成主要工作来做之后,就什么证也不再有了。

我列出这个的意思是说:学校不是学计算机或软件相关专业,当然也可以胜任软件开发工作,但这不是自然而然发生的,需要付出相应的代价。

“可以胜任软件开发工作”的原因是“付出相应的代价”,而不是“学校不是学计算机或软件相关专业”。在这里千万不要犯“错误归因”的逻辑谬误,把“并存”当成“因果”,否则会得到错误的结论。

再即兴发挥几句,正如我在《软件方法》第4章中提到的:

错误归因

您以为只有互联网企业的人员会这样误导因果关系吗?这一套很多年前传统企业人员早干过了。

建模人员建模了企业流程,找到相应改进点,建议如此这般改进。企业中有的人就说“我们企业成立以来就这么干的,已经很多年了,而且企业一直在发展”。这就是错误归因。“企业发展”的原因不是“这么干”,而是(此处作者删除若干字)。如果(此处作者删除若干字)的红利可以一直很爽地吃下去,一直“这么干”或者“站着干”“倒立着干”“敏捷着干”都可以的,根本用不着改进。

(三)软件开发和化学的类比

中学时我学得最好的是数学,本来打算努力考上北大数学系或清华计算机系。1989年,我在广西百色高中读高二下学期的时候,学校看我年纪最小,成绩却是年级第一名,就让我试着参加高考,考中国科技大学少年班。

结果,没考上。

中科大负责广西招生的劳老师可能觉得来自贫困老区的学生考到这样也不容易了,来电说应用化学系还有名额,愿不愿意去读?我记得当时我说,愿意,历史系我都去。那个年代哪敢承担再读一年的风险,更不用说抵抗“15岁上大学”的荣耀了。

虽然和立志献身化学的同学没法比,但我对化学也不是没有兴趣,否则也没法从中科大转到北大读研究生。不过,靠化学谋生实在是太难了,特别是到北京读书以后,到中关村一看,就觉得不转不行了。就像《少林足球》里的三师兄所言:“你你你,还提金钟罩铁布衫。你看看,满天都是飞机,满街都是电脑,现在什么时间了,你醒醒吧你!”

少林足球

另外,化学确实比较毒。当时做的高分子合成,感觉相对于其他化学专业来说算毒性小的。几年后想一想,这个“小”相对于普通人来说也很大了。主要溶剂是苯和甲苯,像水一样敞开用。甲苯倒还罢了,苯这个WHO一类致癌物的沸点才80℃,比水还容易挥发,那得有多少进入呼吸道啊!

软件开发和化学看起来隔得比较远,但仔细想想还是有一些类似之处。

物质的性质类似于软件需求,物质的结构类似于软件设计。

物质的性质由结构决定,但妙就妙在,想要获得某种性质,有很多种结构可以满足,这就有了创新的空间。

例如,我们需要一根坚硬的棍子去敲敌人的脑袋,可以用钢制作,也可以用碳纤维。

如果掌握了基本组件之间协作的秘密,就可以用基本的元素灵活组装,创造出性质各异的物质。地球上丰富多彩的生命就是由C、H、N、O几种主要元素,通过单键、双键、三键、成链、成环、聚合……组装起来的。

下图是1999年北京大学研究生入学考试的有机化学试题:

1999考研

我把它改一下,变成下图:

1999考研类比

您看看,像不像?

如果换一个技术栈,也可以做出同样的应用。

(四)窗外软件工程、Linux-App和欧阳

1997年硕士毕业时,我没有直接从事软件开发的工作。因为我不是计算机或软件专业,找软件开发工作倒不难,但又想同时解决北京户口就难了。最后我选择了到清华大学当老师,不是做教学工作,而是做行政工作,即打杂。

行政老师很辛苦,每天7:30就要到办公室。当时住3号楼单身教工宿舍,两人一间。我的同屋是外语系的郑老师,也是一起从北大分过来的。每天我就看着他悠哉悠哉,心里很是羡慕。

在清华呆了一年,1998年,我就辞职去软件公司了。幸运的是,在那个时期,清华校内的网络条件领先全国,至少访问国内的网站是很快的。我在网络上学到了不少东西。当时清华东门外五道口的网吧,主打招牌是“56K Modem高速上网”,注意,是整个网吧的电脑通过WinGate之类的软件共享这56K,网速差很多。

1999年6月,我在网上看到asiaalien的“窗外软件工程”,从上面第一次知道了UML。“窗外软件工程”是一个网易个人主页,网址asiaalien.126.com,现在已经无法访问了。其实那么多年来我也没有见过asiaalien,也许见过我不知道是他。他尊姓大名,当时在什么公司高就,一概不知。2001年我请asiaalien做了一次网络访谈,访谈记录在http://www.umlchina.com/Chat/alien.htm,他给我的介绍也只是:计算机科学硕士,现任某公司软件开发部门主管。

当时,我在Nanosoft公司工作。公司的名字显然是山寨行业领头羊Microsoft。名字是Microsoft的千分之一,其实体量还不到其千分之一。公司虽小,倒也其乐融融。二十年过去了,公司现在还在原来的办公楼,原来的办公室,当年和我一起共事的同事还在那里工作,隔几年还回去一起聚餐。也是一个奇特而坚挺的存在。

公司做美国那边过来的项目,主要是电子商务领域。我负责设计数据库并编写存储过程,把尽可能多的领域逻辑塞到存储过程里面,然后其他同事套上VB、ASP。

了解到UML之后,我的眼界一下就开阔了。1999年6月到10月是一段疯狂学习UML的日子,我把当时互联网上能找到的有价值的文档都下载下来,能看的都看了,笔记本用了好几本。

1999年10月,我在《计算机世界》报纸上看到电子工业部张琪的一篇讲话--“紧紧抓住Linux机遇”,有了一个相当卑鄙的想法:找几个人一起成立一家软件公司,学习方兴东走“爱国”路线,喊出做Linux中文桌面应用软件的口号(做不做另说),傍上政府部门。为此我注册了一个域名linux-app.com,之所以带横杠是因为linuxapp.com老外已经注了。

有了一个域名和网站,上面的想法还没弄清楚怎么干呢,想着反正网站空间闲着也是闲着,于是就把我看过的那些UML/OOAD材料放在网上介绍给大家,网站就起名叫“中国UML播种机”。然后我在中文Yahoo!上以关键词“UML”登记了这个网站。从时光机上还能看到2000年5月的样子。

2000年的UMLChina

过了不久,欧阳巨星第一个来信告诉我,他访问了我的网站。这是我得到的第一封关于“中国UML播种机”的Email。

欧阳

和欧阳认识二十年,也只见过两次面。最近一次见面已经是2002年11月,在清华东门学研大厦的《人月神话》研讨会上。印象里,欧阳总是很热情,对改进软件开发方法充满了干劲。

第二封Email是GzMing发来的,问Rose98i注册码,第三封Email是nemail发来的,问哪里能下载到Rose。

越来越多的邮件让我意识到,关注UML和建模的人很多,看来还是值得好好搞一下的。之前那个Linux的想法就没有继续下去。虽然Linux桌面应用这个想法后来证明实际上走不通,但靠Linux口号套利其实是走得通的,可自行搜索“蓝点Linux”。

我重新注册了域名umlchina.com。每天下班后就去飞宇网吧,在所有能找到的中文目录网站上都注册了这个网站,大约有几十个,包括Yahoo!、搜狐、网易、263、番薯藤、找到啦…等等。那时Google这样的搜索引擎还没有流行起来,大家搜索内容主要还是通过这些目录网站。

当时没有专门的中文UML网站,只有一些零散的个人主页,所以UMLChina很快引起大家的注意。

这时我也没有把UMLChina作为长久的事业来做,只是想,网站有名气好啊,如果要换工作的话大有用处,下家会高看一眼,给你机会。

(五)即时贴

1999年底,我在《财富》杂志的中国网站(fortunechina.com)上看到了一篇文章《1999年最酷的公司》,上面介绍了Thirdvoice(第三声音),马上觉得“哇,这个东西真酷!”。

那篇文章现在还可以访问,网址http://www.fortunechina.com/magazine/c/1999-10/11/content_162.htm,不过由于埋得太深,现在搜“thirdvoice 最酷”出来的是我2005年写的文章。

Thirdvoice是一个浏览器插件,可以在任意网址上贴评论,同样装了Thirdvoice的网友浏览到该网址时,会看到之前的评论,其实这些评论都集中放在Thirdvoice服务器上。后来出现的贴吧,可以看作基于某个词汇的BBS,Thirdvoice则相当于一个基于URL的BBS。

直到今天,我依然觉得这个东西很酷,像照妖镜一样。想想这几个场景:

苍井空

*你在网上看到一张苍井老师的剧照,如果没有安装插件,只能静悄悄地来,静悄悄地走,如果安装了插件,就发现很多人围绕着这张图片展开了讨论,有评论的,有求种的……

*某个机构做了一些让网民不满的事情,但该机构的网站上没有留言板功能,就算有也是人家管理员想删就删。网民要发泄只能另找地方。如果安装了插件,就发现很多人在该机构网站的各个页面留下了各种评论,有涂鸦的,有扔狗屎的,有送花的……

以下是扩展,不是当时就有的。

*微信公众号文章下面的评论是作者精选过才能显示的,读者往往看不到负面评论。如果安装了插件,就会发现,针对这篇文章还有很多不同的看法。

2000年上半年,我花了几个月的业余时间,山寨了一个类似Thirdvoice这样的东西。一开始起名叫“网评”,后来改名叫“即时贴”。做好后,租了服务器来放服务器端,把客户端送到华军软件园等下载网站。国内同时出现的类似山寨品还有“傲客”。我下载了“傲客”研究一番,不得不赞叹“傲客”的实现思路比“即时贴”要高很多,甚至超过了被山寨的Thirdvoice。

实际上我也不知道这样的东西有什么盈利模式,在新浪IT业界论坛认识的网友ie98(傅光远)尝试帮我寻找风险投资。他编的故事是,这个东西相当于给网络增加了新的维度――以前,大家来到同一个地方看东西,互相之间却不能看见,这和现实中是不相符的。通过提供这样的功能,可以实现“人以群分”(相对于Yahoo!的“物以类聚”),对定点投放广告、交友之类很有用。ie98还写了碰瓷的软文来宣传,20年后能搜到的只有一个链接了。

OICQ终结者

ie98还去了周鸿祎的办公室,说服周下载了客户端安装。周安装完毕后,点右下角图标没点开,事情到此为止。

随着互联网第一次泡沫破裂,大家都消停了。鼻祖ThirdVoice也没有找到盈利模式,于2001年4月停止了服务。

“初试创业”虽然失败了,但创业的心情已经不可抑止。起初我只是把UMLChina当成一个爱好,并没有想过把它当作终身职业。这时,我开始重新审视UMLChina,郑重思考下一步该怎么做。

(六)UMLChina这名字起得好吗

UMLChina这个名字,好处是形象鲜明,在UML普及初期很有帮助。一看“UML+China”,就觉得是UML在中国的代表,在中国如果需要UML服务,就是它了。其实,除了我自己和OMG里个别人有过Email联系,UMLChina和OMG并没有官方合作关系,也没有绑定到哪家工具厂商。

好处的另一面就是坏处。

一个坏处是会让人认为“只会UML”。有时,来联系业务的是IT组织的人力资源专员或培训公司的行政老师(女性居多),她们没有软件开发的经历,会问“潘老师,您这边除了UML的培训之外,还有没有针对产品经理或架构师的培训”。我不得不向对方解释方法、过程和工具等概念,以及UML和这些有什么关系。还有,要是OMG把UML改了名字,UMLChina这个名字就杯具了。

另一个坏处是走不出中国。毕竟在很多领域,China和“领先”还不能联系在一起。当然,目前还没有面对这方面的烦恼。

以下是我对IT业起名的一些观察和思考。

先用类图和对象图描述一下品类和品牌的概念。

品牌

严格来说,UML不是品类,是品牌,品类是建模语言。由于在受众的大脑中,UML相对于其他建模语言显得太突出,已经接近于品类。类似的例子还有可乐。可乐本来是品牌,后来大家大脑里逐渐建立起这样的概念:那种黑褐色的糖水叫可乐(Cola),于是就成了品类。可口可乐,百事可乐、非常可乐、天府可乐……是可乐的品牌。

直接起名

UMLChina属于用品类的名字直接起名。类似的名字还有IBM、Microsoft等。

IBM是International Business Machines(国际商业机器)的缩写,创建于1911年。IBM最开始做打字机,后来做计算机,都属于“商业机器”;Microsoft诞生于1975年,当时软件还属于顾客购买计算机时赠送的附属品,还没有“软件业”的概念。

在品类形成的初期,直接起名可以帮助抢占先机,但是不利于将来的延伸。

IBM研发和收购了许许多多的软件,所谓五大软件品牌,都没有得到期望的结果。幸亏IBM是缩写,如果使用全名,对IBM软件的形象就更不利了。Microsoft的“soft”也让人感觉擅长软件,不擅长硬件,其实微软的笔记本电脑水平很高。

直接起名还有一个容易模仿的问题。你来一个UMLChina,他来一个ChinaUML、UMLCn、CnUML,然后你就被淹没在茫茫人海之中,用搜索引擎搜也很容易混淆。建模工具Enterprise Architect属于直接起名,两个通用词汇连在一起,如果使用Enterprise Architect碰到问题,搜索解决方案时麻烦大了。

隐喻起名

另一种起名是隐喻起名,名字中能联想到品类。

Google是一个搜索引擎,名字来源于googol,即10的100次方,暗示后面有海量的信息供搜索。域名用google.com而不用search.com之类,原因当然不是买不起域名。如果起名search.com,可能就会有人山寨esearch.com、isearch.com,而Google这个词和起名者的创意相关,如果有人山寨了一个iGoogle,其他人也会联想到iGoogle里的Google怎么来的,山寨起来不划算,不如另起个名字,比如百度。

隐喻式起名虽然和品类的绑定没那么直接,可以延伸到其他品类,但也不是没有影响。百度搞地图、文库还好,搞外卖、商城之类搜索不是关键要素的领域就够呛了,除非不用百度的名字。

知乎、闲鱼、滴滴、饿了么、陌陌等应该都属于隐喻起名。

无厘头起名

接下来就是无厘头起名了。名字来自起名者灵光一闪,和品类没有内在联系。Apple、小米、京东、盒马、喜马拉雅、荔枝等属于这一类。

Apple是因为乔布斯当时经常吃苹果,小米是因为大家早餐喝小米粥,京东是因为爱情。

因为爱情

因为和品类没有内在联系,在初期的营销中,必须卖力宣传,而且要和品类一起连起来宣传。例如,Apple最开始叫Apple Computer。有一段时间霸占电梯广告的“瓜子二手车直卖网”,也是连在一起说。光说瓜子,大家以为是卖炒货的。

等到大家对品牌有认识了,再把品类名称去掉。“Apple Computer”把“Computer”去掉,喜马拉雅FM、荔枝FM现在把FM去掉了,“盒马鲜生”也去除“鲜生”,只保留“盒马”。

因为不绑定,所以好延伸到其他品类。Apple搞房地产,就是创新、精致、有点贵的房地产;小米搞房地产,就是性价比高的房地产,“年轻人第一套房”。

最后归纳一下:如果在品类形成初期,对该品类看好,下决心锚定这个品类,而且有信心成为各品牌的领先者,就直接起名好了,显得霸气;如果想要灵活变化,就无厘头起名。

所以,我对UMLChina的名字并没有遗憾,而且我写的书也是直接起名《软件方法》,不另外起品牌名字,即使搜索时淹没在海量信息中也无所谓。“The Art of Computer Programming”也是直接起名。

软件方法
taocp

特别声明:

以上思考和我对建模的思考不一样,仅属于业余爱好,所以思考的价值不敢确定,仅供参考。竞争成败因素很多,起名因素占的比例难说有多少。

附上一篇2004年发表于《中华读书报》的类似业余爱好文章《头脑中的书店战》,文章的最后说的,就是后来京东所做的。网址:http://www.china.com.cn/chinese/archive/583426.htm

书店战
书店战
书店战
20年聚会