2011/12/02

Nokia N9: Google Calendarとの同期(その3)

とにかく、メール/スケジュール周りはGoogleまみれな生活なので、N9を使う上でもここは押さえておきたい。

とりあえずこっちのエントリでCalDAVを使った同期をしてみた(とりあえずこれが「その1」)。同期自体は問題なくできていたけど、「日本の休日」カレンダーなど一部のカレンダーが同期対象にできないっていう課題が残ってた。

で、次にこっちのエントリでMail for Exchangeによる同期に切り替えてみた(これが「その2」)。結果、休日カレンダーも含めて同期できるようになったので、メール、連絡帳、カレンダーの同期はMfE一本でやるように組み直した。かなり便利。

でも使っていくと、ちょっとおかしなことが・・・
二番めのエントリに書いたように、一部の同期したスケジュールの「時間がズレる」現象がみられたんだけど、そのほとんどは作ったカレンダーのタイムゾーン設定がおかしかった(ちゃんとGMT+09:00に設定されていなかった)だけだった。
でもそれでも解決しない奴(スケジュール)が居た(あった)・・・それが「繰り返し」の「終日」スケジュール。設定してある奴(まぁ、主に記念日や誕生日の類)がN9で見た時に軒並み一日後ろにズレてる・・・なんでぇ??

  1. 単回の、開始/終了時刻設定のあるスケジュール→○
  2. 単回の、終日スケジュール→○
  3. 繰り返しの、開始/終了時刻設定のあるスケジュール→○
  4. 繰り返しの、終日スケジュール→×

「繰り返しスケジュール」でも開始時間と終了時間が設定されてるものは、問題ないっぽい。
今のところ手元で確認する限り、「終日スケジュール」を「繰り返し指定」したときのみ起こる問題っぽい(ただし、日付をまたぐ時間指定とか、そういうのまでは試してない)。

試しに、テスト用の別のカレンダーを用意して、Google CalendarからとNokia N9からそれぞれ「繰り返し、終日」なスケジュールを入れて、同期させてみた。Google CalendarはN9から同期されたスケジュールを意図した通りに表示するが、N9はやはりズレる。と、ここで気がついた。
Googleカレンダーで、例えばGoogle Calendarから「12/1から毎週、終日」と設定すると、初回は12/1と12/2に同じ内容の「終日スケジュール」が表示され、以後の繰り返しは「12/2」に対して週一で繰り替えされる。多分、この初回が二日に跨っちゃうところからして問題なんだろうと思う。

で、これらのスケジュールをXML出力して見比べてみたところ・・・
あれぇ?「初回」の日付に対して、Google Calendar側からの入力は「JST」になってる(こっちが正だよね?)のに、N9からの入力は「UTC」になってる???

Google Calendarから入力したもの:

<title type='html'>G to N</title>
<summary type='html'>
定期的な予定&lt;br&gt;
初回: 2011-12-01 JST&lt;br&gt;
所要時間: 86400&lt;br&gt;
予定のステータス: 確定
</summary>
<content type='html'>
定期的な予定&lt;br /&gt;
初回: 2011-12-01 JST&lt;br /&gt;
所要時間: 86400&lt;br /&gt;
予定のステータス: 確定
</content>


N9から入力したもの:

<title type='html'>N to G</title>
<summary type='html'>
定期的な予定&lt;br&gt;
初回: 2011-12-01 UTC&lt;br&gt;
所要時間: 86400&lt;br&gt;
予定のステータス: 確定
</summary>
<content type='html'>
定期的な予定&lt;br /&gt;
初回: 2011-12-01 UTC&lt;br /&gt;
所要時間: 86400&lt;br /&gt;
予定のステータス: 確定
</content>



とりあえず、他のパターンも比べてみた。
カレンダーデータ上のタイムゾーンの指定内容は下のような感じっぽい。

  1. 「単回&時間指定」: Google Carendar=JST / N9=JST
  2. 「単回&終日」: Google Carendar=指定なし / N9=指定なし
  3. 「繰り返し&時間指定」: Google Carendar=JST / N9=GMT+09:00
  4. 「繰り返し&終日」: Google Carendar=JST / N9=UTC

なんとなく、N9側の「繰り返しスケジュール」の取扱いがちょっと変なのかなぁ・・・???

とりあえずいろいろやってみたけど、今のところの回避方法は「上の4にあたるスケジュールだけは、N9から設定する」のが一番手っ取り早そう。
手元で繰り返し指定するスケジュールってそんなに多くないし、一度設定すればそのまま放置って奴も多いから(記念日とか誕生日とかそういう類)、最低限だけN9から再設定してみた。
一応、見栄え的には問題なくなった・・・けど・・・ちびっとなんとかして欲しいなぁ(^^;;;

2 件のコメント:

noxy さんのコメント...

はじめまして。
N9のタイムゾーン関連を検索していてお邪魔しました。

書かれているExchangeとGoogleカレンダーの件ですが、同じような状況で悩んでいた次第ですが、私だけの現象じゃないようで少しホッと(?)しました。

あと、N9をPCに繋いでファイルを転送し、N9の上でファイルマネージャからファイルを確認すると、更新日付が+9時間されています。

N9のタイムゾーンの扱いって何か特殊なのか、単に不具合なのか・・・。

helicalgear さんのコメント...

> noxyさん
はじめまして。
このエントリを書きながら「誰も文句言ってないから、もしかしたら自分だけ?」と不安だったんですが、コメントいただけでちょっと安心しました(笑)

ファイルのタイムスタンプの件、「コピーしたファイルが」というよりも、N9上のファイルがN9で見る時とUSB接続(マスストレージ接続)した外部PCから見る時で9時間ズレるので、なんとなく間に噛んでる(N9側の)ドライバの問題じゃないのかな?と思ったりします。基本的にベースはLinuxな訳で、タイムゾーンを扱う仕組みはフツーのDesktopなLinuxと何ら変わらないように見えるので、OS的には「特殊」ってことなさそうに思います。
カレンダーの件はアプリケーション側の問題なように思いますが、まぁ、いずれにしてもまだちょっとツメが甘いところがあるってことでしょうかね・・・?

そんな細かい問題なんてどうでもよくなる程の「魅力」がN9にはあるので、気長に修正されるのを待とうかと思っています(笑)