Skip to content

cureyumyum/google-calendar-5mins-offset-extension

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Google Calendar 5-Minute Start Offset

これは、Googleカレンダーの予定作成を効率化するための非公式Chrome拡張機能です。

カレンダーのグリッド(例: 12:00)をクリックして予定を作成する際、予定の開始時刻が「00分」または「30分」だった場合に、自動的に開始時刻を5分(例: 12:00 → 12:05)ずらします。
さらに、Googleカレンダーによって自動変更された終了時刻も元の時刻に復元
(例: 12:35 → 12:30)し、25分や55分の予定枠を簡単に作成できるようにします。


🎯 目的と背景

1. 連続会議がもたらす「ムダなストレス」の解消

連続した会議(例: 10:00-11:00, 11:00-12:00)は、休憩や移動時間がなく、参加者に大きなストレスを与えます。

  • 前の会議が長引き、次の会議に定刻で集合できない
  • 遅れる側は「すみません、遅れます」とチャットする心理的負担
  • 待つ側は「あと1分待つべきか?」「前の予定はなにか?」と余計な確認作業が発生する

このムダなストレスと確認作業をなくし、快適な会議運営を実現するため、私は以下の「スケジュール設定の運用ルール」を導入しました。

2. 独自の会議運用ルールとその設計思想

私が導入したルールは、会議時間を必ず 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)

💡 なぜ「開始を遅らせる」のか?(設計思想の核心)

会議の終了時刻を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で区切られているため、延長に対する意識的・心理的ハードルが高まる。

※これは開発者と当時所属していたチームメンバーの意見であり、組織によって柔軟に変えるものです

3. 本拡張機能の開発背景

このルールは非常に効果的ですが、唯一の問題は、このルールを「手動」で運用するのが非常に面倒なことでした。

Googleカレンダーで「10:00」の枠をクリックして「10:05」に直し、終了時刻を「10:30」に直す。この「毎日発生する小さな手間」を解決し、手間なく運用ルールを定着させる目的でこの拡張機能を開発しました。


✨ 機能 (Features)

  • 自動開始時刻オフセット: カレンダーの「00分」または「30分」の枠をクリックすると、開始時刻を自動で+5分します。(例: 10:0010:05
  • 自動終了時刻の復元: 開始時刻の変更でGoogleカレンダーが終了時刻を自動延長しても(例: 10:35)、元の終了時刻(例: 10:30)に強制的に書き戻します。
  • 一時的な無効化:Altキー(Macの場合は Optionキー)を押しながらカレンダーをクリックすると、この拡張機能の動作を一時的にスキップし、通常通りの予定(例: 10:0010:30)を作成できます。

🛠️ インストール方法

この拡張機能はChromeウェブストアで公開されていません。以下の手順で「デベロッパーモード」で手動インストールする必要があります。

  1. ファイルの準備 このリポジトリ(または提供されたファイル)をダウンロードし、PC上の任意の場所(例: C:\Users\YourName\Documents\google-calendar-5mins-offset-extension)に保存します。 フォルダ内には manifest.jsoncontent.jsiconディレクトリがある状態にします。
    google-calendar-5mins-offset-extension/
    ├── manifest.json
    ├── content.js
    └── icon/
        ├── icon16.png
        ├── icon48.png
        └── icon128.png
  1. Chrome拡張機能ページを開く Chromeのアドレスバーに chrome://extensions と入力し、Enterキーを押します。
  2. デベロッパーモードをON ページの右上にある「デベロッパー モード」のトグルスイッチをONにします。
  3. 拡張機能を読み込む 左上に「パッケージ化されていない拡張機能を読み込む」というボタンが表示されるので、それをクリックします。
  4. フォルダの選択 ファイル選択ダイアログが開くので、ステップ1で準備したフォルダ(google-calendar-5mins-offset-extension)そのものを選択し、「フォルダの選択」ボタンを押します。
  5. インストール完了 拡張機能の一覧に「Google Calendar 5-min Offset (Popup)」というカードが追加されれば、インストールは完了です。

🚀 使い方

  1. インストール後、Googleカレンダーのタブ(calendar.google.com)が既に開いている場合は、ページを再読み込み(リロード)してください。
  2. 通常動作(オフセット実行)
    • カレンダー上の「00分」または「30分」の欄(例: 14:00)を普通にクリックします。
    • ミニポップアップが開いた直後、開始時刻が「14:05」に、終了時刻が「14:30」に自動変更されることを確認します。
  3. 無効化(オフセットしない)
    • 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の処理速度やネットワーク環境によっては、タイミングがずれて稀に動作しない可能性があります。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors