iCal (iCalendar)
iCalはiCalendarの略で、カレンダーアプリ同士が予定をやり取りするためのオープン標準フォーマット(RFC 5545)です。iCalファイルは拡張子.icsのテキストファイルで、iCalリンクはそのファイルを指すURLです。Googleカレンダー、Outlook、Appleのカレンダーなど、ほぼすべてのカレンダーアプリが予定を一度だけインポートすることも、購読して自動で最新の状態に保つこともできます。またiCalは、2012年に「カレンダー」へ改名されるまでAppleのMac用カレンダーアプリの名前でもあったため、二つの意味で使われます。
理解する iCal (iCalendar)
iCalendar規格は1998年に公開され、カレンダーデータの共通言語になりました。.icsファイル(またはiCalフィード)には、予定のタイトル、開始と終了の時刻、繰り返しルール、参加者、場所、説明を記述した構造化テキストが入っています。iCalendarに対応したカレンダーアプリであれば、どのプラットフォームで作られたファイルでも読み込み、インポート、購読ができます。
この規格の主な使い方は二つです。一つ目は静的な.icsファイルのエクスポートとインポートで、あるカレンダーからファイルをダウンロードして別のカレンダーに読み込みます。二つ目はカレンダーの購読で、カレンダーアプリが最新の.icsファイルを返すURLを登録し、定期的に再取得することで、元の変更が購読者に反映されます。
個人の生産性の面では、iCalはプラットフォームをまたいだカレンダー共有を可能にする仕組みです。カンファレンスの日程、スポーツチームの試合日程、祝日カレンダーを自分のカレンダーに追加するときは、ほぼ必ずiCalの購読URLが使われます。開発者にとっても、iCalendar形式はプラットフォームをまたいで予定を作成、読み取り、同期するあらゆるものの土台です。
よく使われるiCalendarのフィールドには、予定の時刻を表すDTSTARTとDTEND、繰り返しパターンを表すRRULE(例:「毎週月曜の午前9時」)、参加者のメールアドレスを表すATTENDEE、予定の作成者を表すORGANIZERがあります。VTIMEZONEコンポーネントはタイムゾーンの変換を扱い、カレンダー連携ではよくバグの原因になります。
.icsファイルの中身:どのエディタでも開けるプレーンテキストです。BEGIN:VCALENDARで始まり、VERSION:2.0と、ファイルを書き出したアプリ名を示すPRODIDの行が続きます。予定ごとにBEGIN:VEVENTからEND:VEVENTまでのブロックがあり、UID(更新時に正しい予定を置き換えるための固定ID)、DTSTAMP、DTSTART、DTEND、SUMMARYに加えて、任意でLOCATION、DESCRIPTION、RRULE、ATTENDEEの行が入ります。END:VCALENDARでファイルが終わります。各プロパティは「名前:値」の1行で、75オクテットを超える行は空白で始まる次の行に折り返されます。Zで終わる時刻はUTCで、それ以外の時刻にはVTIMEZONEブロックを指すTZIDパラメータが付きます。
Googleカレンダー、Outlook、AppleのカレンダーでiCalを使う方法:Googleカレンダーでは「他のカレンダー」のURL追加からフィードを登録し、設定の「インポート/エクスポート」からファイルを読み込みます。Outlookでは購読したフィードを「インターネット予定表」と呼び、Outlookが送受信する会議の招待は.icsの添付ファイルです。OutlookでいうiCalendarファイルはこれのことです。Macのカレンダーアプリでは「ファイル」メニューの「新規カレンダー照会」から購読します。webcal://で始まるリンクはHTTPで配信される同じフィードで、webcalという接頭辞はカレンダーアプリで開くよう端末に伝えるだけです。
iCal連携とAPI連携の違い:予約ツール、プロジェクト管理ツール、学校のポータルなどは、カレンダーが読み取る非公開のフィードURL、つまりiCal連携を提供していることがよくあります。これは一方向で読み取り専用です。フィードを再取得する頻度はカレンダーアプリ側が決めるため、変更の反映に数時間かかることがあり、その予定を編集したり出欠を返信したりはできません。またURLを知っている人は誰でもフィードを読めるので、パスワードと同じように扱ってください。API(直接)連携は、Google Calendar APIやOutlook向けのMicrosoft Graphのように、OAuthでカレンダーの提供元にサインインします。双方向で動作し、アプリが予定の作成、移動、削除を行え、変更は数分以内に反映されます。予定を公開したり追いかけたりするならiCalフィード、ツールにカレンダーを管理させるならAPI連携を選びましょう。
iCalはCalDAVではありません:iCalendarはデータの形式で、CalDAV(RFC 4791)はiCloudやFastmailなどのサーバーがカレンダーを双方向に同期するためのプロトコルです。CalDAVは内部でiCalendarデータを運びます。Appleのかつての製品iCal Serverも、別のファイル形式ではなくCalDAVサーバーでした。
GAIAの活用方法 iCal (iCalendar)
GAIAはiCalフィードではなく、直接のAPI連携を使います。GoogleカレンダーまたはOutlookを接続すると、GAIAはそれらのカレンダーの予定を読み取り、作成、移動、削除できます。Googleカレンダー内で購読しているフィード(祝日、スポーツの試合日程、チームの共有カレンダー)はそこでのカレンダーの一つなので、GAIAはその予定も把握し、一日の計画を立てるときや予定の重複を知らせるときに考慮します。GAIA自体が.icsファイルをインポートしたりiCalのURLを購読したりすることはないため、先にカレンダーアプリへフィードを追加してください。
関連概念
AIカレンダー管理
AIカレンダー管理とは、最適な会議時間を見つけ、フォーカスブロックを保護し、会議のブリーフを準備し、イベントをタスクやコミュニケーションと調整することにより、スケジュールをインテリジェントに管理するためにAIを使用することです。
カレンダー自動化
カレンダー自動化は、最適な会議時間を見つけ、ブリーフィングを準備し、カレンダーイベントをタスクやコミュニケーションと調整することにより、スケジュールをインテリジェントに管理するためにAIを使用することです。
会議の予定組み
会議の予定組みは要る者が皆出られる会議の時刻と長さと場所を選び、招きを送って変わり目をこなすことです。
Time Blocking
Time blocking is a scheduling method where you divide your day into dedicated blocks of time, each assigned to a specific task or type of work, turning your calendar into a concrete plan for the day.
スマートスケジューリング
スマートスケジューリングは空きと時差と優先度と働き方から会議時刻を自ら選ぶことで、メールでの往復をなくします。
