「又有 bug 了」,这是过去两个月里 iPhone 用户吐槽最多的一句话。从 iOS 13 正式版发布至今,苹果以罕见的速度推送了 8 次版本更新,几乎每周一个,最近的更新也都以修复漏洞为主。不少人吐槽,iPhone 的 bug 多得像一台安卓机。
一直以稳定性著称的 iOS 怎么了?最近彭博社的一篇报道揭露了 iOS 13 漏洞过多的原因,苹果自己也意识到了这个问题的严重性。为了避免 iOS 14 重蹈覆辙,苹果正在改变系统测试的流程。
「亡羊补牢」还有用吗?
从信任到吐槽用户对于 iOS 的信心,主要来源于苹果软硬件结合的封闭式生态。这种方式保证了苹果对第三方应用的严密管控,各种应用能够在手机上平稳运行。Apple Store 生态养活了无数的开发者,苹果也通过抽成的方式赚得盆丰钵满。
不过在最近几年,用户对 iOS 的吐槽却越来越多,主要原因是对手在壮大。一方面 Google 加紧了对 Android 生态的管控,安卓手机的整体体验提升。另一方面第三方安卓厂商奋起直追,创新性的功能不断出现。
反观 iOS 13,一些新增功能诸如「深色模式」在其它安卓手机上早已出现。就连最基本的「稳定性」,也成了这代 iOS 13 身上最大的槽点。
对新功能太过重视,忽略基本体验
早在 2018 年,苹果的软件开发负责人 Craig Federighi 就在会议中提到:公司对新功能的重视程度过高,应该把首要目标回到消费者最关心的性能和稳定性上。iOS 12 在稳定性上表现确实不错,提升了很多基础性的体验,比如加快应用启动时间、改善网络连接、延长电池寿命等。
这种情况并没有延续到 iOS 13 上。在测试时 iOS 13 的系统就极其不稳定,功能上也是来回反复。在 6 月份的 WWDC 大会之前,苹果的软件工程师已经意识到 iOS 13 的性能不如以前的版本。到了 8 月份,距离新 iPhone 发布只有几周的时候,苹果决定放弃对 iOS 13.0 进行继续修复,把精力放在下一代 iOS 13.1 的改进上。苹果内部认为,iOS 13.1 才是真正符合标准的公开版本。
这也解释了为什么 iOS 13.1 来得如此快速,在 iOS 13 正式版发布不到一周后就开始推送,比预计的时间提前了一周。
设立「实验开关」,将不完善的功能默认关闭
在之前的开发流程中,工程师经常在系统还不完善的时候去添加一些新功能,另外一些团队则每周进行修改。知情人士形容:这就像是一个完整的菜谱,但有不同的厨师在往里面添加食材。对于测试人员来说,在这种不稳定的状态下进行工作,很难判断某项新功能在操作系统中是否可用,这也就导致 iOS 13 频频出 bug。
为了解决这些问题,苹果开始对软件系统的开发和测试流程进行改进。在默认情况下,苹果要求开发团队将未完成和有问题的功能全部关闭,测试人员可以通过一个叫做 Flags 的菜单进行主动开启。它有点像一些软件、系统中的「实验室」功能,测试人员可以通过它来测试每个单独功能对系统的影响,方便改进。
苹果还在内部设立了名为「白手套」的测试等级,用 1-100 来衡量系统的质量。用绿色、黄色、红色,来代表某项功能在开发过程中的质量。错误的优先级从 0 到 5,用于确定 bug 的严重性。
新的测试流程已经开始在 iOS 14 的开发工作中使用,苹果还考虑将一些新功能推迟到 2021 年的 iOS 15 中亮相。这项新策略也适用于苹果的其它操作系统,包括 iPadOS、watchOS、macOS 和 tvOS。
能力越大,责任越大
从另一个角度来说,iOS 的每次更新并不容易。首先要适配大量旧机型,iPhone 对于老用户的支持还是十分良心的,我们前几天还讨论了关于「手机钉子户」的问题。其次,每代 iOS 的升级率也远远超过 Android 平台,这种「信任」对苹果来说也是一种压力。
最后,iPhone 近几年的定价策略越来越高,当然也就提升了用户的期待值,这可能也是 iOS 最近被吐槽比较多的原因之一。花一万元买个手机,总不能是个「残次品」,何况这次出问题的还是正式版系统。
面对日益壮大的安卓阵营,iPhone 作为单个产品的竞争力正在逐渐变弱。让老用户能留下来的,恰恰是人们对 iOS 生态、苹果生态的惯性依赖。而这种吸引力一旦消失,将会把更多的人推向苹果生态之外。