iPhone: Googleカレンダーを使って各国の休日をCalendar Appに表示 – 色を変更

2010年の9月に「iPhone: 休日をiPhoneのカレンダーに表示する方法 (Google Sync)」というエントリーで、iPhoneのカレンダーアプリに各国の休日を表示する方法を紹介しました。

iOS 5になっても同様の方法でGoogleカレンダーで参照している色々な国の休日をiPhoneへ表示する事が可能です。

休日をCalendar Appに表示する別の方法としては、iCloudを利用する手法。iCloudになり、MobileMeの頃と違って無料でアカウントを作成し、iPhoneのiCalとiCloudカレンダーを同期出来るのですが、MacのiCal以外(iCloudのWebブラウザインタフェース)からAppleの提供している参照カレンダーを追加する方法が分かりません。これはまた別の機会に探してみようと思います。

さて、iOS 5になって進化した点としては、Google Syncで参照しているカレンダーの色をiPhoneで設定する事が出来る点。

まず以前紹介したこちらのエントリー通り、Googleカレンダーの設定、iPhoneの設定、Google Syncの設定、そしてカレンダーアプリの設定を済ませます。そのカレンダーアプリで参照する休日カレンダーを選択する画面で、EDIT / 編集 ボタンをタップとカレンダーの色を変更する事が出来ます。

スクリーンショットを並べてみます。

左から、カレンダーの選択画面、画面左上のEDITボタンをタップした状態、カラーを変更したいカレンダーをタップした状態。

これはGoogleカレンダーのみでなく、他のカレンダーでも同様に色を変更する事が出来ます。選択出来るカラーはiCloudやMac OS XのiCalアプリと同じパターンなので、iPhone, iPad, デスクトップ, Webの全てのカレンダーの色を統一する事も出来ます。

 

 

friio: ONTVサービス終了に伴い、iEPGでのテレビ予約に移行

先日こちらのエントリーで紹介した通り、ウチがfriio+Macを用いたテレビ録画システムのリモート番組予約に利用していたONTVがサービス提供を2011年10月31日に終了してしまいます。

更に、録画予約の状況はiCalで参照出来る様にMobileMeを利用して所有している他のMacやiOSデバイスと共有していました。しかし、friio録画システムが動作しているMacはLeopardで動作している為、こちらで紹介した通りMobileMeからiCloudへ移行した段階でiCalとiCloudカレンダーが同期出来なくなっています。

ONTVをベースとしたシステムについてはBlueDiamond Web.のこちらで紹介していますので気になる方は参考にしてください。

さて、ONTVがサービス終了になる事から今後は「テレビ王国」のiEPGデジタルを用いたリモート番組予約に移行することにしました。

1) 目的

既にONTVシステムが送信するメールを受け取って録画用のスクリプトとiCalへのアラーム付きイベントを作成する仕組みが出来上がっているので、テレビ王国からダウンロードするiEPGファイルを用いてONTVが送信するものと同じ内容のメールを送信するAppleScriptを作ります。
そしてMobileMeカレンダーの代わりにGoogleカレンダーとiCalを同期させます。

2) Leopard iCalとGooleカレンダーの同期

LeopardのiCalはGoogleカレンダーとCalDAVですんなり同期する事が出来ません。Snow LeopardやLionであれば簡単だったのですが、Leopardに搭載されているiCalのCalDAV実装が古い為か、一筋縄には行きません。
一番簡単な方法としてSpnning Syncというアプリを用いました。これはシステム環境設定の項目としてインストールされるもので、GoogleのアカウントでログインするとiCalのローカルカレンダーとGoogleカレンダーを双方向同期する事が出来ます。
アドレス帳の同期も出来るので、Leopardをメインで使っていてGoogleと同期させたい方には便利かもしれません。
ただし問題は有料のアプリである事。年単位で利用料金を支払うか、一度にライセンスを購入する必要があります。
ひとまずは試用期間で2週間動かせるので試してみることにしました。

3) iEPGデジタルファイルからのメール送信

friio録画を行っているMacは日本に設置しており、シンガポールからいつもリモート接続で操作するのは少しストレスがあります。よって、シンガポールでメインで利用しているMacBook Airにフォルダアクションを設定し、テレビ王国からiEPGデジタルファイルをダウンロードするとメールアプリからONTVサービスと同じ記述内容のメールを送信するアップルスクリプトを作ってみました。

フォルダアクション設定の為にAppleScriptを「~/Library/Scripts/Folder Action Scripts」にコピーし、そしてSafariがiEPGファイルをダウンロードするホームディレクトリ以下の「ダウンロード」フォルダにこのスクリプトをフォルダアクションとして割り当てます。

後はMailアプリを起動しておいて、テレビ王国でiEPGデジタルボタンをクリックしてファイルをダウンロードするのみ。ダウンロードが完了すると自動的に内容を解析してONTVの「メール録画予約」と同じ内容を生成してメールで送信します。

これによってfriioが接続されているMacには何も変更を加えずに、リモート録画予約するMacのみへの変更で移行が出来ました。

本来はiEPGデジタルファイルからすべてを生成する方式に変えたかったのですが、friioを動作させる為のスクリプトファイル(iCalのアラームで実行するファイル)の扱いなど、色々と考慮することがあり、まずはONTVサービス終了の10月31日に間に合わせる事を優先して上述の様な手法をとりました。問題は従来と異なりONTVにアクセス出来る環境であれば何処からでも予約出来るわけでなく、フォルダアクションが設定されているMacで無ければリモート録画予約が出来ない事。最悪はこのMacへリモート接続して操作する事になると思いますが、出張中などは少々不便になりそうです。

参考リンク:

スクリプトは作成したばかりでまだ十分検証出来ていませんので、利用される場合は自己責任でお願いします。スクリプト下部にメールの送信先と送信元アドレスを指定する箇所がありますので適宜修正してください。

 

iCal/アドレスブック と Google カレンダー/連絡先 の同期

MobileMeユーザのウチはMac – iPhoneの情報同期は全てMobileMe経由で行っていますが、もし、Googleも同期したくなった場合にどうしたら良いだろう、もしくはMobileMeを解約してGoogleとの同期で同等のことができるか考え、試してみました。

まず、同期出来る情報ですが、MobileMeではカレンダー、アドレスブック、ブックマーク、さらにMac独特な情報ですがキーチェーン、環境設定、メール・メールのルール等、ほとんどの情報を同期することができます。Mac OS Xの再インストールをした場合でも、MobileMeを利用していれば即座にインストール前の情報を復旧することができます。

GoogleとMacの同期を考えた場合、色々な方法があります。

カレンダーはCalDAVを使うのが一番簡単な方法。iCalの環境設定 – アカウントでアカウントを追加し、アカウントの種類を「Google」(iCal 4の場合)として設定します。ただし、Googleカレンダーが複数ある場合はそのアカウントの「委任」で表示する様にチェックを入れます。その場合、右側の画面の様に、Googleのメイン以外のカレンダーは「委任」の下に複数階層になってしまい、ちょっと見づらいです。また、全ての情報はGoogleサーバー上にあり、ローカルのiCalのカレンダーには保存されません。

アドレスブックの同期については簡単で、アドレスブックの環境設定 – Googleと同期へチェックを入れて(アドレスブック 5 の場合)アカウントの設定を行うのみです。この場合は情報はローカルのアドレスブックに保存されており、Google – Gmailの連絡先の情報と同期される様になります。

その他のMac特有のキーチェーンや環境設定についてはMobileMeと違い、Googleとの同期を行う方法は今のところ無い様ですね。

上述のCalDAVでのカレンダー参照と、アドレスブックの同期は悪くないのですが、MobileMeの様な「ローカルのiCal上のイベントとGoogleカレンダーのイベントを”同期”する」という事は実現されません。CalDAVでのカレンダー参照はGoogleカレンダーをiCalのインタフェースで操作しているに過ぎない為です。また、複数カレンダーがある場合に「参照」の階層に入ってしまうのも残念感があります。

そこで見つけたのが「Spanning Sync」。有料(1年間ライセンス体系の料金設定と、永久ライセンスの料金設定があります)ですが、MobileMeと近い感じでカレンダーとアドレスブックの情報を同期することができます。
購入検討の為に15日間無料で試用することができます。

インストールすると、システム環境設定の項目が追加されます。

試用期間中は、その旨を伝えるメッセージが表示されますが、表示される試用期間の残り日数は計算にミスがある様で、凄い日数が表示されています (^^;;。

画面を並べてみました。
最初のページではGoogleアカウントの設定と同期のタイミング。
2ページ目・3ページ目でカレンダーとアドレスブックの同期設定が出来ます。iCal、Googleそれぞれのカレンダー名の組み合わせと同期の方向を設定したり、Mac上のアドレスブックに含まれるどのグループについてGmailの連絡先と同期するかを設定出来ます。さらに、カレンダーのアラームについてもきめ細かな設定が出来るのが特徴だと思いました。
最後の4ページ目にはメニューバーへのアイコン表示有無設定等があります。

メニューバーのアイコンは同期が正常に行われている時と、エラーがあった場合でアイコンが異なり、何らかの問題がある場合にはすぐ分かる様になっています。正常時は左側のアイコン、エラーが発生した場合は右側のアイコン表示になります。

Spanning Syncを使えば、Google側の情報でiCal / アドレスブックの情報を上書きする事も出来るので、MobileMeを使った場合の様に、Mac OS X再インストール時にすぐ情報をMacへ復元する事も出来そうです。MobileMeの年会費を費やしたくないが、それと近い環境を構築したい場合には良いかもしれません。

また、Mac + Andriodユーザの皆さんはこの方法でMac – Google – Android携帯の情報同期が出来、便利かもしれません。

* Google Gmailの連絡先には氏名の「よみ」が無いなど、アドレスブックと項目が異なる場合がありますので、注意が必要です。

参考: Spanning Sync

friio で地デジ録画

Windows用の地上デジタルチューナーですが、Macでも使えそうな情報が沢山あったので、先月、friioを購入しました。注文から3日で手元に届き、有志の方々が作ったMac用ドライバーや録画アプリケーションを入れて早速動作チェック。思ったよりもすんなり動きました。

従来は、NECのPK-AX10(アナログチューナーHDDレコーダー)でTV番組の録画予約を行っていましたが、今後friioで同様の事を実現する為、iPhoneを使って外出先からでも録画予約をしたくなり、自分でAppleScriptを作ってみました。色々なリソースを参考にしながら、ONTVサービスからのMAIL録画予約メールをMailで受け取り、その内容を自動で処理してiCalにアラーム付きイベントを追加する動作をするスクリプトです。

必要な物は

  • Mac OS X (Leopardで動作検証しました)
  • Mail (ONTVのMAIL録画予約を受信するために設定しておく)
  • iCal (当然Leopardに入っていますが…)
  • friio
  • Mac用friioドライバー
  • recfriio
  • Growl (通知が不要な方はスクリプトを解読して修正してください)
  • ONTVのユーザ登録とMAIL録画予約設定

といったところです。

詳しくはBlueDiamond Web.に掲載していますのでご覧下さい。

約1ヶ月、このAppleScriptで録画予約しながら使っていますが、順調に動いているようです。まだ修正の余地はありますが、もしfriioをMacで使われている方で使えそうであればどうぞ。

iCalのアラームについて

Mac OS X標準のスケジュール管理ソフトiCal。MobileMeメンバーのウチにとっては手放せないアプリケーションの一つです。
MobileMeを使っていると、複数のMacやiPhone等、全てのデバイスの情報が同期され、当然iCalへ登録したスケジュールもネットワーク経由で同期されます。

ウチの場合、メインで使っているMBP、サーバーとして稼働しているMacMini、常に持ち歩いているiPhoneの3つのデバイスにスケジュール情報が同期される訳ですが、特にサーバー目的で運用しているMacMiniについてはスケジュールのアラーム表示が煩わしいと感じていました。

とはいえ、アラームの設定をしなければ、予定を忘れてしまう事も心配。

そんな事を考えながらiCalの画面を色々見ていた所、カレンダー毎にアラームを無視する設定がある事を発見!
カレンダーを右クリックして「情報を見る」をクリックしたときに表示されるのがこちら。

iCalカレンダーの情報 名前、色、説明と「アラームを無視」のチェックボックスが。

iCalカレンダーの情報チェックを入れた状態。

この設定は、MobileMe経由で同期されないので、Mac毎にアラームの表示・非表示を各カレンダーに設定することができます。

例えば、メインでスケジュール管理に使っているカレンダーのアラームはMBPで表示、MacMiniでは非表示(無視)。
デジタルテレビ録画のスクリプトを作動させる為に使っているカレンダーのアラームはMacMiniで実行、MBPでは無視。
といった具合です。

iCalユーザの方以外にはかなり意味不明なエントリーになってしまいましたが、何かの参考になれば。