Posts Tagged ‘Versioning’


「ホンモノはクラウドにある」(The Truth is on the cloud.)と WWDC で Steve Jobs が語った。[ストリーミングビデオの 1h 24 分ごろ]

John Gruber がその点を敷衍してポッドキャスト「The Talk Show #47」で興味深い議論をしている。[72 分〜 79 分ごろ]

MacStories がその部分のテープ起こしをしている。

MacStories: “iCloud To Avoid File Conflicts with Versioning” by Federico Viticci: 17 June 2011

     *     *     *

iCloud ではマージングや不一致は生じない


Gruber: The new way does not involve merging and conflicts. […] It doesn’t mean that Apple has magically solved the tech difficulties of syncing. […]

例えば3つのデバイスがあるとしよう。サーバー上のデータはどこかにあるサーバーに保存されており、そして iPhone および Mac があるとする。すべてのデータ、たとえば住所録のデータはいずれも最新のものだ。たとえば Dan Benjamin の項目にはいずれもメールアドレスがある。3つとも同じものだが、ここで(オフラインで)自宅の電話番号を Mac に加え、同時に iPhone でも自宅電話を入力するがタイプミスしたとする。そうすると同期(sync)はどうなるのか。異なる2つの電話番号が2つの場所にあり、サーバーには電話番号がない。今現在だと MobileMe はダイアログボックスを出してデータの不一致を知らせる。そこでどれが正しいのかキミが決めなければならないことになる。

You’ve got 3 devices let’s say. Server-side data stored somewhere on a server, and you’ve got an iPhone and you’ve got a Mac. All data is up to date, say Address Book. You have an entry for Dan Benjamin and all it has is an email address. In all three places it’s the same and I sit down at my Mac, I add your home phone # to your contact and then I sit down with my iPhone at the same time (say everything’s offline) and enter Dan’s home # manually, but I enter it wrong. What happens when you sync? You’ve entered two phone numbers in two places, and at the server there’s no phone number. As it stands now MobileMe often will offer you a dialog box telling you that there is a conflict. It presents it to you and you have to pick which one is right. […]

     *     *     *


オフラインで加えられた変更がどんなものであれ、iCloud ではそんなダイアログは出ないだろうとボクは思う。不一致らしきものがあったとすると、サーバー上の iCloud はどれがベストか(アップルのいい方では「ホンモノ(truth)」か)を自ら判断する。「ホンモノはクラウドにある」(The Truth is in the Cloud.)と Steve Jobs がいったのはそういうことなのだ。iTunes はどれが正しいかを判断する。そういうことだ。その正しいものを iCloud は、異なるバージョンの存在する同じアカウント持つデバイスにプッシュする。だがここにトリックがある。もしそれが正しいものでなかったらどうなるかというわけ。サーバー側ではすべてのものが記憶されるだろう。バージョニング[versioning:バージョン管理]とほぼ同じだ。「住所録を調べなさい」といったダイアログが出るだろう。「前のバージョンから正しいものを選択しなさい」といったダイアログもあるだろう。それをユーザーが選択してクラウドへプッシュし、「これがホンモノだ」と教える。アップルはこれをそのままプッシュするのだ。

In iCloud I believe you will never be presented with such a dialog, no matter how much has changed in one of the instances while it was “offline”. The server-side iCloud, when there seemingly is a conflict, will make a decision and it will decide which one is the best (in Apple’s terms the “truth”). That is what Steve Jobs means when he says “The Truth is in the Cloud.” iTunes will decide which one is right and that’s it. iCloud will push that right one to any device that has this account that has a different version. But, here’s the trick – what happens if it’s not the right one? On the server side, it will remember all of the other ones, almost like versioning. There will be some sort of interface like “go and look at your contacts.” There will be some sort of way to say “show me previous versions and let me pick the one that is right”. You pick it and push it back up into the cloud and tell it “that’s the truth” and Apple will push it out.

Dan Benjamin:最新の変更がどれであれ、ユーザーが望むなら以前のバージョンを選べる、と・・・

Dan Benjamin: Whatever is the most recent change will propagate but here are previous versions to pick from if you want.

     *     *     *

iCloud がホンモノを決める

Gruber:アップルはそうはいっていないが、サーバー上の iCloud は公開されることのない不一致を検出したときはどれがホンモノかを決定する。iCloud は「ブラックボックス」みたいに機能するのだ。ほとんどの場合一番最後に行なわれた変更を採用するだろう。しかし、それを(あとで変更できるように)決めないままにしておく。重要なポイントはもし不一致があったとしても、異なるバージョンのすべてが記憶されるという点だ。もし「ホンモノでないもの」が選択された場合でも、元に戻って正しいものを選択することができる。今後はマージングや不一致はなくなるとボクがいったのはそういう意味だ。ユーザーが決める場合を除き、マージングや不一致については iCloud がベストの判断をするのだ。

Gruber: Apple won’t reveal it but iCloud, on the server, will determine the truth when it detects a conflict that will never be published. It will act like a “black box”. Most cases it will go by the most recently implemented change — it will be undefined. The key is that if there is a conflict, they will remember the different conflicting versions. If it picks the “wrong truth” it will be able to go back and get the right one. That’s what I mean when I say no more merging or conflicts. iCloud will make its best guess at merging & conflicts other than having you pick it.

     *     *     *

iBooks の持つ意味

Dan Benjamin:キミはこれが事実だと知っているのか、それとも単なるキミの見解なのか?

Dan Benjamin: Do you know this or is it just a theory?

Gruber:これは事実だ。しかし iBooks がその具体例に違いないという点については、自分としては間違いないと考えているが、事実とまでは知らない。iPhone と iPad にある同じ iBook をオフラインで読む場合、iPhone で何ページか読み、さらに iPad で異なる部分を何ページか読んで、その後オンラインにして「read state」や「current page state」を iTunes サーバーに同期しようとしても、iBooks ではダイアログはなにも出てこない。

Gruber: I know this. What I don’t know but I beleeve, again, is that I think iBooks is an example of this in action. If you have the same iBook on the iPhone and iPad and take them both offline and flip a couple of pages on the iPhone then flip a different number of pages on the iPad, and them put them both online and they go to sync their “read state” or “current page state” to iTunes servers, iBooks never presents you a dialog. […]

iBooks は、現在もこれまでも、アップルが iCloud と呼んでいるもののタタキ台なのだ。

iBooks is and has been one of the testbeds for what Apple is now calling iCloud.

     *     *     *

今秋実際に目にするまでは、iCloud に関する議論は絶えないだろう。

「ホンモノはクラウドにある」(The Truth is on the cloud.)という Jobs の発言の真意もこれから次第に明らかにされてくるに違いない。

Gruber のポッドキャスト、今週の「The Talk Show #47」が注目されるのもそういうわけだ。

前の週のポッドキャストはなんと80万回もダウンロードされたというのだから、Gruber の注目度は大変なものだ。

司会の Dan Benjamin とさしで、たっぷり語らせるところがミソ。(いささか長過ぎるきらいはあるが・・・)

Dan Benjamin の「5by5」にはこの他にもたくさんの豪華キャストを揃えており、John Siracusa の「Hypercritical」や Marco Arment の「Build and Analyze」がとくにおもしろい。


★ →[原文を見る:Original Text

Read Full Post »