北京时间4月16日消息,科技博客网站MacStories日前发表费德里科•维迪奇(Federico Viticci)撰写的评论文章称,虽然苹果 iCloud云存储服务已推出半年,并且正在形成自己的生态系统,但其开发文档与API存在诸多不足之处,使得第三方应用开发商很难在其应用中整合 iCloud,同时也给用户带来了一定困扰。
以下是原文主要内容:
2011年10月12日,苹果公司推出了iCloud云存储服务,它能帮助成千上万iOS设备用户实现跨设备数据同步,并被苹果CEO蒂姆•库克(Tim Cook)称为公司未来十年内的一大战略。时至今日,问世六个月的iCloud已经拥有了8500万用户,它为用户同步邮件、联系人、通讯录以及苹果应用所访问的其他数据带来了极大便利,但是对于第三方应用开发商来说,在应用中采用iCloud同步及存储功能却有点“麻烦”。
人人都爱“无缝式”
Smile公司推出的PDFpen是一款PDF编辑应用,它在Mac与iOS两大平台上都支持iCloud云同步。Smile创始人菲利普•戈沃德(Philip Goward)表示,iCloud在处理文件、文件夹以及文件冲突上有着非凡表现。“根据我们看到的评论,用户们确实觉得iCloud云存储很重要,并且认为它对跨设备数据共享大有用处。”戈沃德指出,PDFpen的一大优势,是其所提供的Mac电脑与iPad平板电脑之间的无缝式编辑体验。Smile在今年一月推出的iPad版PDFpen,是率先利用iCloud将用户文档同步至Mac桌面电脑的iPad版PDF阅读编辑应用之一,不过用户必须先安装Mac版PDFpen,然后才能使用iCloud。事实上,目前只有Mac应用商店中的应用才能采用与iCloud相关的技术。
尽管支持iCloud的应用越来越多,但是它们的数量增长并未呈现出“井喷”之势。其他一些利用iCloud实现文档与数据跨设备无缝存储的iPhone及iPad应用,还包括播客订阅应用Instacast和Downcast(通过iCloud同步播客列表与播放进度)、文字编辑工具Byword(支持Dropbox与iCloud这两大云存储服务)与iA Writer(可在Mac桌面电脑上打开iCloud文档,但与Byword不同的是,它没有专门的文件管理窗口界面)等等。
以上是几款知名度较高的应用,不过苹果应用商店中支持iCloud的应用其实并不算少。苹果甚至在Mac应用商店的“Better Together”(合用更佳)一栏中设立了一个子类,用来展示那些可通过iCloud与其iOS版姊妹应用进行通讯的桌面应用。
支持iCloud的应用无需用户进行手动文件传输即可完成跨设备同步,其便利性备受用户喜爱。Downcast的开发人员塞斯•迈克法兰(Seth McFarland)表示,其应用对iCloud的支持得到了“用户的广泛肯定”。第三方iOS及Mac应用一旦恰当地整合了iCloud,就能为用户带来更自然、更连贯的使用体验,让他们无需频频拷贝文件,也无需一换设备就重新对应用进行偏好设置。对于游戏开发商而言,iCloud尤其能起到锦上添花的作用。越来越多的游戏开发商将iCloud作为游戏进度跨设备同步的平台。热门iOS及Mac游戏《The Incident》的开发商Big Bucket Software公司的马特•科米(Matt Comi)表示,当用户看到采用了iCloud云同步的《The Incident》之后,他们“马上就意识到,所有游戏都应当这样做”。Bjango公司的马克•爱德华兹(Marc Edwards)一针见血地指出:“没人不喜欢流畅的无缝式同步。”
文档缺乏深入性
尽管对于终端用户而言,iCloud似乎是“无缝的”、“自动的”,但是它背后隐藏了很多复杂的过程。第三方开发商在开发支持iCloud的“Better Together”iOS及OS X应用时,常常要花费大量精力来摸索整合iCloud的最佳方法与技术。
网页阅读应用Read It Later的平台开发主管史蒂夫•斯特雷萨(Steve Streza)表示,他曾经试图“编写支持iCloud的应用,但是发现它太难用了”。史蒂夫•乔布斯在2011年苹果全球开发者大会(WWDC 2011)上发布iCloud时,曾经说到第三方开发商可以通过苹果稍后推出的一系列API对iCloud大加利用。但是此后几个月里,iOS 5先是在2011年6月推出测试版,四个月后又推出公众版,而开发商们依然很难使其既有应用全面支持iCloud。斯特雷萨指出,iCloud即便在推出半年之后,也“像极了尚未发布的测试版”。去年夏天,应用开发商试用苹果iOS 5与OS X Lion系统时就普遍认为,iCloud在应用中的整合会比较费力;一转眼大半年过去了,很多开发商依然这样认为。
“最初的文档在很多方面存在欠缺,但它已经有所改进。苹果可以提供更多适用于Mac和iOS的代码案例,以帮助开发人员进行正确操作,并了解哪些地方可能会出现性能或可靠性问题。”文字编辑工具Byword的开发商Metaclassy的鲁本•卡巴科(Ruben Cabaco)如是说。Read It Later的斯特雷萨对苹果iCloud的开发者文档(苹果在其“开发者中心”提供的一组帮助与技术文件)也有类似想法:“现有文档太宽泛,对如何使用iCloud高谈阔论,但没有深挖技术细节。如果能对具体应用以及问题处理进行详细说明,改进后的文档将会更受欢迎。”
苹果为iCloud编写的开发者文档,在程序编写与用户体验设计方面都欠缺深入性,并缺乏具体应用案例。谈及如何在其游戏《The Incident》中应用iCloud时,Big Bucket的马特•科米给出了一系列非常“具体”的应用案例的例子:例如,启用iCloud后,用户可以在其他设备上重置游戏进度;拥有同一个iCloud帐号的两台设备可同时进行游戏;玩家在一台设备上解锁新关卡时,其他设备上也能显示关卡选择页面等等。文档不应只说明iCloud如何从技术上处理以上情况,而是应当告诉开发人员该如何优化自己的界面和工作流程,从而不妨碍用户的体验。
“文档永远不嫌多。”Tapbots的保罗•哈达德(Paul Haddad)说道。此外,所有MacStories联系到的开发商也都表示,希望iCloud能推出调试工具以及更好的冲突解决办法。Tapbots的Twitter客户端Tweetbot整合了iCloud,帮助用户实现时间轴、位置和数字媒体阅读状态的跨设备同步。对于Tweetbot来说,iCloud API的应用“相对简单”(Tapbots可以采用其在Tweet Marker中使用过的现成技术),但是哈达德认为,“出色的调试工具”甚至会比文档更有用。同样地,斯特雷萨也认为调试工具可以帮助开发人员在其应用中对iCloud进行测试,从而“检测自己的容器,并监测其数据如何被保存至云端”。
因为正如科米所说,iCloud说到底只是一个“装满了文件的文件夹”,当启用iCloud的应用出现问题时,开发人员应当弄清楚“黑盒子”里到底发生了什么。很多时候,客户遇到iCloud云同步方面的问题时,开发人员能给出的建议只是重启设备而已。
文件管理有待改进
云端的文件夹内存储着浩繁的文件。这些文件有时会被某个应用正常无误地拾取——不过被拾取的文件有时也会过多。
对于iCloud,苹果采用了一种自动解决文件冲突的技术,即:当同一文件的多个副本之间出现冲突时,总是选择“最好”的那个文件版本。和所有不给用户决定权的技术一样,这一技术可能会引发一些问题,如选错文件等等。到目前为止,iCloud仍未推出可供第三方开发商用于其应用程序的原生可视冲突解决接口。于是开发商要么只能“一直替用户做决定”——这可能会导致数据丢失或损坏;要么只能在苹果API的限制之下寻求解决方案,但是这却无法解决一个文件可能遇到的所有组合情况,例如:在多个设备上同时打开、在别处打开副本时进行还原重置等等。
为了防止应用和用户由于iCloud的“自作主张”而意外丢失文件,开发人员希望苹果能推出更好的可视冲突解决接口,以及用于在iOS设备上管理文档修订的“版本浏览器”。另一大热门云存储服务Dropbox允许开发人员通过API实现修订,而且苹果自己已经在Mac OS X Lion系统上实现了文档版本的轻松查看,那么为何不将其推广到iOS上呢?不过苹果似乎准备在新一代Mac操作系统Mountain Lion中应用新的文件保存界面,以此增强对iCloud的整合,所以今年晚些时候问世的新版iOS系统在iCloud文件管理方面或许会有所改进。
用户总体认可、又爱又恨
在当今所有移动平台当中,iOS的用户一直都是最乐于接受更新的,其最好的证据就是iOS推出新系统或开发商公开推出应用升级后的“采用率”数据。苹果推出iOS 5之后,用户们理所当然地留意那些整合了iCloud的新版应用,但是文件丢失、数据库损坏的故事屡见不鲜,让很多人对iCloud暂时持怀疑态度。
“iCloud有两款不同的API:一款比较复杂,用来存储文件;一款比较简单,更适于存储设置。”保罗•哈达德解释道,并补充称Tweetbot采用了“简单版”的API,“所以没有多少可以改动的地方”。事实上,在我们测试过的支持iCloud的应用中,iPhone及iPad版Tweetbot的速度与可靠性名列前茅。当应用程序开始采用另一款iCloud API时,当多个文件、大文件和设置同时参与存储和同步时,问题就会变得比较复杂。开发商普遍认为,当用户“喜爱”iCloud、它也很好用的时候,iCloud整合就在过去几个月内迅速成为头号支持请求来源;但是当iCloud出现问题、无法工作时,用户会感到沮丧、懊恼,而开发商没有恰当的调试工具和详细的报错消息,几乎爱莫能助。
“人们要么很喜欢它,要么就想知道它为什么不能用了。”马特•科米说道,并表示他们从《The Incident》中“收到了很多很棒的反馈意见”。卡巴科表示,Byword对iCloud的支持让用户“又爱又恨”:他们既喜欢“神奇的跨设备无缝同步”,又抱怨在同步方面遇到问题(如文件同步用时过长或无法同步等等)时经常需要禁用/启用iCloud或重启设备。虽然用户“总体上认可”iCloud的整合,但是就连Tweetbot所采用的“简单版”API都存在一些漏洞,而且让一些用户无法正常使用。
展望未来:可改进之处太多
当iCloud出现故障时,对其不稳定性深感郁闷的人显然不只是iOS和Mac用户。开发人员也希望苹果能给他们更好的工具来帮助其客户找出iCloud有时无法同步的原因。
对iCloud的未来进行猜测时,我只能说,这一平台还有太多值得改进之处,苹果可以对它做出改进并为用户提供内容与数据跨设备、跨平台无缝同步存储的新途径。我们已经提出了一些苹果应考虑在iOS 6中添加的功能。不过对于iCloud的API,一些非常基本的补充就能派上用场,就能方便开发商创建整合iCloud的应用,以及为购买此类应用的客户提供支持服务。除了更多文档及代码示例、调试工具以及更好的冲突解决技术之外,简单的报错消息和同步状态指示工具可以简单而有效地让用户确认iCloud的工作状态,以及无法实现同步的原因。以上目的,可由“文件同步至iCloud时显示通知消息”实现(卡巴科建议),也可由“提供同步状态信息的API”实现(麦克法兰指出)。而哈达德表示,他最希望看到的新功能,是“显示某应用之前是否曾被同步至iCloud”。
苹果还可考虑在未来iCloud API中增加其他一些东西,例如Byword的卡巴科认为支持“delta”变化可以“避免每次添加、删除或移动文件时都‘折腾’整个iCloud容器”(Dropbox最近在其SDK中增加了“delta”命令);此外,斯特雷萨认为,Dropbox式的文件夹(添加的东西自动保存至云端,并加载至使用该容器的所有应用)“可以大大降低编写支持iCloud的应用的入门壁垒”。
终将形成“云生态”
2011年10月,我在一篇iCloud概述文章中写道“iCloud改变了我们与设备之间的互动方式”,并指出该服务在短期内的影响是“与常见应用的整合”。过去六个月中,iCloud作为被苹果寄予厚望的平台以及开发人员可以用于其应用的同步技术,正在形成一个更直观、更连贯的应用生态系统,以保障用户的内容随时随地同步更新。
过去六个月还表明,如果没有合适的开发者工具以及对后端原理的清晰解释,事情就会变得很麻烦。事实上,一些开发商目前已经彻底放弃了iCloud应用的创建,还有一些开发商则希望新的API能让iCloud更适合他们的需要,而那些已经在应用中整合iCloud的开发商从用户那里得到的反馈,也是喜忧掺半。
尽管如此,苹果无疑正在通过iCloud酝酿一场深刻的变革,让我们的设备和应用成为一个天衣无缝的巨大生态系统。苹果iCloud给广大用户和开发人员带来了系统级的一体化云同步。虽然完全基于iCloud的第三方应用尚且不多,而且苹果应当加大对此类应用的宣传力度,但iCloud无疑是苹果的长远利益之所在。
苹果iCloud平台将在未来十年中大放异彩。它还有许多需要改进的地方,但是iCloud与生俱来的规模化与一体化,反映了苹果致力于提供“简单而熟悉”的用户体验的独到思路。