应用为 iOS7 升级收费是否合理?

  • 崔康

2013 年 9 月 14 日

话题:DevOpsiOS语言 & 开发文化 & 方法

随着 iOS7 系统的发布,许多应用也推出了相应的升级版本,但是由于 iOS7 相比之前的系统变化很大,所以其中不少应用为 iOS7 所做的改动也较大,因此新版应用可能会重新收费,这种行为是否合理呢?

据报道,著名的 To-do 式应用 Clear,宣布将在 9 月 18 日推出为 iOS 7 重新设计的新版本,之前已购买过 Clear 的用户,也要再次付费才能下载。相信随着 iOS7 系统的普及,越来越多的应用会选择新版本收费模式。

针对这种行为,国内社区也发表了自己的看法,知乎的工程师 Rio认为,最大的问题是 App Store 没有提供付费升级模式:

这和普通软件大版本升级需要重新购买一样,当然是合理的。不合理的地方在于 App Store 不支持付费升级,老用户升级新版本的时候要和新用户支付同样的价格。

对于用户而言,老用户升级所获的的边际效用是低于新用户首次使用所获得的边际效用的,所以老用户付费升级应该获得一定比例的折扣。对于开发者而言,没有升级优惠对于留存旧有用户群是非常不利的,因为这意味着每次升级,你的已有用户群有更多的理由和动机选择其他同类型的软件。

在没有付费升级的情况下,不少开发者选择了另行开发新版本单独出售的损招。由于 iOS 的沙盒模型,不同的 app 间无法共享底层数据,也就意味着用户的旧有数据和设置不能有效迁移过来(除非你有独立于 iCloud 的第三方帐号体系),对用户体验具有极大的负面影响。

所以开发者们面对用户类似指责的时候,应该毫不犹豫的把这个问题扣到苹果头上,并且通过各种渠道向苹果提出需要支持付费升级的诉求。

Bill Cheng 从实际的项目经验出发,认为收费是合理,因为从开发者角度看,这不是应用的简单升级,而是一个新软件。

这几天我刚好在做几个项目的 iOS7 化,我可以告诉你们,想让一个项目支持 iOS 7,就算是仅仅为了通过 iOS 7 SDK 编译的程序不会出现严重的 UI 错误,就会是一个非常耗时的工作。

其他的暂且不说,常用的下拉刷新列表动作基本上就可以弄疯一排开发者——谁知道苹果会为了在 UINavigation Bar 下面透出列表内容,把列表的拉动显示范围都给改了;至于说 Status Bar 在 iOS 7 上显示的变化,我们可以暂且不谈;从 viewWillAppear 到 viewDidDisppear 这一系列 UIViewController 方法顺序变化,我们也可以不看;就说某些用了 UITabBarController 的项目,一个新的显示高亮方法,没有文档说明的 ScrollView 拉动处理,还有透过内容显示处理,这些都够一个程序员玩上一下午了吧……外加还有在多线程状态下对于全局 Instance 资源锁处理的变化,多线程导致的莫名 Thread Unsafe 问题……

他举例手上在改的有两个项目,其个人觉得,从 iOS 6 SDK 更换到 iOS 7 SDK,真的是一场浩大的工程。对于题目中提到的 Clear 这样的把各种 Gesture 深度的定制的应用来说,Bill Cheng 觉得他们兼容 iOS 7 SDK 的工程量,可以说浩大基本上难以估计……

当然,上面所有的所有,还只是从程序项目兼容 iOS 7 的角度来说的,要想做到原生 iOS 7 软件的程度,在程序代码、UI 设计和交互方面还有大量的内容需要配合 iOS 7 做出变化。大量的高斯模糊 + 半透明界面、大量的变速动画、大量的常规手势还有头疼的 Control Center 呼唤操作处理……要把这些做好,那就真的是做一个全新的软件的工程量了。

如果说我在前 100 天时间内做了一切的工作,把针对 iOS 6 和 iOS 7 的版本都给做好了,把他们融合在一起,这也会产生一个问题。首先,软件必定会比原来的大;其次,大量的针对 UI 的功能重复代码如果面临界面修改,那就不会是小工程,软件更新周期和维护成本直线上升;再之,如果有新的功能可以在 iOS 7 和 iOS 6 上由于系统原因导致实现不一致,会使得程序员工程量加倍;更重要的是,这个项目是由两个项目合并而成的,使得整体测试周期严重加长。

综上,无论从产品经理的角度,还是从程序员的角度考虑,针对 iOS 6 和 iOS 7 的最佳匹配方式都是:制作两个不同的版本上架 App Store,同时鉴于当苹果开始推送 iOS 7 更新之后,使用 iOS 6 的人会明显下降(国内的某些老顽固除外),以后的新功能,自然是 iOS 7 版本支持更为重要,iOS 6 在有空闲的情况下可以进行定期维护。

魏翔认为最理想的 App Store 软件销售模式应该是订阅:

付费升级新版对用户不公平:当初买软件的时候就说好以后可以免费升级的,开发者违背了自己的承诺。免费升级新版对开发者不公平:在同一个软件内适配 iOS 6/7 的复杂度和工作量巨大,还不如重新做一个单独版本。如果无法收费的话对不起自己的开发成本。所以最理想的 App Store 软件销售模式应该是订阅,让用户根据自己的使用时长付费。这样对开发者和用户来说都能做到相对公平。

比如 Reeder 这样的应用,如果用订阅模式,每年 2.99~4.99 左右的收费比较合理的。这种模式既保护了开发者有持续的收入来源,也让用户总是可以使用最新软件。同时开发者也只需要维护一个版本,降低了工作量。但现在它一次买断以后就无法继续向用户收费,只能出新版再卖一次钱,这无论是对开发者还是对用户都不是最优方案。

iOS7 是 iOS 面世以来在用户界面上做出改变最大的一个操作系统。iOS7 抛弃了以往的拟物化设计,而采用了扁平化设计。苹果在重新思考 iOS 的设计时,更希望围绕 iOS 中深受人们喜爱的元素,打造一种更加简单实用而又妙趣横生的用户体验。最终,苹果优化了 iOS 的工作方式,并以此为基础重新设计了 iOS 的外观。

InfoQ 的读者中,iOS 应用消费者和开发者又是怎样看待这个问题呢?欢迎发表自己的看法!今年 11 月初即将举行的QCon 上海 2013 大会特别组织了“移动应用案例分析”专题,几位讲师会奉献多场精彩的演讲,欢迎感兴趣的读者报名参会。

DevOpsiOS语言 & 开发文化 & 方法