Kevin Lynch,Dreamweaver的设计者。
Kevin Lynch前Macromedia的CTO, Dreamweaver的设计者,现仍负责PDF,Flash等相关产品研发。
作为Adobe高级副总裁兼首席软件架构师,Kevin Lynch 主管 Adobe 的平台事业部,该事业部侧重将用于创建和交付极具吸引力的应用程序和内容的公司软件平台推广到任何桌面或设备。 Lynch 负责公司以下应用极为广泛的产品:Portable Document Format (PDF)、Adobe® Reader® 和 Macromedia® Flash® Player,并负责 Adobe 的服务器和工具与公司的技术平台的调整工作。 Lynch 还负责监管 Adobe 的开发商关系计划,包括通过 Adobe 实验室和客户咨询委员会在开发过程中将客户和合作伙伴集成。
Lynch加盟Adobe是因为 Adobe 于 2005 年收购了 Macromedia, Inc.,他在 Macromedia 任首席软件架构师和产品开发总裁。 他主持创建了公司的移动及设备部门,并任 Web 出版部门总经理。 Lynch 还负责监管领先?Web 开发产品 Macromedia Dreamweaver的初始开发工作。
1996年加盟 Macromedia 之前,Lynch在 General Magic 任职,期间首创了手持通讯设备的导航用户界面。此前,他从事用户界面设计工作,为后来被 Adobe 收购的 Frame Technology 开发了 FrameMaker 软件的第一个 Macintosh 版本。 早在伊利诺斯大学求学期间,Lynch就开发了早期的Macintosh应用产品,包括引入了当今普遍使用的用户界面元素的桌面出版程序。
Lynch与他人共同持有三项待审批专利,并积极参与到Adobe与W3C、ECMA和ISO等组织一起制定国际标准的行动中。 2003 年,他被 CRN 评选为“25 名创新人士”之一。1998 年,他被 CNET 授予“首批年度 Web 创新人士”的称号。 Lynch 曾在伊利诺斯大学学习交互计算机图形,在电子可视化实验室 (Electronic Visualization Laboratory) 与艺术家和工程师携手工作。
Macromedia首席软件架构师Kevin Lynch编辑本段回目录
提到Kevin Lynch,你最先想到的是什么?Bingo,是Dreamweaver!任何一个网页制作者,不论是菜鸟还是开发高手,都离不开它。其实,Dreamweaver只是Kevin Lynch刚加入Macromedia公司时的力作,在此之前和之后,他还有许多软件问世。回顾二十多年的开发历程,Kevin说他做的都围绕着一个主题:协助人类交流和扩展用户界面设计的界限。
1984年夏季,Kevin刚高中毕业,进入伊犁诺大学学习计算机图形学。那时候第一部Macintosh(苹果机)正闪亮登场。Kevin路过橱窗,看到电视里的Macintosh,感到非常震惊,鼠标、彩色屏幕、形象的功能图标,这一切都前所未有,“就像来自未来的机器”。从那时起Kevin就开始为苹果公司开发应用软件。他开发的第一款商用软件是名为“Legacy”的图形冒险游戏。他和同伴们只凭借复印来的Macintoch内核(Inside Macintosh)文档就完成了一项极富挑战性的开发,而当时应用软件开发才开始兴起,Kevin也只是个刚获得公民权的毛孩子。接着,Kevin又陆续开发出3D绘图软件以及桌上型出版应用程序,这些都引入了现在常用的用户界面元素。这期间Kevin认识了Marc Canter,即后来Macromedia的创始人。
Kevin Lynch大学毕业后搬到加州,进入由Steve Kirsch创办的Frame技术公司,设计用户界面,并开发出第一代Macintosh版的FrameMaker。FrameMaker是一种排版软件,但是由于没有所见即所得的预览效果,需要像WPS一样使用代码来控制段落和格式,渐渐遭到了冷落,最后被Adobe公司收购。不过,在这段工作经历中,Kevin进一步形成了用户界面的思想。
1990年,三名苹果公司工程师成立了General Magic公司,主要研发便携式通信终端的操作系统“Magic Cap”。最初产品在界面设计上并不令人满意,直到1992年借助Kevin Lynch的灵感才最终定型。尽管去年Magic公司不幸破产,Kevin还是非常怀念那时的工作,整个公司不只是一个团队,更像一个家。
1996年,在Marc Canter的召唤下Kevin Lynch加入到了Macromedia,定义并主导Dreamweaver初步开发。Dreamweaver1.0一推出,市场反映很热烈,成为Macromedia的核心产品,占领了80%的专业网页开发市场,处于绝对领导地位。它像素级的图形设计功能远远超越了其它软件,第一次使“所见即所得”成为大众的现实。而与FALSH同根同源的帧操作特性,的确为动态网页吸引了大量用户。
试想如果没有Kevin Lynch在图形界面和用户可用性上的丰富经验,没有融入开放结构的一贯理念,Dreamweaver不可能兼容ASP、JSP、 PHP 和 ColdFusion等各类开发工具和资源;不可能既满足初学者对简单易用的要求,又满足高级开发者对强大功能、跨平台操作的需求;也就不可能在竞争激烈的市场上独领风骚。
Kevin Lynch最崇拜本杰明·弗兰克林。他说“他不仅是一位发明家,还是一位伟大的思想家。我真的很崇拜拥有这两种能力的人。”这也许能解释为什么Kevin要把扩展用户界面设计和协助人类交流联系到一起。
Kevin Lynch被任命为Adobe新任CTO编辑本段回目录
2008年2月5日的“新闻”,有点旧了。
对Kevin的印象是在2004年的日本东京Flash8 Preview大会上那段肖邦的《革命》花絮:Kevin起初很认真地坐在一家钢琴前,用极专业的姿势很有节奏的弹奏着琴键,肖邦的《革命》逐渐传入耳中,只见Kevin渐渐从钢琴前站立了起来,而琴声仍在继续,这时候大家都笑了。(这一段视频现在还可以在这里看到)
那场大会展示了Flash8划时代的一些功能:位图渲染(Bitmap Chaching)、动态滤镜(Bitmap Filter+Animation)、动态文本(Dynamic Text)位图化渲染、Alpha通道支持的FLV视频技术等等。在Flash7时代必须用很复杂的方式实现的一些效果,用Flash8能非常方便地完成,而效率更是有极大的提高。(这些新特性的Demo可以在这里看到)
Kevin之前是Macromedia的首席软件架构师,在2005年的大收购中,随Macromedia加入Adobe担任资深副总裁和首席软件架构师。之前在Macromedia的时候,Kevin领导了Dreamweaver的初期开发,并且,将FlashPlayer从一个“动画播放器”变成了一个互联网富媒体运行平台。现在,这一平台已经覆盖了98%的用户,基于这一平台运行着大量的富媒体应用,无时无刻不在为当今绝大多数互联网用户的上网体验作出贡献。
Kevin的最终任命,实际上是Adobe成功扬弃Macromedia意识形态的延续:在Adobe.com传承Macromedia.com衣钵的那一天,这一家历史悠久的“老公司”就下定了决心要吸纳Macromedia的诸多新颖元素并致力于“创意专业人士解决方案”(之后推出的CS系列,也就是Creative Suite,“创意套件”的缩写)的大方向:从Flash技术、RIA理念、Flex开发平台到现在的AIR登陆桌面计划。这一切的一切,让人很难和2005年之前的那个Adobe联系起来。
Macromedia RIA的出现,更是加速了微软在这方面的进程。不得不承认,从Silverlight到WPF,作为全球PC操作系统市场的垄断性企业,微软让整个(线上创意设计)行业得到了有力发展。
八卦一下:Kevin同时也是一位超级不更新Blog的Blogger,从2003年到现在,一共只发表了15篇文章,平均每年不到3篇:)
专访Adobe资深副总裁暨软件架构长Kevin Lynch编辑本段回目录
2006/12/19专访 Adobe 资深副总裁暨软件架构长 Kevin Lynch
Kevin Lynch本文章同时发表于2006年12月的台湾「Run! PC」杂志与中国「程序员」杂志
访问日期:台北时间 2006/11/14 18:00
蔡学镛 :首先,我想知道 Adobe 为何选择「 Apollo 」这个名称?有任何特殊的意义吗?
Lynch :美国一系列以「登陆月球」为目标的太空计划,分别是水星计划( Mercury )、双子星计划( Gemini )、以及阿波罗计划( Apollo )。我们在 Adobe 的几个计划依序使用这几个名称,我们已经使用过水星和双子星来当作我们软件计划的名称,这次轮到阿波罗。事实上,阿波罗也是真正成功登陆月球的计划
蔡学镛 :我记得成功的那次是阿波罗 11 。
Lynch :是的!正是阿波罗 11 。目前「阿波罗」仅是软件开发过程的代号( codename ),真正的名称尚未决定。
蔡学镛 :虽然 Adobe 有一些相当好的产品,适合做软件开发,例如 ColdFusion 和 Flex ,但是大多数的人似乎只认定 Adobe 是一家绘图 / 出版 / 多媒体的公司。 Adobe 要如何改变这样的形象,好让软件开发者注意到 Apollo ?
Lynch :我们会藉由一些媒体的曝光,以及研讨会的管道,让更多人认识到 Adobe 的 Apollo 技术。我们在未来 3 到 5 年,也会投入美金 1 亿元的资金,在使用 Adobe 平台技术的公司上,特别是使用 Apollo 开发软件的公司。
蔡学镛 :对于 Web 开发者来说, Apollo 是很有吸引力的技术。 Web 开发者已经熟悉 HTM L 、 CS S 、 JavaScrip t 、 Flas h 、以及 ActionScrip t ,他们可以直接用这些技术来开发桌面应用( Desktop Application )。然而,目前大多数的桌面应用开发者,都是使用 Jav a 、 C+ + 、 C # 、 Visual Basic 、 Delphi 等传统的开发方式 。你认为 Apollo 要如何吸引他们,改用 Web 技术来开发桌面应用?
Lynch : Apollo 目前的确是从 Web 的角度出发,所以是以吸引 Web 开发者为首要的目标。但 ActionScript 3.0 的语言本身相当具有威力,不比 Jav a 、 C# 等语言逊色 ,且语法也有许多相似的地方,相信应该可以吸引许多 Java 开发者。加上我们将会提供免费的 SDK 开发工具, Flex 有越来越多的使用者,以及 Flash 的高普及率,这都会是吸引他们的诱因。
蔡学镛: Adobe 会否开放 Apollo 的规格,让其它厂商可以开发其它语言的编译器?
Lynch : Apollo 使用的二元格式部分就是 Flash 的 SWF ,它的档案格式是完全公开的,也早就已经存在一些其它的编译器。
蔡学镛 : Apollo 会走向国际标准化吗?
Lynch : Apollo 使用相当多的技术,都是标准的。语言的部分,包括 EcmaScrip t 、 E4X 、 XML ;通讯协议的部分,包括 HTTP 、 Web Services 。这些全都是标准。
蔡学镛 : Apollo 会开放源码吗?
Lynch : Apollo 的许多部分已经是开放源码了,例如我们最近捐给 Mozilla 基金会的那部分,就是 Apollo 核心的 AVM2 源码。 Mozilla 会将我们的 VM 嵌入在他们的浏览器内。
蔡学镛 :哪些部分不会开放源码?
Kevin LynchLynch :我们的绘图引擎。
蔡学镛 : Adobe 有意愿将 Apollo 变成一个软件交易与管理的平台吗?我的意思是,类似 Apple 经营 iTunes ,贩卖各家唱片公司的音乐,然后可以在线下载。 Adobe 有没有可能经营 Apollo ,贩卖各家软件公司开发的可以在 Apollo 上执行的软件,然后在线购买、下载、安装?最近 VMware 就开始经营这样的在线软件商店,叫做 Virtual Appliance Marketplace 。
Lynch :不会的,我们不会经营这样的业务。我们最多就是在网页上列出可以在 Apollo 上执行的软件名册,让使用者方便查询。
蔡学镛:我听说在 Apollo 上面执行的应用,可以在线检查版本,如果有新版本,就可以自动更新。这是类似 Java Web Start 的机制吗?
Lynch :是的,我们支持这样的功能。运作方式的确是类似 Java Web Start 。
蔡学镛:最近 Microsoft 和 Novell 展开合作,无独有偶, Adobe 和 Mozilla 基金会也展开合作,成立一个 Tamarin 计划。你能告诉我们 Tamarin 计划的内容吗?
Lynch :主要是 ECMAScript 的 VM ,以及其 Just-In-Time compiler 。 Tamarin 是一种猴子, Mozilla 有一些计划习惯以猴子为名。
蔡学镛:真巧, Novell 的 .NET 平台 Mono ,也是猴子意思。西班牙文的猴子。
Lynch :是呀!我也是上周听说,才知道 Mono 也是猴子。
蔡学镛:你认为 ActionScript 适合拿来开发企业等级的应用吗?
Lynch :当然。 ActionScrip 3.0 的功能相当强大,效能也十分杰出。适合开发企业等级的应用。
蔡学镛:你认为适合在 Apollo 平台上开发的应用有哪些?
Lynch :很多,目前 Web 上面的应用都相当适合搬到 Apollo 上面。
蔡学镛:或者,我应该改问,你认为「不」适合在 Apollo 平台上开发的应用有哪些?
Lynch :有些应用太耗费运算资源,就不适合用 Apollo ,例如魔兽世界( War Craft )、 Office 、 Photoshop 。但即使如此, Apollo 还是可以和这些程序互补,例如 Adobe Kuler 可以帮助你配色,让你使用 Photoshop 时对配色的决定更快速,更准确。
蔡学镛: Apollo 第一版推出时,将同时支持 Mac OS 和 Windows 。有打算在未来支持 Linux 和 FreeBSD 吗?
Lynch : Apollo 第一版的确是支持 Mac OS 和 Windows 两个操作系统,但我们会持续扩充对不同操作系统的支持。事实上,我们已经做了 Linux 平台上的 Flash Player 9 ,目前在 beta ,已经可以下载使用了。
蔡学镛: Apollo 内部使用 WebKit 当作 Web 的引擎, WebKit 之所以雀屏中选,有许多原因,在 Apollo FAQ 中提到其中的一个原因是 WebKit 已经「实证可以在行动装置上运行良好」。这是不是表示, Apollo 有朝一日将能够在手机上运行?
Lynch :是的,我们在选择技术的时候,会特别小心这一点,渐渐地让一切的技术都可以在手机上执行。我们现在已经有 Flash Lite ,在手机上运作相当顺畅。等到 Apollo 内部所有的组件都具备在行动装置上运行的能力,这一切就可以水到渠成。
蔡学镛: Apollo 的效能如何?有没有 Apollo 和 Jav a 、 .NET 的效能比较数据可以让我们参考?
Lynch :我们没有做 Apollo 和 Jav a 、 .NET 的效能比较,但是我们有做 ActionScript 3.0 和 2.0 的比较, 3.0 的效能可以比 2.0 提升最多高达 10 倍。由于 Apollo 是使用 ActionScript 3.0 ,也就是说 Apollo 的效能相当不错。
蔡学镛:目前 ActionScript 3.0 有何进展?
Lynch :我们正在做 ActionScript 3.0 的下一个实践版本,这次是使用 ActionScript 3.0 本身来开发 ActionScript 3.0 。
蔡学镛: ActionScript 3.0 所使用的虚拟机器 AVM2 和 Apollo VM 的关系为何?两者是不是一样?
Lynch :在 VM 的部分,两者完全一样。但是 Apollo Runtime 的链接库会稍微丰富一些。
蔡学镛: Apollo 应用程序可以对 OS 的 Shell 下命令吗?可以呼叫 DLL 吧?厂商可以提供 Apollo 的 plug-in 来扩充 Apollo 的功能,或提供 Codec ?
Lynch :这些都不行,原因有两个,一方面是为了安全性的考虑,二方面是跨平台的考虑。
蔡学镛:我知道 Apollo 1.0 不会提供数据库的 API ,未来会提供吗?
Lynch :目前的确没有数据库的 API ,但是还是可以利用 Socket 的方式和数据库做连结。关于数据库 API ,我们还需要研议。
蔡学镛: Apollo 的 GUI 可以有不同的 skin (表皮),比方说, Mac OS X 的外观和 Windows Vista 的外观?
Lynch : Apollo 的组件都是轻量级的( light-weighted ),没有使用操作系统的组件。 Apollo 应用可以换上不同的表皮,但我们不会提供不同操作系统的表皮。
蔡学镛: Apollo 可以让我们开发出来的程序,轻易地具有 I18N 和 L10N 的功能吗?
Lynch :可以。
蔡学镛:就我目前手上的资料,我注意到 Apollo 的 API 相当完整,但我没看到密码学的 API 和 ZIP API ,请问 Apollo 有这两类的 API 吗?
Lynch :没有密码学的 API ,但是可以用 ActionScript 写程序自己实践。至于 ZIP API , Apollo 是有支持的,因为 Apollo 的执行档本身就是打包成 ZIP 檔。
蔡学镛:类似 Java 的 JAR ?
Linch :是的,类似 JAR ,我们称它为 AIR 檔。
蔡学镛: Apollo 会有自己的开发工具码?还是会用现有的开发工具。
Linch : Apollo 不会有自己的开发工具,你可以用既有的工具,例如 Fle x 、 Flash 、 Dreamweaver 。甚至你可以使用任何文字编辑器,搭配 SDK ,一样可以开发 Apollo 应用程序。
蔡学镛:Flex是架构在Eclipse之上,好处是有许多的既有的资源可用(各式各样的Eclipse Plug-In),而且许多人本来就已经熟悉Eclipse的操作。但是Eclipse的界面和Adobe的风格有一点不搭,看起来不够酷炫,而且因为Eclipse是架构在Java之上,所以体积太大了。我认为Adobe应该推出一个「用Apollo开发出来」的Apollo开发工具。
Lynch:很不错的构想,这么做应该会很酷。
蔡学镛:我能够用Apollo开发出文字模式(console)的程序吗?
Lynch:可以。
蔡学镛:Adobe会不会为Apollo推出类似.NET的MSIL汇编语言?
Lynch:不会。