Idea, Concept, and Technology

アイデアを形に

プレゼン・会議の時間管理アプリ「TimePacer」をリリースしました

プレゼンテーションや会議で「時間が押してしまった」「残り時間がわからない」という経験はありませんか?

そんな課題を解決するiOS/iPadOSアプリ TimePacer をリリースしました。

App Store: https://apps.apple.com/jp/app/timepacer/id6757973135

TimePacer

TimePacer

  • icot
  • 仕事効率化
  • 無料
apps.apple.com

TimePacerとは

TimePacerは、プレゼンテーションや会議のアジェンダごとの時間配分をリアルタイムで管理するアプリです。各アジェンダの残り時間を大きく表示し、全体の進行状況(余裕/遅延)を常に把握できます。

主な機能

かんたんセットアップ

開始時刻とアジェンダを設定するだけで準備完了。テキストペーストで一括入力できるほか、画像スキャン機能アジェンダ表を自動認識することもできます。

リアルタイム進捗表示

実行中は「このセクションの終了目標時刻」を大きく表示。残り時間と合わせて、今何時までに終わらせるべきかが一目でわかります。

メモ機能

アジェンダにメモを追加でき、プレゼン中に話すポイントを表示できます。画像スキャン時にメモも自動抽出されます。

アラーム通知

アジェンダ終了時にアラーム音でお知らせ。5種類のサウンドから選択可能です。

セッション履歴

過去のプレゼン結果を自動記録。予定と実績の比較で次回に活かせます。

技術的な特徴

SwiftUI + SwiftData

iOS 17以降をターゲットに、SwiftUIとSwiftDataを採用。モダンなiOS開発のベストプラクティスに沿った実装です。

// データモデル例
@Model
class Presentation {
    var name: String
    var agendas: [Agenda]
    var startTime: Date
    var createdAt: Date
}

実績記録と振り返り

アジェンダの予定時間と実際にかかった時間を記録し、プレゼン終了後に比較表示します。「どのセクションで時間を使いすぎたか」「どこで巻けたか」が一目瞭然です。

// 実績の記録
struct AgendaResult {
    let name: String
    let plannedSeconds: Int
    let actualSeconds: Int
    
    var difference: Int {
        plannedSeconds - actualSeconds
    }
    
    var isOvertime: Bool {
        actualSeconds > plannedSeconds
    }
}

AI画像認識(OpenAI GPT-4o)

アジェンダスライドの画像をスキャンすると、AIが項目名・時間・メモを自動抽出します。開始時刻も読み取れる場合は自動設定されます。

プロンプトでは以下を指示しています: - 項目名と所要時間の抽出 - 開始時刻の抽出(例: "10:00-10:05" → 開始10:00) - 項目の補足説明やキーワードをメモとして抽出 - 時間表記の柔軟な解釈("5分"、"5min"、"00:05"など)

Wake Lock相当の実装

プレゼン中にiPhoneがスリープしてしまっては困ります。実行中は画面を点灯し続けるよう UIApplication.shared.isIdleTimerDisabled を制御しています。

// 実行中はスリープを防止
func startPresentation() {
    UIApplication.shared.isIdleTimerDisabled = true
}

func endPresentation() {
    UIApplication.shared.isIdleTimerDisabled = false
}

自動スタート機能

開始時刻を設定しておくと、その時刻になったら自動でタイマーが開始します。事前にアプリを開いておけば、プレゼン開始時に慌てる必要がありません。

アラーム音生成(AVFoundation)

5種類のアラーム音はAVFoundationを使用。システムサウンドやカスタムサウンドファイルを活用しています。

// アラーム再生
func playAlarm(type: AlarmType) {
    let soundID: SystemSoundID = type.systemSoundID
    AudioServicesPlaySystemSound(soundID)
}

開発の経緯

このアプリは、実際のワークショップ運営での課題から生まれました。

「Sparkの基礎 90分、休憩 10分、Lakeflow SDP 90分...」といった長時間のセッションで、各パートの時間管理が難しく、「今何時までに終わらせるべきか」がすぐにわからないことに悩んでいました。

既存のタイマーアプリは単純なカウントダウンが主で、複数アジェンダの時間管理には向いていませんでした。また、終了後に「どのセクションで時間を使いすぎたか」を振り返る機能もありませんでした。

TimePacerは、これらの課題を解決するために開発しました。

今後の予定

まとめ

TimePacerは、プレゼンテーションや会議の時間管理を支援するアプリです。

  • アジェンダの終了目標時刻を大きく表示
  • 予定と実績の比較で次回に活かせる
  • AI画像認識(GPT-4o)でアジェンダを自動入力
  • セッション履歴で振り返り

ぜひお試しください!

App Store: https://apps.apple.com/jp/app/timepacer/id6757973135

対応デバイス: iPhone / iPad / Mac(Apple Silicon) / Apple Vision Pro

対応OS: iOS 17.0以降