iCloud同步存在問題 開發(fā)人員無奈撤離
近日,國外著名科技網(wǎng)站The Verge發(fā)表了篇關(guān)于蘋果iCloud服務(wù)的文章。文章表示,時任蘋果公司首席執(zhí)行官史蒂夫·喬布斯(Steve Jobs)在正式對外公布iCloud時,曾經(jīng)承諾表示iCloud將會一直“良好的運作下去”;但現(xiàn)在,iCloud與Core Data數(shù)據(jù)庫存在的同步問題,這幾年卻一直遲遲得不到良好的解決。
原文內(nèi)容如下:
在蘋果的眾多軟件產(chǎn)品中,iCloud可能是唯一以“良好運作”為目標的服務(wù)。當蘋果在發(fā)布會上推出iCloud時,就已經(jīng)非常明確的表示希望iCloud能夠支持自動化,徹底的讓設(shè)置菜單和文件系統(tǒng)消失。當時的蘋果公司首席執(zhí)行官史蒂夫·喬布斯(Steve Jobs)生前做出過承諾,iCloud將會比之前用戶體驗糟糕的MobileMe更強。MobileMe是蘋果當時為了在網(wǎng)絡(luò)服務(wù)市場進行又一次革命的常識性產(chǎn)品,但是最后卻不得不以失敗收場。
按照蘋果公司當時的想法,在iCloud面世之后,用戶在電腦一端對任何文件做出任何改動,馬上就會通過iCloud在iPhone等其他iOS設(shè)備上有所體現(xiàn)。“iCloud能夠良好的運作下去,所有的工作都可以自動進行,并且很輕松的就可以把iCloud存儲系統(tǒng)與應(yīng)用程序整合到一起。”喬布斯在2011年的發(fā)布會上做出了上述承諾。
但是,兩年的時間已經(jīng)過去了,用戶對iCloud原本將第三方應(yīng)用與云存儲服務(wù)連接到一起的需求變得越來越強烈,但是,iCloud自身的表現(xiàn)并不能讓人滿意,甚至讓人倍感失望。軟件開發(fā)與咨詢公司Black Pixel首席執(zhí)行官丹尼爾·帕斯科(Daniel Pasco)表示:“iCloud對于軟件開發(fā)人員來說,目前的表現(xiàn)還不能讓我們感到滿意。作為第三方的應(yīng)用開發(fā)公司,在這方面付出了許多精力,但是iCloud與Core Data數(shù)據(jù)存在問題,作為我們根本無法解決。”;另外一位來自閱讀類的應(yīng)用Pocket的首席開發(fā)技術(shù)人員史蒂夫·斯特扎(Steve Streza)在自己的推特上也對蘋果iCloud進行了抨擊:“如果連Black Pixel這種擁有頂級Cocoa開發(fā)人員的公司都不能解決iCloud的問題,那么還有誰可以?”
iCloud存在的問題
名為開發(fā)者邁克爾·戈貝爾(Michael Gobel)的開發(fā)者在自己的博客中表示,現(xiàn)在他已經(jīng)把iCloud的編碼改了許多次,旨在想要找到一種能夠解決問題的方法,但是目前就連蘋果方面也沒有能夠解決?,F(xiàn)在的問題是,蘋果一直就無法改進iCloud與Core Data之間存在的同步問題,但是卻還始終對外宣傳iCloud是一種非常完美的云同步方法。
一位不愿意透露姓名的著名開發(fā)人員為了不得罪蘋果,與蘋果保持良好的關(guān)系,選擇了匿名表達自己的看法:“關(guān)于iCloud支持Core Data的問題,蘋果的承諾是它將把所有改變的東西都記錄到一份事務(wù)日志中,從而解決所有令人煩惱的同步問題。但結(jié)果是沒能做到良好的運作。”原本iCloud應(yīng)該為開發(fā)人員帶來更多的方便,可現(xiàn)在卻反而讓他們舉步維艱。如果從用戶的角度來說,一旦數(shù)據(jù)在通過iCloud同步時出現(xiàn)問題數(shù)據(jù)消失,那么用戶將會對這款應(yīng)用產(chǎn)生非常不好的印象,而并不會歸罪到蘋果頭上。
“在我們遇到的眾多問題中,大部分需要幾個小時的時間就能解決,但是有些問題卻要永遠的存在賬號里。在第三方應(yīng)用的使用者遇到問題時,AppleCare維護機制并不能對用戶起到什么真正有效的幫助作用。”讓人感到郁悶的是,許多應(yīng)用如果想要同步文件,那么都必須要使用多個數(shù)據(jù)庫,并且這些數(shù)據(jù)庫之間要存在依賴性。“。“毫無疑問,iCloud對于簡單直接的文件存儲來說是一個出色的工具。”個人財務(wù)管理應(yīng)用Money的開發(fā)者Jumsoft說道,他所指的是iCloud基于文件的同步功能,這種功能被任務(wù)管理應(yīng)用Clear和日記應(yīng)用Day One所使用。將Core Data框架從應(yīng)用中拿掉“將使其變得幾乎跟簡單的電子表格沒什么兩樣”,Jumsoft說道。
許多問題都來自于一個事實,那就是蘋果并未考慮到某些特殊情況;在這些情況下,用戶會做一些出人意料的事情,比如說注銷一個蘋果ID,然后登錄另一個蘋果ID等。“對于打開應(yīng)用時注銷iCloud,但隨后又進行登錄并繼續(xù)使用應(yīng)用的用戶來說,我們應(yīng)該如何處理呢?”一名開發(fā)者在蘋果的支持論壇上寫道。“就同步數(shù)據(jù)而言,事實是真要做到同步是很難的,網(wǎng)絡(luò)可用性并非一直都很可靠或一直都很快。你必須寫出很多編碼來處理更新和遇到的問題。”斯特扎在一篇博客文章中寫道。唯一能解決這種問題的方法是,對支持電郵逐一作出回應(yīng),并在某些情況下人工幫助每名用戶重置iCloud數(shù)據(jù),而這對開發(fā)者來說將浪費大量的時間。
iCloud的故障會導(dǎo)致用戶文件受損或數(shù)據(jù)丟失,這令其用戶忠誠度也面臨風險。“我一直都在收到用戶投訴和一星評級。”開發(fā)者布萊恩·阿諾德(Brian Arnold)在蘋果的支持論壇上寫道。“我還沒有收到有關(guān)這些問題為何會發(fā)生的適當回復(fù),也沒有收到有關(guān)我能做些什么來解決這些問題的回復(fù)。”在蘋果的支持論壇上,有關(guān)Cloud同步的投訴比比皆是。
“iCloud與Core Data的同步是開發(fā)者最糟糕的噩夢。”一名開發(fā)者向The Verge說道。“那種感覺會讓人感到沮喪、瘋狂,而且還要花費成百上千個小時來提供支持。”而最糟糕的事情之一則是,客戶在看到蘋果的營銷宣傳以后會要求獲得iCloud支持,但開發(fā)者卻無法交付這種支持。“需要明白的一件關(guān)鍵的事情在于,用戶對于iCloud運作的概念在很大程度上基于并不使用Core Data進行同步的應(yīng)用。”AgileTortoise開發(fā)者格雷格·皮爾斯(Greg Pierce)說道。
當蘋果使用iCloud時,最經(jīng)常發(fā)生的情況是,這家公司甚至都不用Core Data來同步信息。舉例來說,像Keynote這樣的幻燈片演示應(yīng)用會使用基于文件的同步方法,這種方法要簡單得多。Keynote肯定能有效運作,但蘋果會密切關(guān)注基于文件的同步功能。而當蘋果確實需要依賴Core Data時,這家公司的軟件比第三方開發(fā)者幸運不到哪兒去。蘋果的Trailers應(yīng)用就使用Core Data來進行同步,這個應(yīng)用經(jīng)常都會與用戶收藏失去聯(lián)系。“蘋果最好的技術(shù)是他們自己使用的技術(shù)。”一名開發(fā)者這樣對我說道。
蘋果的態(tài)度
當開發(fā)者面臨著無法實現(xiàn)iCould同步的困境時,蘋果并未施以援手,而是選擇把支持請求轉(zhuǎn)向下一次iOS或Mac更新。
這個問題在一年多以前的2012年蘋果全球開發(fā)者大會上就已經(jīng)出現(xiàn),當時許多開發(fā)者都在蘋果的支持服務(wù)臺前排隊,希望能獲得有關(guān)iCould為何如此難以實現(xiàn)同步的答案。蘋果有關(guān)將iCloud整合到應(yīng)用中的文件一直都很少,開發(fā)者希望能從蘋果那里得到答案。“你可能會被誤導(dǎo),以為將iCloud整合到Core Data中就像閑庭信步那樣輕松。”開發(fā)者德魯·麥考馬克(Drew McCormack)在蘋果全球開發(fā)者大會召開的一個月以前這樣寫道。“不幸的是,在這個節(jié)骨眼上,沒什么能比這種想法更加遠離事實了。”
“等iOS 6發(fā)布吧。”這就是蘋果在全球開發(fā)者大會向開發(fā)者給出的答案。這家公司還發(fā)布了示例代碼,讓開發(fā)者用來實現(xiàn)iCloud與Core Data的同步,但哪怕從最好程度上來說,這些代碼都是不完整的。“從iOS 5升級到iOS 6以后,情況確實有所好轉(zhuǎn),但還是不夠。”一名開發(fā)者對我說道。一名與蘋果關(guān)系密切的消息人士向我透露,問題的部分原因在于,截至去年為止,蘋果僅有4名員工負責領(lǐng)導(dǎo)這家公司有關(guān)Core Data的工作。到現(xiàn)在為止,蘋果仍舊沒有表達出任何想要修復(fù)Core Data同步問題的意愿。
大部分第三方開發(fā)公司都非常煩惱,并且都已經(jīng)學(xué)到了教訓(xùn),徹底放棄了實現(xiàn)iCloud與Core Data同步的念頭。“到最后,當我們想要為(我們的應(yīng)用)進行iCloud與Core Data的同步時,才發(fā)現(xiàn)根本不行,不管怎么做也沒用。”一名iPhone和Mac應(yīng)用開發(fā)者說道,他開發(fā)的應(yīng)用躋身最暢銷的應(yīng)用之列。“iCloud與Core Data同步的有些問題從理論上來說根本是無法解決的,而其他一些問題則是執(zhí)行過程中的明顯bug。”他說道。想要做到同步也是有其他選擇存在的,但這些選擇都無法做到不辜負iCloud在近兩年以前所設(shè)定的目標:創(chuàng)造一種無縫的、“能良好運作的”同步解決方案,無需用戶登錄或設(shè)定任何東西。
那么,云存儲應(yīng)用Dropbox又如何呢?看起來這好像是人氣度最高的一種解決方案,但事實不然。首先,整合Dropbox意味著要求用戶注冊和授權(quán)另一個應(yīng)用。“無論是從個人角度出發(fā),還是從Elements的角度出發(fā),我都很喜歡Dropbox。但我還是想要支持iCloud,因為它能為用戶減少一個準入壁壘,讓他們不必注冊Dropbox賬號就能同步文件。”Elements應(yīng)用開發(fā)者賈斯汀·威廉姆斯(Justin Williams)說道。
其次,Dropbox使用的是基于文件的同步方式。如果你曾試過用Dropbox來同步一個iPhoto圖庫,那么就會知道Dropbox也會在數(shù)據(jù)庫上卡殼。正如Jumsoft及其他幾名開發(fā)者所證實的那樣,文件同步并非他們所追尋的東西;他們的夢想是,在兩種或更多的設(shè)備上擁有能完美同步的數(shù)據(jù)庫。事實上,在iOS生態(tài)系統(tǒng)中還沒人能做好這項工作,因此iCloud在發(fā)布之初給人們帶來過很大的希望。
那么,繼續(xù)花費時間在iCloud上的最后一個理由是什么呢?蘋果喜歡重點宣傳那些能有效執(zhí)行其解決方案的應(yīng)用作,如應(yīng)用內(nèi)購買、游戲中心(Game Center)和iCloud同步等。“如果你不把iCloud整合到自己的應(yīng)用中去,那么蘋果就永遠都不會重視。”戈貝爾寫道。對開發(fā)者來說,是否能得到蘋果的重視,就意味著他們所開發(fā)的應(yīng)用是能取得成功還是注定失敗。
結(jié)果如何還需等待
現(xiàn)在,2013年的蘋果全球開發(fā)者大會也被提上了日程,對于iCloud來說雖然已經(jīng)修復(fù)了不少問題,但是目前還存在許多亟待解決的bug。也許蘋果會推出一個徹底優(yōu)化更新之后的另一種服務(wù),來取代目前已經(jīng)讓大部分開發(fā)人員失去信心的iCloud?;蛘咛O果如果能明確表態(tài)會修復(fù)Core Data同步問題,那么也許iCloud還有救。
但是蘋果向來在這個問題上與開發(fā)人員是沒有任何溝通的,也許智能在全球開發(fā)者大會上才會偶然得到一些不痛不癢的消息。目前蘋果公司已經(jīng)承認iCloud的問題存在,但是究竟何時會給出解決的方法,還沒有一個明確的時間表。
“哪怕蘋果現(xiàn)在告訴我們,如果在未來的iOS 7中會解決問題,即使再等上一兩年,我們也非常高興,但是現(xiàn)在毫無消息,這真的很讓人無奈。”一位普通的開發(fā)人員抱怨道。“如果蘋果在iOS 7中依然無法解決問題,那么我們只能考慮Android、Windows Phone或者BlackBerry 10了。”一位已經(jīng)失去信心的開發(fā)人員做出了自己的決定。
目前,蘋果方面拒絕對The Verge的篇文章發(fā)表評論。