Windows 8ユーザーズ・ワークベンチ
Windows 8の皆まで言うな
(2013/5/1 00:00)
Windows 8を複数のデバイスで使った場合、それぞれのデバイスでのアプリ使用状況を同期することができる。ユーザーが、デバイスからデバイスへと渡り歩き、特定のアプリを個々のデバイスで使うことをローミングと呼ぶ。今回は、Windows 8とローミングについて見ていくことにしよう。
ゲームの続きを別のデバイスで
Windows 8は、1つのMicrosoftアカウントに対して、10台までのPCを信頼済みPCとして関連付けることができ、さらに、同じWindows 8ストアアプリを、そのうち5台までにインストールできる。
ストアアプリは、「アプリケーションデータ」と呼ばれるアプリ固有のデータを持ち、Windowsに対してそれをローミングすることを宣言しておくだけで、Windowsが各PCに対し、Microsoftアカウントのクラウドサービスを使ってそれを同期してくれる。
例えば、ストアアプリの1つに、Microsoftが無償配布している「Microsoft Solitair Collection」というゲームがある。さまざまなタイプのソリティアを集めたゲーム集だ。ソリティアといえばWindowsというくらいに、昔からWindowsではソリティアが遊ばれてきた。
このゲームを自宅で楽しんでいるときに、でかける時間がやってきたとしよう。そのとき使っているパソコンをそのまま持ち出せればいいが、あいにくその日は一体型の据え置きPCで始めてしまったため、カバンに入れてでかけるというわけにはいかない。
そこで、今、プレイしているゲームを止めるために、Windowsのスタートスクリーンを表示させる。この状態にすれば、バックグラウンドでゲームが動き続けることはなく、プレイタイムもそこでポーズする。
さて、駅に着いて電車に乗り込み、運良く座れたとする。カバンの中には、Windows 8タブレットが入っている。ネットワーク接続もスマートフォンのテザリングでカバーできる。そこで、タブレットを取り出し、インストールしてあるソリティアを起動すると、さっきまでプレイしていた画面が表示され、プレイタイムのカウントが再開し、ゲームを続けることができるのだ。
アプリデータのローミング
Windowsそのものも、ブラウザのお気に入りや各種の設定情報を同期し、どのPCを使う場合も再設定が最小限で済むようになっている。それも同じ仕組みを使ったものだ。
ゲームの例ではスコアやプレイタイム、プレイ中のゲームの同期が行なわれたが、他のアプリでは、それぞれさまざまなデータがローミングされる。
ほとんどのストアアプリは、この仕組みを利用しているので、2台目以降のPCにインストールした場合も、改めてユーザーが設定などをする必要がない。Windows 8でちょっと驚くのが、1台のPCで設定したWi-Fiアクセスポイントに対するパスワードが、別のPCにローミングされ、何もしていないのにつながってしまうことだ。ここにも同様の仕組みが利用されている。
Microsoftでは、ユーザーがデバイスを持ち替えても、作業を続けられるようにローミングされる例として次のようなものをあげている。
・アプリのコンテキストにおける最後の位置(読書アプリのページ番号など)
・ハイスコアやゲームのレベルの情報
・ナビゲーションのバックスタック
・To Doリストの作成
・メールの作成
ただし、ガイドラインとしてローミングを使わないように推奨されている項目もある。
・デバイスに対してローカルの情報
・サイズの大きいデータセットの移動
・瞬間的な同期や頻繁に変更される情報
サイズについては、1つのアプリケーションにつき、概ね100KB程度のようだ。それを超える場合はローミングは行なわれない。アプリの側で小さくなるように工夫する必要がある。また、アプリケーションデータの同期は、Windowsが、そのタイミングを支配し、適切なタイミングで行なうようになっている。アプリがそれをコントロールすることはできないため、予期せぬことが起こる可能性も想定しなければならない。
そんなケースに対応するために、アプリがデータをローミングすることを宣言する際に、タイムクリティカルな状況でも的確なローミングができるように、「ハイプライオリティ」を宣言することができるようになっている。Windows 8のローミングエンジンは、その設定に基づき、他のデータよりも高速にローミングを行なう。
こうした例外処理ができるようになってはいても、Microsoftとしては、例えば動画の再生位置などの同期は推奨していない。だから、動画における先頭からの再生位置について、秒やフレーム単位での同期は保証されないと思った方がいい。モバイルデバイスで見ていた映画の続きを、その瞬間からデスクトップPCで見る場合、せいぜいチャプタ単位での続行程度のことしかできないわけだ。
マルチデバイス体験を高めるWindows 8
Windows 8をユーザーとして使う場合、そこで扱うデータはユーザーデータとアプリデータの2種類に分かれる。ローミングデータとして扱うことができるのは、設定やアプリの状態、スコア、位置といったアプリデータだけだ。これらの情報は、その当該アプリだけがアクセスできる。
その一方で、ユーザーデータは、アプリを使ってユーザーが作成するが、他のアプリが参照することもできる。そして、ローミングの対象とはならず、必要に応じてSkyDriveなどを介して同期を明示的に指示する必要がある。
Windows 8は、クラウドと組み合わせて使うことで、個人がマルチデバイス環境にいる時の体験を、これまでとは大きく異なるものにしようとしている。ユーザーから見たときに完全に個々のデバイスがシームレスに連携しているようにするには、アプリそのものが、SkyDriveによるユーザーデータの参照と、Windows OSに委ねる設定等のアプリデータのローミングを、きちんと活用できるようにすればいい。絵を描くアプリなら、絵のデータはSkyDriveに置き、最後に何をしていたかをアプリデータとしてローミングするといった具合だ。
こうした仕組みがうまく使えるのであれば、1つのMicrosoftアカウントにつき、10台の信頼済みPC、ストアアプリのインストール5台までという制限は、リーズナブルなものなのかもしれない。こうした記事のためにPCを使っていると、この台数制限はアッという間に超えてしまうが、制限のおかげで得たいの知れないPCが関連付けられたままで放置されるということがなくなる。いったん関連付けを解いても、再び関連付ければ、最新の環境が瞬時に戻ってくると保証されるのであれば、だが。