Photoshop家喻户晓,为何它会是今天我们所见的模样?Photoshop已成为家喻户晓的品牌,“PS”甚至已成为美化及修改照片的代称。不过,最新版本的Photoshop功能复杂,常常令人感觉难以上手。美国科技博客TheVerge近期刊登了编辑保罗·米勒(PaulMiller)的文章,回顾了Photoshop的开发历程,分析了为何Photoshop会是今天我们所见的模样。
我父亲自1.0版开始就一直使用Photoshop。20多年前,他是一名具有创新精神的图形设计新手,敢于尝试用计算机来取代X-ACTO刀具。结果证明他赌对了。现在,Photoshop是他从事工作的唯一方式。设计师不会再拾起X-ACTO刀具,同时也没有其他的“现代化工具”比Photoshop更有竞争力。然而目前,我父亲却感觉自己被绑架了。
“我喜欢Adobe,也憎恨Adobe。”当我们第一次讨论这方面问题时,他开门见山地说。瞧瞧吧,Adobe并不是在为我父亲开发Photoshop,而Photoshop本身也是一团乱麻。每过几年,Adobe就会推出新版Photoshop,要求他花几百美元,带来了一些很难用上的功能,同时却没提供他想要的功能。在随后的讨论中,他的态度越来越糟糕,甚至直言“我讨厌Adobe。”
父亲的说法令我感觉惊讶。这不仅是由于,我从未听父亲说过他讨厌某样东西。但我认为,我能理解他的情绪,因为我也有自己又爱又恨的东西,这就是纽约。纽约的公寓又小又贵,建筑风格老旧,密密麻麻的地铁中老鼠横行,而地铁运力总是不足,车票价格不断上涨,夏天则很热,此外也没有人知道冬季如何解决无家可归者留宿地铁的问题。
Photoshop也是如此。这就像是世界级大都市,例如纽约、伦敦和巴黎,拥有多个世纪的历史以及厚重的过去。城市服务于人,人也为城市提供服务,城市当前居民在此前基础上对城市进行建设。在人们发现新用途的过程中,城市有机地成长及变化。有些时候,城市会快速发展,例如休斯顿和洛杉矶。有些时候,城市会萎缩,例如底特律。
过去20年中,Photoshop不断成长及变化,成为一个全新的、出人意料的工具。这样的发展很好,意味着全新的功能以及在理论上更好的性能。但如果像我父亲一样从最初开始就一直使用Photoshop,见证了Photoshop从一个小村庄发展壮大的过程,那么你会对一切变化感到怀疑,或至少会质疑这样的变化给谁带来了好处。目前来看,Photoshop的功能很完备,无懈可击。这不只是最好的专业级照片编辑工具,甚至成为唯一一款专业级照片编辑工具。这就是你工作、你居住的城市。
然而与纽约类似,你很难爱上这座城市。你可以体会到这座城市的岁月,尽管城市的功能仍可以发挥,但已略显破败。你甚至可以通过一大堆软盘来安装Photoshop,如果你真的希望这样去做。你看待Photoshop的方式正如你看待纽约公交系统的方式:为何不能做得更好、更流畅?为何不能使用Aviary和iPhoto来节约内存?为何Photoshop还没有消亡?
问题在于,为何Photoshop既令人感觉过时,但又不可或缺?我试图找出原因,因此需要探索Photoshop的过往。巴黎有着自己的地下墓穴,而Photoshop也有自己的代码。我决定对Photoshop进行考古发掘,因此飞往美国西海岸去拜访一些人。
为所有人建设的城市
Photoshop的开发在圣何塞市中心进行,这里位于硅谷东面,有半小时车程。Adobe员工在3栋不太高的大楼中办公,此外还有篮球场、体育馆和漂亮的咖啡厅。我所见到的大部分Adobe员工都很健谈。
其中一名员工是Adobe首席科学家拉塞尔·威廉姆斯(RussellWilliams),他也是Photoshop的首席架构师,主要工作是确保Photoshop能被大量用户接受。威廉姆斯毫无疑问是上一代硅谷工程师的典型:他曾于90年代在苹果从事MacOS的开发,并于15年前,在乔布斯回归苹果之后转投Adobe。
威廉姆斯带着厚厚的眼镜,滔滔不绝地介绍着他的各种或大或小的理念。而在我们吃完午饭之后,我甚至希望他能成为我最好的朋友之一。
他非常了解如何为所有人开发Photoshop。“人们会说,‘把所有我用不着的东西拿走,把所有我需要的东西都放在用户界面顶层。”那么问题是什么?“对于什么工具应当放在顶层,所有人都有不同看法。”
用户持续发现着使用Photoshop的新方式,而这是Adobe从未预见过的。“用户拿来艺术家的工具箱,但以非常奇怪的方式去使用其中的工具。”威廉姆斯表示。Adobe无法决定,用户以什么方式使用软件。这也像是一座城市:居民总是会找到自己习惯的道路。这意味着Adobe很难决定Photoshop是什么,这是一款面向所有人的工具。
当然,事情并非一直是这么麻烦。
1987年,托马斯·诺尔(ThomasKnoll)开发了Photoshop。在随后3年中,Photoshop一直是“单人的项目”,无论是图片处理和文字布局,还是顶层用户界面和底层算法。这一软件运行在8MHz的Mac电脑上,只需2MBRAM即可,并通过一张软盘发布。
从第一天开始,Photoshop就是一个工程奇迹。这款软件的第一个有趣功能当时被称作“Display”,即在标准的Mac电脑上以打印的分辨率显示图片。在此之前,高分辨率图片需要较多的RAM资源去显示,这意味着对计算机的要求更高。诺尔并未满足于此,他还找到了如何修改图片的方式,即把这些图片视作数学概念。
这些基本构想带来了复制工具、选择工具,甚至是滤镜。Photoshop1.0可以打开一张尺寸相当于当时硬盘全部容量(即10至15MB)的照片,并继续工作。滤镜的应用只需要10分钟,解决了一些繁琐的工作,而“撤销”功能则帮助用户方便地使照片回到前一状态。诺尔为Photoshop未来的发展打下了完美的基础。
发展蓝图
与其他一切事物类似,第一代Photoshop是那个时代的产物。诺尔打下的基础使Photoshop能提供他从未想象过的功能,而新功能也在不断出现。Photoshop最初只是一款照片编辑工具,但逐渐发展成为图形设计利器。将Photoshop移植到Windows平台已成为不可改变的趋势,这时情况开始变得复杂。
在Photoshop这座城市的深处,在用户生活的地方,存在一个名为“MacApp”的框架。这是从最初版本中保存下来的框架,是整个基础的一部分。最初,MacApp帮助Photoshop与底层系统通信,当时的系统是MacOS6.0.3。
苹果最终放弃了MacApp框架,但Adobe并未这样做。MacApp一直存在于软件“连接层”的某些地方,这样的“连接层”指一段可运行在Mac或Windows系统中的代码。目前,很少有工程师花时间直接与操作系统打交道,他们只工作在“Photoshop代码”上,远离特定的要求,安全地开发自己的功能。
然而,威廉姆斯仍需要解决MacApp的问题。在MacCocoa转换过程中,与MacApp有关的代码带来了大问题。数百万行代码需要调整,一度整个团队都参与到这一项目中。这也是威廉姆斯工作的一部分:管理Photoshop的遗产,容忍早期版本遗留下的许多怪异代码,同时继续推动Photoshop的开发。
诺尔已经传下了接力棒。目前,他主要从事自己的新项目Lightroom。对于Photoshop这座旧城市,他并不感伤。“自我开发Photoshop1.0以来,计算机已发生了巨大变化。”他表示。如果Photoshop是一座城市,那么Lightroom就是很干净的一块地区,面向当代用户来开发。
重新开发
长期以来,我一直很好奇,为何Adobe不重新开发Photoshop。即使并不清楚Photoshop的内部工作原理,现在也可以很明显地感觉到这是一款老旧的软件。Adobe不断地给Photoshop增加新功能,即使这有时会影响GPU加速等性能。Photoshop整体来看距离崩溃只差一步。新版本Photoshop吃力地追赶当代计算机和操作系统的发展,因此相对于更年轻、得到更多优化的应用,Photoshop显得速度较慢。或许,一个全新的开始将赋予Photoshop更多2013年的气息,减少90年代的陈腐气息。
不过,这样的情况不会发生。Adobe高级产品经理布莱恩·奥尼尔·休斯(BrainO'NeilHughes)表示:“如果你从今天开始,那么一切都会不同,正如一座城市有它自己的个性。”
这就是说,一个全新的Photoshop将不再是Photoshop。“如果你想去做Photoshop能做的一切工作,那么你需要以Photoshop的方式去做。”诺尔解释称。重新编写Photoshop可能需要花费10年时间,而如果考虑复杂软件开发中的出错问题,这样的工作或许永远都不会完成。
看看苹果近年来的重开发工作。最新的FinalCutX取代了之前的FinalCutPro,但却令视频编辑专业人士感到不满,许多用户转向了竞争对手产品。这与软件能提供的功能无关,而是与软件实现功能的方式,包括软件界面和用户体验有关。用户喜欢熟悉的软件,这只要从iTunes近期的改版,以及Facebook以往的改版中就可以窥见一二。这并不是说新设计不好,仅仅只是新设计与老设计有所不同。对于那些在几十年前就开始使用这些软件,并以这些软件为生的专业人士来说,改变本身就是一个大问题。
因此,你不可能使Photoshop成为一款新软件,但是否可以重新编写该软件?诺尔表示:“实际上我们已经在这样做,但结果有很大不同。”在这里,他所说的是Lightroom。
10年前,诺尔在一次度假时开始了Lightroom项目。当时,诺尔对相机输出的多种多样文件格式感到厌烦,因此进行了反向工程。他从Photoshop的CameraRAW插件起步,这一插件目前已支持数百款相机。在这一过程中,CameraRAW建立起了独立于Photoshop的渲染工具库,并成为Lightroom的重要一部分。
“编写能修改图像的代码非常有趣。”诺尔表示,“这就是魔术。”诺尔并不讳言,CameraRAW的很多图像算法,例如Highlights和Shadows,已经胜过了Photoshop中的同类算法。目前,他正在研究一种更好、更复杂的方式去处理HDR照片。看起来,诺尔似乎永远不会停下脚步。
不过,即使是Lightroom和CameraRAW也无法抵御时间的侵袭。诺尔表示:“当用户调整一张照片时,调整后的像素并未被储存,而仅仅只有调整的操作被储存。”这意味着,Lightroom需要持续追踪“正在修改的图片版本”,以确保当用户在5年后使用新版Lightroom打开一个RAW文件后,照片看起来是一致的。
Photoshop存在类似的用户脚本问题。在某一版本软件中记录的用户操作应当获得未来版本的无缝支持,这意味着即使新版本软件移除了一些旧功能,仍应当保留处理这些用户脚本的代码。从这种意义来看,在一座城市中,废弃的建筑物不能被拆除,因为你永远不知道是否还会有人使用这些建筑物。
未来前景
杰夫·简(JeffChien)目前领导着Photoshop的“技术转移”团队,负责将实验室中的功能移植到最终产品中。我父亲对Photoshop的新功能感到不耐烦,尽管这些功能非常出色。这些是杰夫·简的功劳。如果希望对新版Photoshop中的“内容感知填充”功能表示谢意,那么杰夫·简就是应当感谢的对象。而如果想要吐槽Photoshop越来越臃肿的身材,那么杰夫·简也是你的对象。
杰夫·简已经听到用户对于Photoshop越来越庞大、越来越缓慢的抱怨。他表示:“我们可以让Photoshop变得更快,例如版本4或版本5,但未来我们希望以更聪明的方式去做。当你资源充足时,让复制工具运行速度更快,使用更少的内存并不会给任何人带来任何好处。”尽管我并不赞成当代应用为了提高运行速度而放松对内存的管理,但我仍可以理解他的意思。Photoshop永远不会对某项功能说不,这也是Photoshop变得强大的原因。
例如,Adobe不厌其烦地记录了来自数百款摄像机和镜头的色彩文件和镜头成像扭曲数据,在每一种组合下都拍摄了数百张照片。这样做代价巨大,非常艰辛,似乎不切实际。但CameraRAW能利用这些参数自动修正照片的像差,即使用户混合了不同的机身和镜头。随后,研究人员使用这一数据设计了PhotoshopCS6的一项功能,帮助用户修正在极端角度下所拍摄照片产生的畸变。
成功的关键在于使Photoshop更好地感知内容。Photoshop应当可以以用户所见的方式去选择对象,例如“沙滩皮球”和“树”,而不是“颜色对象1”和“颜色对象2”。随后,用户将可以更好地处理对象。PhotoshopCS6中已出现了这一功能的雏形。对内容的感知意味着软件将可以知道用户在处理一张人像照片,还是一幅标志图,并相应地调整颜色分级技术。这意味着Photoshop的许多功能将被统一。
杰夫·简也希望“教会”Photoshop更多人类的技能,他目前正在从事人工智能方面的工作。这是Adobe一个令人惊叹的想法,因为这原本似乎是谷歌这类领先的互联网公司应当去做的工作,而不是Adobe这种图形设计软件公司去做的。然而,这正是今天的Photoshop。
这听起来可能令人难以置信。围绕Photoshop这样一款可能是最好的应用,Adobe做了大量工作,但效果可能适得其反。我的父亲可能不喜欢PhotoshopCS4,但对于使用数码单反的人来说,新版Photoshop或许就是他们一生将使用的工具。
迷雾中的城市
在你成为Photoshop开发者的第一天,很明显你将面向大群用户,而不是某一个人开发软件。Adobe有着独特的招聘流程:如果有人自称是Photoshop专家,那么面试将无法通过。对专家来说,Photoshop体积太庞大。这样的专家将会删除所有他们认为用不到的功能。
诺尔也表示,他完全不清楚目前Photoshop中的3D功能。他表示:“我甚至不知道如何使用其基本功能。”此外,他也不是输入工具的粉丝。与此同时,我父亲实际上发明了斜角文字,但对照片处理则很少涉及。我认为,他们将会是一对好搭档。
因此,PhotoshopCS6并不是为诺尔设计,不是为我父亲设计,也不是为我设计的。这一软件并不面向所有人,但面向了大多数人。经验丰富的资深人士、专业图形设计师,以及使用BT客户端的所有人,在某种程度上都会使用Photoshop,因为只有Photoshop才能实现Photoshop的用途。
本文编译自TheVerge
(李玮)