これは、Googleカレンダーの予定作成を効率化するための非公式Chrome拡張機能です。
カレンダーのグリッド(例: 12:00)をクリックして予定を作成する際、予定の開始時刻が「00分」または「30分」だった場合に、自動的に開始時刻を5分(例: 12:00 → 12:05)ずらします。
さらに、Googleカレンダーによって自動変更された終了時刻も元の時刻に復元(例: 12:35 → 12:30)し、25分や55分の予定枠を簡単に作成できるようにします。
連続した会議(例: 10:00-11:00, 11:00-12:00)は、休憩や移動時間がなく、参加者に大きなストレスを与えます。
- 前の会議が長引き、次の会議に定刻で集合できない
- 遅れる側は「すみません、遅れます」とチャットする心理的負担
- 待つ側は「あと1分待つべきか?」「前の予定はなにか?」と余計な確認作業が発生する
このムダなストレスと確認作業をなくし、快適な会議運営を実現するため、私は以下の「スケジュール設定の運用ルール」を導入しました。
私が導入したルールは、会議時間を必ず 25分枠 または 55分枠 に設定することです。
- Googleカレンダー上で、会議は必ず 25分枠 または 55分枠 として設定する
- 開始時刻は hh:05 または hh:35 に固定する
- 具体的な登録パターン
- 55分枠
- hh:05 〜 次の hh:00(例:10:05–11:00)
- hh:35 〜 次の hh:30(例:10:35–11:30)
- 25分枠
- hh:05 〜 hh:30(例:10:05–10:30)
- hh:35 〜 次の hh:00(例:10:35–11:00)
- 55分枠
会議の終了時刻を5分前倒しにするケース(例: 10:00〜10:55)も考えられます。
しかし、このルールでは以下の理由から「開始時刻を5分遅らせる」アプローチを採用しました。
これは、区切りの良い時刻(00分/30分)に終わることで、参加者全員の終了時刻への意識が高まり、時間厳守が促進されやすいと考えたためです。
| 項目 | 終了5分前倒し (10:00〜10:55) | 開始5分遅延 (10:05〜11:00) |
|---|---|---|
| 終了時刻 | 10:55, 11:25 など | 11:00, 11:30 など |
| 会議の延長 | 「あと5分ある」という心理が働きやすく、延長しがちになる。 | 終了時刻が11:00/11:30で区切られているため、延長に対する意識的・心理的ハードルが高まる。 |
※これは開発者と当時所属していたチームメンバーの意見であり、組織によって柔軟に変えるものです
このルールは非常に効果的ですが、唯一の問題は、このルールを「手動」で運用するのが非常に面倒なことでした。
Googleカレンダーで「10:00」の枠をクリックして「10:05」に直し、終了時刻を「10:30」に直す。この「毎日発生する小さな手間」を解決し、手間なく運用ルールを定着させる目的でこの拡張機能を開発しました。
- 自動開始時刻オフセット:
カレンダーの「00分」または「30分」の枠をクリックすると、開始時刻を自動で+5分します。(例:
10:00→10:05) - 自動終了時刻の復元:
開始時刻の変更でGoogleカレンダーが終了時刻を自動延長しても(例:
10:35)、元の終了時刻(例:10:30)に強制的に書き戻します。 - 一時的な無効化:
Altキー(Macの場合はOptionキー)を押しながらカレンダーをクリックすると、この拡張機能の動作を一時的にスキップし、通常通りの予定(例:10:00〜10:30)を作成できます。
この拡張機能はChromeウェブストアで公開されていません。以下の手順で「デベロッパーモード」で手動インストールする必要があります。
- ファイルの準備
このリポジトリ(または提供されたファイル)をダウンロードし、PC上の任意の場所(例:
C:\Users\YourName\Documents\google-calendar-5mins-offset-extension)に保存します。 フォルダ内にはmanifest.json、content.js、iconディレクトリがある状態にします。
google-calendar-5mins-offset-extension/
├── manifest.json
├── content.js
└── icon/
├── icon16.png
├── icon48.png
└── icon128.png
- Chrome拡張機能ページを開く
Chromeのアドレスバーに
chrome://extensionsと入力し、Enterキーを押します。 - デベロッパーモードをON ページの右上にある「デベロッパー モード」のトグルスイッチをONにします。
- 拡張機能を読み込む 左上に「パッケージ化されていない拡張機能を読み込む」というボタンが表示されるので、それをクリックします。
- フォルダの選択
ファイル選択ダイアログが開くので、ステップ1で準備したフォルダ(
google-calendar-5mins-offset-extension)そのものを選択し、「フォルダの選択」ボタンを押します。 - インストール完了 拡張機能の一覧に「Google Calendar 5-min Offset (Popup)」というカードが追加されれば、インストールは完了です。
- インストール後、Googleカレンダーのタブ(
calendar.google.com)が既に開いている場合は、ページを再読み込み(リロード)してください。 - 通常動作(オフセット実行)
- カレンダー上の「00分」または「30分」の欄(例: 14:00)を普通にクリックします。
- ミニポップアップが開いた直後、開始時刻が「14:05」に、終了時刻が「14:30」に自動変更されることを確認します。
- 無効化(オフセットしない)
Altキー(Macの場合はOptionキー)を押しながら、カレンダー上の「00分」または「30分」の欄(例: 15:00)をクリックします。- この拡張機能の動作がスキップされ、開始時刻が「15:00」、終了時刻が「15:30」のまま変更されないことを確認します。
- UI依存 (最重要): この拡張機能はGoogleカレンダーのHTML構造(具体的には
aria-label属性)に強く依存しています。Google側でUIの大幅なデザイン変更があった場合、即座に動作しなくなる可能性があります。 - 言語依存: このスクリプトは、特定の言語の
aria-labelを探します。現在は以下のUI言語に対応しています。- 日本語:
aria-label="開始時間",aria-label="終了時間",aria-label="タイトルを追加" - 英 語:
aria-label="Start time",aria-label="End time",aria-label="Add title" - もし上記以外の言語(例: ドイツ語、フランス語)でGoogleカレンダーを設定している場合、この拡張機能は動作しません。(
content.js内のセレクタ文字列を、その言語のaria-labelに修正する必要があります)
- 日本語:
- タイミング: このスクリプトは
setTimeout(遅延処理)を多用して、Googleカレンダー(React)の再描画タイミングと競合しないように調整されています。PCの処理速度やネットワーク環境によっては、タイミングがずれて稀に動作しない可能性があります。