PDF里的中国力量
123
Variety 百味
提起PDF ,大家的第一反应便是Adobe 。而近年来,一款拥有自主知识产权的名叫Foxit (福昕)的软件迅速崛起。熊雨前就是这款软件的制作者。他15岁考入中科大少年班,毕业后先在中科院工作,后来辗转于美国硅谷和中国之间,并将福昕软件打造成了全球第二大PDF 软件厂商,而无论在哪里、处于什么位置,他都保持着对技术的特别感情。《程序员》近日对他做了专访,
请他来分享自己与众不同的程序人生和感悟。记者 / 董世晓
PDF 里的中国力量
福昕软件总裁熊雨前专访
少年得志
《程序员》:能读中科大少年班的一般都会被认
为是天才,你是怎样一步步进入少年班的?
熊雨前:我从不认为自己是天才,但能读少年班
的同学,确实都有一定的机缘。那是1985年,我在
读高二,父母的同事偶然提到说可以让我提前报
考少年班。虽说有点不情愿,但想着能有避免参
加高考这个痛苦的阶段,我便欣然接受。但又想
到每年有那么多人报考少年班,所以只是抱着试
试的心态,结果竟然就真考上了。
虽没有什么压力,但有时脑子会不自觉地去憧憬
关于爱情的经典语句一下将来的生活,加之必须要在高三前提前考
试,要临时突击高三课程,所以有时上课会走点
神儿,专心程度大不如前。终于,在一次英语课
上,老师问了我一个问题,而我压根儿都没听到
问的什么。于是老师狠狠批评了我一顿。这件事
情让我体会到专心的重要性,毕竟,如果连问题
都不知道是什么,又怎能获得正确答案呢?
在最后一场英语考试中,开考不到半个小时我就
趴那儿睡着了。监考老师很是着急,以为这小孩
考晕了,赶紧去买了冰镇绿豆汤叫我起来喝。我说
已经做完题目了,又不敢提前离开考场,所以就想
趴会儿,没想到睡着了。而实际上,英语是我的弱
项,正是由于无压力的心态,让我考试时超水平发
挥,感觉所有题目都像见过似的,得到了高分。
总而言之,各种机缘巧合让我考上了少年班。《程序员》:在少年班的经历怎样? 熊雨前:大学入学前,有次逛新华书店时,我生平第一次见到了编程书——日本NEC 出的一本如何使用其产品进行Basic 编程,这让我直呼神奇:这应该是人类历史上发明的最好的工具,它能处理信息,并且比其他工具都更灵活和强大,所以我对计算机就产生了非常浓厚的兴趣。于是欣然收入囊中。假期里面我苦读此书,甚至在去少年班报到途中的一天一夜的江轮上,也不忘钻研。那时中科大算是大学里面条件比较好的,有自己的机房,少年班正好也买了一台小型机,所以我每天都去上机。后来老师索性把机房钥匙给我,让我做机房管理员,于是我更放肆地很多时候通宵在那里。这样放肆的后果,就是放松了其他学业,要不断补考,并致使我读不了研究生,因为那时读研究生有特别的要求。但我无怨无悔,因为学到了更多。这一晃就是三年。事实上,少年班的头三年不用定专业,我先学了生物和无线电,但生物死记硬背的东西太多,无线电太不可捉摸,最后才由个人兴趣而选定计算机。在少年班里,我不像绝大多数同学那样从小就刻苦学习、被提前安排好成长道路——要去考少年班,要少读几年书,要往前跳级……我觉得这种做法好像拔苗助长,所以历届少年班都或多或少会有人出点心理问题。但这并不是主要的,现在看来,我们班同学大部分都事业有成,都能融入社会,并且在各自领域做出成绩。
Variety百味
《程序员》:那你自己做的第一个程序是什么?熊雨前:刚到少年班时,第一次做汇编语言编程使用
的是一台8位6502 CPU电脑。6502 CPU是20世纪80年代初由几个工程师自己捣鼓出来的一款传奇产品,在设计时由于没有现在这样的集成电路设计工具,所以全部设计都是在纸上画出来的,结果按照设计图做出来的芯片,第一次就通过所有测试,也就是说设计图里面一个Bug都没有,完全达到了他们的设计需求!因为6502 CPU 性能稳定、价格便宜,所以直到现在还有很多器件在用它【注:例如文曲星等电子产品】。
记得当屏幕上显示出来字(应该不是“Hello World”)时,我万分激动,感觉虽然不知道机器里面到底发生了什么事情,但我可以控制它做我想要它做的事情。
后来有了非常高级的APPLE II电脑。APPLE II拥有一个简单的操作系统,包括文件处理、Basic编程语言等,所以用起来比要6502那种接近祼机好用得多。我把APPLE II操作系统的所有机器码打印出来,花了半年时间把每一行代码都看懂了,还写了解释。经此一役,我对计算机体系结构有了深刻的理解,以至于后来我们做图形图像技术研发、面向移动平台做平台无关技术开发时,都能从最底层去分析整个系统。《程序员》:在课余时间,你有哪些爱好?
熊雨前:我不太喜欢社团活动,所以不上机时要么睡觉,要么去图书馆。在图书馆的日子里,我对《红楼梦》产生了兴趣,把所有与《红楼梦》有点关系的书都看了个遍。因为我发现《红楼梦》的整体写作架构里有编程的意味。曹雪芹并不是想到什么就写什么,而是先做了纲要,清晰列出每个人的
主线和副线,再把人物和剧情嵌入进去,划分依赖、因果、并行、综合等各种关系。当然,我发现原作还是有些错误,出现了前后矛盾。我相信如果有计算机帮忙的话,曹雪芹应该能写得更好,不会出现错误。
《程序员》:那你有没有想过要做一个没有错误的版本出来?
熊雨前:这非常难,而且也不是程序员能解决的。因为它不仅要有高超的写作能力,而且要有非常好的想象能力,同时还要对所设计的故事场景、社会现实和人物心理有非常好的了解,特别是人物心理是会变的。曹雪芹把这种变化写成让绝大多数人认为是合理的变化,并且留给后人非常大的想象空间去探寻和考证。而如果让计算机来处理一件事情的话,结果只能是相同的反应,也就是没有变化
熊雨前建议要从个人兴趣和擅长领域出发选择创业方向
124
Variety百味
《程序员》:后来还写过哪些印象深刻的程序?熊雨前:第一个是在大学,出于兴趣爱好在业余时间写了一个画国画的工具。因为那时计算机图像引擎还比较差,所以展现效果并不太好。但它给我的感觉非常不错,毕竟像我们这些不会画画的人,也可以用这套工具画出来点山水意境。
第二个也是业余时间做的DOS环境里的类似于Windows的图形界面开发工具包,包括窗口管理、设备管理、输入输出管理、内存管理、多任务管理等。到美国之后,还把这个工具包卖给了当地一家硬件公司,因为那时还是DOS的天下,而DOS应用基本上都是基于文字的,用户体验不好,Windows 3.1刚出来虽未普及但其界面已受到欢迎,这家公司就想写一个类似界面的配置程序,而我的工具正符合它的要求。虽说现在已没有人在用,但通过开发它,我对用户交互体系架构有了清晰的理解,并最终益于福盺在不同平台包括嵌入式设备上进行编程。反观现在的很多程序员,只是会用一些高级编程工具,对系统底层的技术细节并不了解,这不是一件太好的事情。
硅谷游历
《程序员》:Windows图形界面开发工具包可以说小试牛刀,再加之当时正处在从DOS向Windows转换的过程中,不乏一些机遇,有没有想过去微软或者相关公司工作呢?
熊雨前:那倒没有。从少年班毕业后,我先在中科院工作了4年,主要做国家天文台的天文图像处理。一段时间以后,我发现只是服务于天文图像处理这样一个很小的领域,而我希望做的软件能为各行各业服务,能为千千万万人所使用,这也是程序员共同的梦想。同时,我发现国内软件,特别是通用软件,没有太大市场,而美国硅谷是软件人向往的场所。于是,我决定去硅谷考察一番。时值1994年底,美国经过1992-1993年的经济衰退期,已然复苏,到处是招人的公司。在硅谷的前两年,我在一家公司担任技术总监,做Windows和Unix之间结合的一个小工具,业余时间向同行学习最前沿的通用软件开发技术。
后来发现这份工作与我的兴趣相去甚远——我对网络和商业流程相关的方向更感兴趣,加之在国
内已做了一些网络通信方面的事情,所以在1996
年,我加入一家电子商务公司,平常做的事情就
是写网页和数据库应用,这一干就是5年。我们公
司做的是B2B电子商务,相对比较成功,积累了
一些客户,获得到了很多投资。当时互联网虽然
热闹,但没办法挣钱。1999年,我回到国内,为这
家公司在北京创立研发中心,人最多的时候达到
200多。2001年,互联网泡沫破裂,公司做不下去
了,北京研发中心被裁撤。离职之后,我休整了
半年,然后下定决心,创立福昕软件。
《程序员》:美国的创业气氛非常浓厚,你是什么
时间萌生创业的念头的?
熊雨前:到硅谷后,才能切身感受到计算机领域
的瞬息变化。在硅谷,一夜暴富绝不是神话,每
2022年入梅出梅时间表
天都有每天都有新产品问世,一款产品就能产生
一个亿万富翁,而且创业也可以实现做的东西让
千千万万人使用。于是,我慢慢地想创业了。
实际上,在电子商务公司的5年时间里,我工作
之余做了一个创业项目,开发了全球第一款在
Windows 95上支持不同字体的终端仿真器。几经
升级,这款产品至今在美国仍有较大的用户。
决定做终端仿真器,还有一个有趣的故事。之前
我在国内花6个月做了一个文字终端仿真器,卖
给一家机构,并在里面加了一个Key,限定了安
装数。结果它安装超量后,仿真器就不好用了,
跑过来要求退款。当时国人可能就有这种概念,
觉得软件不值钱,买了软件就可以无限使用。
苦于没有合适的项目,想想何不试试改造一下这
个呢。就用周末休息的时间历时半年把这个终端
仿真器做了个Windows图形界面版,然后放到共
享软件网站上去卖。结果完全出乎我的意料,有
不少企业对它很感兴趣,因为虽然很多员工已使
用个人电脑,但很多关键业务还是放在主机,比
如航空公司还用文字终端做订票/出票系统(就
是敲各种各样的一般人不懂的那些指令)。免费
试用30天之后的付费率非常高,于是我了前同
事来做推广,他就跑到各个网站、论坛去上传、
发帖,紧接着注册了公司,办公室设在他自己家
里。没想到,就是这样一个200多KB、标价39美元
125
Variety百味
/份的小程序,第二年竟卖了一万多份。扣掉各种成本,分成后的钱比我辛辛苦苦工作挣得还多,而且我要做的只是处理一下客户报来的Bug,基本上不花什么时间。这个小程序最多一年卖出了一万五千份。所以这个终端仿真器是我严格意义上的第一桶金,靠它可以买房子。但很快我们就意识到,它只是一个过渡性的产品,慢慢地,很多公司就把原来基于主机的应用转换到基于互联网的应用。不过,我要非常感谢这个程序,虽然挽救不了它衰落的趋势,但一直有客户在付费试用,从而才有持续不断的来源,帮福昕度过了最困难的头几年,没有它,工资都很难发出来。直到前两年,我们才最终把它下线。
首次创业的经历,让我熟悉了软件从开发到赢利的流程。软件开发流程简单,不需要太多资金和经验,只要把产品做好,自然有人愿意掏钱买。江是哪里的简称
做自主研发的PDF核心技术
《程序员》:那福昕为何想到的是做PDF技术解决方案?
大不了唱首歌
熊雨前:有这么几个原因。
首先,我们当时用Adobe SDK做了一个Acrobat 插件,想放到Adobe Reader进行售卖。但这需要Adobe授权,在我们咨询好久之后,Adobe才给回复邮件,说要先押5万美元在它那儿,然后我们每卖一份就要交百分之几的授权费。而且,授权只针对当时的Adobe Reader有效,每升级一个版本就要重新授权。从那时起,我就暗下决心,要想不被别人牵着鼻子走,就必须自主研发。
其次,我们对做PDF技术解决方案进行了分析,发现:首先,PDF是一个公开的标准,不仅技术细节是公开的,而且不存在任何法律授权问题;其次,PDF涉及的技术非常丰富,而且恰好是我们所喜欢和擅长的底层技术;再次,PDF技术门槛比较高,不是谁想做就能做得来的。
于是,最终我们选择了转向PDF这种国内软件行业少有涉足的、世界通用的文档交换标准格式。我们完全凭自己写了一个完整的平台无关的图形图像引擎,PDF的每一个象素都是自己算出来的。《程序员》:福昕从做PDF技术解决方案至今,技术上遇到了哪些困难?
熊雨前:我们事先了解到PDF技术门槛高,但没想到那么高。在开发过程中遇到了各种问题。
首当其冲的便是对标准的理解问题。例如为保证PDF的安全,有设置加密和签名验证机制等安全协议。我们的程序和Adobe总会出现各种不兼容——互相打不开文件、报密码错误或者签字无效。我们当时的理解是公开的PDF技术细节还是做了一些保留,慢慢地才发现并非是故意保留,而是写标准的人和按照标准去开发的人不是一个团队,所以有些地方对不上。但客户并不关心标准是什么,只在乎为什么Adobe能打开的为何福昕打不开,而且要完全一样,一个象素都不能错,这确实给我们带来很烦。
其次,效率问题。很多时候,PDF的数据量非常大,而且有时会用一些不合情理的描述,例如一幅图像很可能是用几十万个小图像组成的。为了提高效率,我们不断测试和改进,构建了庞杂的核心代码,比如针对图像合并写了60多个函数来处理60多种情况,针对每种情况做了大量优化,在快速判断出属于何种情况后会快速处理。
这些是时间和耐心能解决的,而最让我们犯难的就是与Adobe的兼容性问题,还好通过不断尝试,这个问题基本解决了。特别是最近PDF已成为ISO标准,我们得到了更大的话语权。
《程序员》:截至目前,福昕在运营上遇到了哪些生死攸关的事件?
熊雨前:第一,福昕创立之初并非做PDF研发,而是做外包,以及为国外客户定制证券交易平台软件。2003年,在与新加坡企业合作为文莱政府做的股市交易系统的失败,让福昕遭受了巨大损失,月
销售额下滑到2000美元。
第二,2008年兴起了电子书阅读器的风潮,包括汉王等企业都跟风进入。事实上,我们跟得更早,因为当时对电子书阅读器调查显示,用户的两大要求是屏幕要好、能阅读PDF。而初期的电子书并不支持PDF,必须要先转换格式才可以阅读。我们的一家台湾OEM合作伙伴用我们的技术
126
Variety百味
做出世界上第一款支持内置阅读PDF的电子书阅读器,同时又建议我们做自己的电子书阅读器,而且它硬件已做好,只要打上福昕的牌子就可以。我们确实心动了,自己用Linux开发了界面,拿到美国和欧洲卖,甚至还出现在了纽约时报头版的一篇讲述电子书阅读器的文章中。到了2009年,形势完全不同了:越来越多的企业进入,产能、销路都出现问题,我们迅速决定趁着尚未造成严重问题之前抽身出来,安心去做我们擅长的事情。回头看来,这是一个非常正确的决定。
创业感悟
《程序员》:你是否比较过在美国创业和国内创业的不同?
熊雨前:本质上没有太大差别,因为软件无论在哪儿都可以做。主要的差异还是在市场定位上。我们当时定位在海外市场,因为我做过共享软件,对其涉及的各方面都比较了解。但在美国做有一个现实问题,就是资金成本、人力成本明显要高很多,如果白手起家又是软件领域的话,建议在中国,而且现在中国政府对创业更加鼓励。当然,中国还存在一个亟待解决的问题,就是知识产权保护,特别是通用软件市场,还很少有人会真正体会到软件的价值并为它来付费。
综合考虑,可以选择是国内创业、面向国际市场,合理的利用两种资源。
《程序员》:你在拓展海外市场方面有哪些经验?熊雨前:首先产品要好,质量可靠、用户体验好。其次,做市场宣传要请本地化团队。虽说在网络营销时代,地域的物理界限已不再那么大,但语言、文化等方面的差异却很难弥补。
最后,要打好关系。这方面我师承于一位真正的美国创业人,也是我们的客户。他说的拉关系不像国人那样靠人情、送礼、喝酒,而是做出一款满足客户需求的好产品,时刻与客户保持沟通,维护好客户关系,让客户在第一时间想到你。此外,销售人员可以通过闲时与客户聊聊孩子、棒球、橄榄球等方式维持私人关系。《程序员》:你对国内技术人员创业有何建议?熊雨前:首先,技术人员创业有非常好的先天条件,非常注重细节,特别是在软件领域,只要坚持做出可靠、高质量、有竞争力的产品,迟早会为这个市场所认可。
其次,要打好牢固的基础。我一向不鼓励年轻人创业,他们空有很多想法,但并不知道怎样实现。他们往往会以盖茨、乔布斯来例证,说他俩不是也没毕业吗?要知道,美国的天使投资人非常发达,甚至变成了兴趣爱好,家庭妇女都在搞天使投资,都希望投到像当初Facebook这样的潜力股。而中国的天使投资并不像前几年那么狂热,所以在只能靠自己的情况下,一定要打好技术基础、业务基础和经济基础。
再次,在产品的整个生命周期中,都要及时与客户沟通,了解客户需要什么,关注用户体验。
最后,在选择创业方向时,一定要选自己喜欢和擅长的。这样创业比较有可能成功,而且既使不成功,也算是人生的一个经历。需要认清的是大部分创业都是不成功的。
《程序员》:对立志在技术道路有所建树的技术人员,应该怎样做?
韩国歌手排行熊雨前:如果想成为一名优秀的技术人员,我认为要具备四大特质。
要善于学习、乐于学习,不自以为是。
也许不一定很会说话,但阅读能力、理解能力好,逻辑思维清晰。
愿意与人沟通,靠自己完成任务是好技术人员,但远不是优秀的技术人员。
英语水平要好,能第一时间掌握新技术。
《程序员》:请对《程序员》读者说几句话。
熊雨前:虽说中国软件产业现在并未处于国际前列,但中国技术人员的水平并不差,是一个非常有潜力的体。接下来只要我们一起努力,就能创造出中国软件去打响世界品牌的机会。希望在不久的将来,有更多的中国软件公司能通过高质量的产品和非常好的用户体验征服全球市场
127
正方体的表面积公式是什么

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。