当前位置: 首页 > 科技赋能

苹果Safari产品的成功是侥幸吗?

时间:2024-05-20 01:53:12 科技赋能

至今,我还清楚地记得当史蒂夫向大家郑重宣布:苹果开发了自己的网络浏览器那一刻,我手中湿冷的感觉。

突然间,我们的超级秘密——一个已经开发了 18 个月的项目——成为了众所周知的事情。

Steve 宣布 Safari 加载网页的速度不仅比 Internet Explorer 快一点点,而且快了三倍。

乔布斯想要更快的速度。

来自管理层的消息称,史蒂夫·乔布斯已经决定了他评判我们浏览器项目的标准。

只有一个关键点:速度。

史蒂夫希望我们的浏览器速度更快。

从互联网加载网页的速度必须足够快。

它肯定比Mac电脑上默认使用的微软IE浏览器快得多,因为我们浏览器存在的目的就是彻底取代Internet Explorer。

在 Apple,我们始终努力提供开箱即用的最佳产品。

除了速度之外,我们还需要为浏览器提供一整套的功能。

其中,优秀的书签管理和精简的用户界面是两个重要的方面。

占据发展榜榜首。

然而,我们的团队目前专注于提高速度的目标。

上述挑战给了我们明确的目标。

速度也是史蒂夫对互联网未来愿景的一部分,史蒂夫希望我们的浏览器为即将到来的浪潮做好准备。

为了保证速度,就必须放弃一些软件的优化。

即使在程序员中,能被称为著名计算机科学家的人也寥寥无几,但 Knuth 绝对当之无愧这个称号。

以下是他关于优化的说法:程序员浪费大量时间思考或担心程序非关键部分的速度。

事实上,如果考虑到调试和维护,这些提高效率的努力实际上具有非常强的负面作用。

我们应该放弃微不足道的效率提升,因为在 97% 的情况下,过早的优化往往是错误的根源。

让我们看一下这个例子。

假设我邀请您到我的厨房进行演示,并要求您: · 从冰箱中取出一罐芥末。

你会很容易地完成这项任务,因为我的储藏室里备有这种调味品。

显然,执行这条指令比执行下面类似长度的指令花费的时间更少: · 去超市买一罐芥末。

由于某些指令包含更复杂的命令,因此这些指令的执行时间比其他指令更长。

这与优化有什么关系?以下是完成其他厨房任务所需的说明: · 将所有物品从冰箱中取出。

· 把所有东西都放在柜台上。

通过添加指令来优化它: · 把所有东西从冰箱里拿出来。

· 把所有东西都放在柜台上。

· 以最少的往返次数完成任务。

第三条指令提供了有关任务执行速度的建议。

考虑到冰箱和柜台之间的往返次数作为约束,我们可以合理地假设,如果减少往返次数,整个操作可以更快地完成。

这是正确的方法吗?上述优化路径会导致以下问题。

如果您一次拾取和卸载大量物品,这可能会起作用,但事实真的是这样吗?如果我试图同时移动芥末和蛋黄酱罐、牛奶盒、黄油棒以及昨晚的剩菜盘子,结果有东西掉下来怎么办?这会产生一个故障,不是吗?如果我溢出或弄坏了东西,我是否需要花时间清理它以确保任务“完成”?如果我回过头来思考“以最少的次数完成任务”的指令实际上意味着什么,我可能还会认为任务的目标是尽量减少冰箱和柜台之间的行程次数 - 但那真正的意图是什么?我不知道,这只是我最好的猜测。

我实际上没有足够的信息来确认这次任务的目的。

这个场景说明了为什么像 Knuth 这样经验丰富的程序员会发出有关优化的警告。

有时,在浏览器开发过程中,即使我们最好的研究和“开箱即用的思维”也是不够的。

很多时候我们会发现我们根本找不到一种在不影响速度的情况下添加功能的方法。

没有任何优化是容易的,也不总是有趣的。

Safari:每个人都喜欢的名字 随着项目启动日期的临近,Apple 的营销部门开始为我们的浏览器命名。

在此之前的一个月里,我们一直称其为“网络浏览器”或“亚历山大”,这个名字让人想起马其顿国王,一位著名的“征服者”(Konqueror)。

我们认为 Konqueror 这个名字很可爱,但它不是一个面向消费者的苹果产品名称。

史蒂夫·乔布斯想出了一些名字,当我第一次听到它们时,我哭了。

起初,史蒂夫喜欢《雷霆》,但很快他就爱上了《自由》。

我认为这两个名字都很糟糕,我无法想象告诉人们“我为自由而工作”,这听起来就像我是某个漫画书中想成为的超级英雄。

最终,斯科特想出了一个有效的名字:Safari。

这个词传达了一种“环游世界”的感觉,就像其他知名浏览器——Navigator、Explorer、Konqueror给人们带来的感觉一样,但 Safari 而我绝不是他们的盲目追随者,令人耳目一新。

唐也喜欢这个名字,当然,最重要的是,史蒂夫也喜欢这个名字。

Safari 是我发布的第一个 Apple 产品。

在接下来的几天里,我更多地了解了史蒂夫是如何为推出这样一款重磅产品做准备的。

在演讲前三周或一个月,史蒂夫开始在苹果公司的场地上练习幻灯片,通常是在 Infinite Loop 总部的礼堂。

经过日复一日的练习,他逐渐完善了自己在主题演讲中想要表达的方式。

这是史蒂夫成为一名成功演讲者的最高秘诀之一。

他一遍又一遍地练习、打磨,直到觉得自己的演讲已经足够好了。

我还清楚地记得,当史蒂夫向大家庄严地宣布:苹果公司开发出了自己的网络浏览器时,我手上湿漉漉的感觉。

突然间,我们的超级秘密——一个已经开发了 18 个月的项目——成为了众所周知的事情。

Steve 宣布 Safari 加载网页的速度不仅比 Internet Explorer 快一点点,而且快了三倍。

史蒂夫展示完 Safari 图标后,他点击了下一张幻灯片,上面只有一个词:为什么?史蒂夫觉得非常有必要向大家解释一下苹果为什么要推出自己的浏览器,他把“速度”作为解释的重中之重。

有些人可能认为Safari的推出只是一种营销策略,利用恰好是产品突出功能的功能作为卖点。

与任何复杂的工作一样,建立清晰的愿景和你想要做的事情是解决问题的开始。

尽管定义这样一个愿景很困难,但完成整个工作无疑更加困难。

你需要提出问题的解决方案,制定实现你的想法的计划,然后以高标准完成它们,而不会陷入困境,改变你的努力方向,或者完全失败。

最令人伤脑筋和不安的可能是你的方法、言语和愿景没有一个良好的开端。

即使你尽了最大努力,他们也不会让你成功。

在浏览器项目的早期,史蒂夫告诉我们,他想让浏览器足够快。

Don 给了我们实现这一目标的规则:永远不要进行任何会降低浏览器速度的更改。

此外,PLT 为我们提供了实现目标的方法。

浏览器团队将 PLT 嵌入到日常工作流程中,我们使用测试结果来衡量和监控我们的进度。

大约一年后,当我们准备推出 Safari 时,史蒂夫可以在舞台上以非常直接的方式告诉世界我们已经做到了。

在宣布测试版之前,我们的 Safari 团队只有 10 人编辑代码,并且只有 25 人被列为 iPhone 专利的发明人。

这两个团队都不是拥有数百或数千开发人员的软件团队。

从史蒂夫开始,公司自上而下就隐藏着务实的管理理念。

我们的领导想要高质量的结果,他们制定了各种各样的规则,包括经理和一线员工之间的直接沟通以及自己制作示例程序。

这个要求限制了团队的规模,并且产生了更深层次的影响。

我们的开发团队必须要求每个成员都足够优秀,并且有团队凝聚力。

这些因素很重要,因为它们可以保持人们的积极性,而这正是大型团队的管理者所努力的目标。

高沟通效率是小团队固有的另一个难得的特点。

小团队的沟通路径很短,这些缩短的沟通路径就像路上的坚果,让通往目的地的旅程变得更加容易。

我们总是努力尽快到达目的地,拒绝犹豫和拖延。

本文摘自《创意选择:苹果黄金时代的产品思维》,作者 Ken Kochinda,中信出版社 2019 年 11 月出版。