先日、妻がiMacのBusyCalの反応が急激に低下していることに気づきました。特に、矢印ボタンをクリックして月を進めたり戻したりした際に、クリックしてから画面が新しい月に移動するまでに長い遅延が発生しました。
BusyCalをMac Proで試してみました。驚いたことに、同じ速度低下の症状が出ました。これは最近発生した症状で、カレンダーを共有していることから、原因はアプリケーション自体というよりも、共有データに問題がある可能性が高いと考えました。最も可能性の高い原因は、管理しているイベントの数が多すぎることでした。イベントの多さは、iCalとBusyCalの両方で速度低下を引き起こす既知の原因です。
なぜカレンダーデータベースにこんなにたくさんのイベントが登録されているのでしょうか?それは私たちが社交的だからではありません。過去のイベントを一切削除しないからです。もっと正確に言うと、妻は過去のイベントを削除したがりません。彼女はカレンダーを、簡単にアクセスできる記録アーカイブとして使いたいのです。そうすれば、何年も遡って、特定の日に何をしたか、何をしなかったかを確認できるからです。
どうやら、過去の予定が蓄積されるにつれてBusyCalの速度がどんどん遅くなり、ついには現在の速度低下にまで至ってしまったようです。手っ取り早い解決策としては、過去の予定を削除することくらいでしょう。しかし、妻はそれを受け入れ難いと考えていたため、どうすればいいのかという疑問が生じました。
妻は一つだけ譲歩してくれました。「ヨガ教室」や「スタッフミーティング」といった、頻繁に発生するイベントの過去の履歴を削除することを許可してくれたのです。こうしたイベントがデータの大部分を占めていたので、これは期待できる譲歩でした。これらのイベントを削除すれば、BusyCalは以前のような軽快な状態に戻るはずです。
私が直面した問題は、「将来のイベントリストを維持しながら、定期的なイベントの過去のインスタンスを効果的に削除するにはどうすればよいか」でした。定期的なイベントを削除すると、選択したイベントだけを削除する、選択したイベントと将来のすべてのイベントを削除する、またはイベントのすべてのインスタンスを削除するという3つの選択肢が表示されます。しかし、どれも私が求めていた選択肢ではありませんでした。
少し実験した後、うまくいく回避策を思いつきました。
1. 定期的なイベントの任意のインスタンスをクリックし、「ファイル」メニューから「イベントのコピー」を選択します。表示されるダイアログで「すべてコピー」を選択します。

2. 同じイベントを選択した状態で、「イベントを削除」を選択します。表示される同様のダイアログから、「すべて削除」を選択します。
3. 繰り返しイベントが発生する次の未来の日付に移動します。その日付を選択し、「ファイル」メニューから「イベントの貼り付け」を選択します。これにより、その時点から始まるイベントと、それ以降のすべてのインスタンスが復元されます。不要な過去のイベントは削除されます。これで完了です!
数分のうちに、約10件の定期的な予定に対してこの操作を実行しました。完了すると、BusyCalは通常の速度に戻りました。
注:BusyCalではうまくいきましたが、iCalでは全く同じことはできないようです。Appleのカレンダーアプリケーションには「すべてコピー」オプションがありません。同様の回避策を開発することは可能ですが、手順が増えます。