ActCheckTracker ユーザーマニュアル
1. はじめに
1.1 ActCheckTrackerとは
ActCheckTrackerは、あなたのPC作業を「見える化」するWindowsデスクトップアプリケーションです。
日々のマウス操作やキーボード入力を自動的に記録・集計し、美しいグラフやチャートで可視化することで、
これまで感覚でしか捉えられなかった「作業の頑張り」や「集中パターン」を客観的なデータとして振り返ることができます。
在宅勤務やフリーランスなど、PC作業が中心の現代において、自分の作業量を把握し、
モチベーションを維持することは重要な課題です。ActCheckTrackerは、そんなあなたのパートナーとして、
日々の活動を静かに見守り、美しく記録します。
本アプリケーションについて
ActCheckTrackerは個人開発により作成・提供されています。個人開発という環境の中で、
可能な限り高品質なソフトウェアを提供するため、継続的な改善と品質向上に取り組んでいます。
ユーザーの皆様からのフィードバックは、アプリケーションの改善に大変役立ちます。
動画 1.1 アプリケーション動作デモ
主な特徴
- 美しいビジュアライゼーション:豊富なグラフ、ヒートマップ、レーダーチャートなどを用いて、直感的かつ魅力的にデータを表示します。
- プライバシー再優先の設計:キーボード入力は「どのキーを何回押したか」という統計情報のみを記録し、入力された文字の内容(パスワードや文章など)は一切記録しません。安心してご利用いただけます。
- リアルタイムダッシュボード:現在の活動状況(活動スコア、入力速度、作業効率など)をリアルタイムで確認できます。
- 詳細な統計分析:今日、昨日、今週、今月といった様々な期間でデータを分析し、作業習慣の傾向を把握できます。
- 自分だけの作業環境:19種類のダッシュボードコンポーネントを自由に配置し、15種類のカラーテーマから好みのデザインを選べます。
1.2 主な機能
-
活動モニタリング
- キーボード打鍵数、タイプ別集計(英数字、機能キーなど)
- マウスクリック数、移動距離、移動速度
- 1分単位の詳細な活動パターン記録
- アプリケーション別使用状況の記録(プロセス名単位)
-
リアルタイムダッシュボード
- 現在の作業効率や集中度をリアルタイム表示
- 19種類の豊富なウィジェット(グラフ、ゲージ、ヒートマップ等)
- ドラッグ&ドロップによる自由なレイアウト変更
- 「起動時から」「今日0時から」の2つの集計モード
- アプリ使用状況ランキング表示
-
統計分析レポート
- 今日、昨日、一昨日、今週、先週、過去7日間、今月、先月、全期間といった多彩な期間別レポート
- 時間帯別の活動傾向がわかるヒートマップ
- 過去データとの比較分析
- アプリ別使用時間チャート
-
集中セッション機能(ストップウォッチ)
- ユーザーが意図した区間だけを切り取って記録・分析
- セッション履歴の閲覧・管理
- セッション詳細の表示(将来:PDF出力予定)
-
状況通知機能(スマート通知)
- 「キー入力1万回達成」「1時間連続稼働」など、頑張りや休憩の目安をWindows通知でお知らせ
- 目的に合わせた「通知プリセット」(健康重視、生産性重視など)で簡単設定
- 通知はローカルで完結し、プライバシーも安心
-
データ管理とプライバシー
- ローカル保存による完全なデータ所有権
- 設定可能なデータ自動削除機能
- JSON形式でのバックアップ(エクスポート)と復元(インポート)
1.3 動作環境
ActCheckTrackerを快適にご利用いただくために、以下の環境を推奨します。
| 対応OS |
Windows 10 (バージョン1809以降) / Windows 11 |
| システムアーキテクチャ |
x64 (64ビット) |
| 必須ランタイム |
追加インストール不要(Microsoft Store版はアプリに同梱) |
| ディスプレイ解像度 |
推奨: 1400x900以上 (最小: 800x600) |
| その他 |
WebView2 固定版ランタイム同梱(統計チャートはオフラインで表示可能) |
2. インストールと起動
2.1 インストール方法
ActCheckTrackerは、Microsoft Storeから安全かつ簡単にインストールできます。
- Windowsのタスクバーまたはスタートメニューから「Microsoft Store」を開きます。
- 検索バーに「ActCheckTracker」と入力して検索します。
- アプリページにある「入手」または「インストール」ボタンをクリックしてください。自動的にダウンロードとインストールが完了します。
ヒント: Microsoft Store版を使用することで、常に最新バージョンの機能とセキュリティ修正が自動的に適用されます。
2.2 初回起動と自動メンテナンス
インストール完了後、スタートメニューのアプリ一覧から「ActCheckTracker」を選択して起動します。
初回起動時には、活動データの保存領域が自動的に準備されます。
【初回のみ】同意(プライバシー)について:
初回起動時は、入力監視(低レベルフック)を開始する前に、同意画面が表示されます。
同意いただいた場合のみ監視を開始します。拒否した場合はアプリを終了します。
2回目以降の起動では、同意状態が保存され、通常は自動的に監視が開始されます(左側のモニタリングで停止/開始の操作ができます)。
データの安全性について:
ActCheckTrackerは、起動するたびにバックグラウンドで「データ整合性チェック」を自動的に実行します。
万が一、PCの予期せぬシャットダウンなどでデータファイルに不整合が生じていた場合でも、
この機能が自動的に問題を検知し、可能な限り修復を行います。ユーザーは意識することなく、常に安全な状態で利用を開始できます。
2.3 アプリケーションの終了
ウィンドウ右上の「×」ボタンをクリックするか、タスクバーのアイコンを右クリックして「ウィンドウを閉じる」を選択してください。
アプリ終了プロセス中、メモリ上にある最新の活動データが確実に保存されるまで、ウィンドウが数秒間残る場合があります。
これはデータの消失を防ぐための重要な処理ですので、強制終了せずにそのままお待ちください。
3. クイックスタート
3.1 最初の一歩
まずは、ActCheckTrackerがどのように動くか体感してみましょう。
- アプリを起動し、(初回のみ)同意画面の案内に従って同意します。
- メイン画面(リアルタイムダッシュボード)が表示されていることを確認します。
- その状態でキーボードを適当に叩いたり、マウスを動かしたりしてみてください。
- ダッシュボード上の「活動スコア」や「入力速度ゲージ」「アクティビティリング」などが、あなたの操作に合わせてリアルタイムに動くのが確認できます。
これで準備完了です!ActCheckTrackerは既にあなたの「頑張り」を記録し始めています。
作業の邪魔にならないよう、ウィンドウを最小化して普段通りPC作業を行ってください。
動画 3.1 クイックスタートガイド
3.2 基本的な使い方の流れ
日常的な活用サイクルの一例です。
☀️ 朝:作業開始
PCを立ち上げたらActCheckTrackerを起動します(Windows起動時自動実行をオンにしておくと便利です)。ウィンドウは最小化しておきます。
💻 昼:作業中
集中力が切れた時や、区切りの良いタイミングでウィンドウを開いてみましょう。「リアルタイム」画面で現在の集中度や作業ペースを確認し、モチベーションを高めます。
🌙 夜:作業終了
作業を終える前に「統計」タブを開いてみましょう。「今日」のレポートを確認し、総活動時間やピークタイムを振り返ります。「今日はこれだけ頑張ったんだ」と実感して一日を終えましょう。
4. 基本操作
4.1 画面構成
ActCheckTrackerの画面は、シンプルで直感的な「2ペイン(左右分割)構成」になっています。
- サイドバー(画面左側):
画面の切り替えや、モニタリング(記録)の開始・停止を行う操作パネルです。常に表示されています。
- メインエリア(画面右側):
選択した機能(リアルタイムダッシュボード、統計グラフ、設定画面など)の詳細が表示されるエリアです。
図 4.1 画面構成
4.2 監視の開始と停止
自分の活動データの記録を開始・停止するには、サイドバー下部の「モニタリング」パネルを使用します。
- 記録を開始する:
開始 ボタンをクリックします。
※アプリ起動時は、デフォルトで自動的に記録が開始された状態になります(「開始」ボタンはすでに押された状態です)。
- 記録を停止する:
⏹ 停止 ボタンをクリックします。
記録が止まり、データがパソコン内に保存されます。
図 4.4 モニタリング操作
ヒント: 設定画面で「Windows起動時に自動起動」をオンにしておくと、PC起動と同時にバックグラウンドで記録が始まるため、押し忘れを防げます。
4.3 画面の切り替え
サイドバーのメニューボタンをクリックすることで、メインエリアの表示を切り替えることができます。
- 📈 リアルタイム:現在の活動状況(今の1分間や今日の累積)をリアルタイムにアニメーション表示します。
- 📊 統計:過去のデータをグラフで詳細に振り返ることができます(日別、週別など)。
- ⏱️ 集中セッション:ストップウォッチ機能を使用して、意図した区間の活動を記録・分析します。
- 📋 セッション履歴:過去の集中セッションの履歴を閲覧・管理します。
- ⚙️ 設定:アプリの設定変更や、データのバックアップ・削除などの管理を行います。
4.4 集中セッション機能
集中セッション機能は、メインの常時記録とは別に、ユーザーが意図した区間だけを切り取って記録・分析するストップウォッチ機能です。
図 4.2 集中セッション開始
図 4.3 セッション計測中
- セッションの開始:
集中セッション画面でタイトルを入力し、開始ボタンをクリックします。
※メインのモニタリングが有効な場合のみ開始できます。
- セッションの停止:
停止ボタンをクリックすると、セッションが終了し、データが保存されます。
- セッション履歴の閲覧:
セッション履歴画面で、過去の集中セッションを一覧表示・詳細確認できます。
図 4.5 セッション履歴
ヒント: 集中セッションは、メインのモニタリングが停止すると自動的に停止されます。メインのモニタリングを有効にしておく必要があります。
4.5 状況通知機能(スマート通知)
あなたの作業状況に応じて、Windowsのトースト通知(画面右下のお知らせ)を表示してサポートする機能です。
「頑張りの可視化」や「使いすぎの防止(健康管理)」に役立ちます。
- 達成通知:「キー入力10,000回達成!」「マウス移動距離1km到達!」など、日々の積み重ねを通知してモチベーションを高めます。
- 健康・休憩通知:「1時間連続で作業しています」「クリック数が多すぎます」など、適度な休憩を促すリマインダーとして機能します。
設定について:
通知の条件や頻度は、サイドメニューの「設定」>「通知設定」から細かくカスタマイズできます。
面倒な設定が不要な「プリセット(おすすめセット)」機能も用意されています。
5. リアルタイムダッシュボード
5.1 ダッシュボードとは
「リアルタイムダッシュボード」は、現在のあなたのPC操作量(キー入力数、マウス移動距離、クリック数など)を可視化するメイン画面です。
1秒ごとにデータが更新され、現在の作業負荷や集中度(活動スコア)をアニメーション付きで直感的に把握できます。
図 5.1 リアルタイムダッシュボードの表示例
5.2 集計モードの切り替え
ダッシュボードに表示される数値の「集計期間」は、目的に応じて2つのモードから選択できます。
切り替えは設定画面(サイドメニュー「設定」>「表示設定」)で行います。
図 5.2 集計モードの設定
- アプリ起動時 (PerLaunchMode):
今回アプリを起動してから現在までのデータを表示します。
PCを再起動するとリセットされるため、「今の作業セッション」や「午前/午後の作業」を区切って計測したい場合に最適です。
- 今日0時から (DailyMode):
今日の午前0時から現在までの合計値を表示します。
アプリを再起動しても数値は維持されるため、「今日1日でどれくらい入力したか」という日次の総量を把握したい場合に便利です。
5.3 レイアウトのカスタマイズ
ダッシュボードの各パネル(コンポーネント)は、あなたの好みに合わせて自由に配置を変更できます。
- 並べ替え(ドラッグ&ドロップ):
パネルをマウスでドラッグして、好きな場所に移動させるだけで順番を入れ替えられます。
- 表示/非表示(右クリックメニュー):
ダッシュボードの背景(またはパネルの上)で「右クリック」すると、コンポーネントの一覧メニューが表示されます。
チェックボックスをオン/オフするだけで、必要な情報だけを表示したシンプルな画面にカスタマイズできます。
動画 5.1 レイアウトのカスタマイズ(右クリック操作)
5.4 ダッシュボードコンポーネント一覧
以下のコンポーネント(情報パネル)が用意されています。用途に合わせて表示・非表示を切り替えてください。
5.4.1 基本情報・サマリー
- セッション情報 (SessionInfo):
計測開始からの経過時間や、活動時間(実際に操作していた時間)とアイドル時間(放置していた時間)の内訳を表示します。
- 統計サマリー (RealtimeStatsSummary):
今日1日の「合計キーストローク数」や「マウス移動距離」などをコンパクトにまとめて表示します。
- 基本統計 (BasicStatistics):
キーストローク数・クリック数・移動距離・アクティブ時間の4大指標をカード形式で大きく表示します。
- 詳細統計 (DetailedStatistics):
基本統計よりも細かいデータ(1分あたりの平均入力数など)を数値で詳しく確認できます。
5.4.2 チャート・グラフ(時系列・推移)
- リアルタイムチャート (RealTimeChart):
直近数分間の入力強度の変化を折れ線グラフで表示します。集中力の波を確認するのに最適です。
- 活動指標 (ActivityMetrics):
現在の活動レベルを、過去の平均と比較して「高い/低い」の指標で示します。
5.4.3 活動分析・スコア
- 活動スコア (ActivityScore):
ActCheckTracker独自の指標です。キー入力やマウス操作の頻度から「現在の集中度」を0〜100点のスコアで算出します。
- 活動レーダーチャート (ActivityRadarChart):
「キー入力」「マウス操作」「活動時間」などのバランスを多角形のグラフで可視化します。
- パルス活動リング (PulseActivityRing):
現在の活動強度をリング状のアニメーションで直感的に表現します。
- 活動ヒートマップ (ActivityHeatmap):
時間帯ごとの活動量の濃淡を色の濃さで表現し、いつ集中していたかを一目で把握できます。
5.4.4 キーボード・マウス詳細分析
- キーカテゴリ別内訳 (KeyCategoryBreakdown):
どの種類のキー(文字キー、機能キー、カーソルキーなど)を多く使っているかを表示します。
- キーカテゴリ別ドーナツチャート (KeyCategoryDonutChart):
キー入力の割合を円グラフで表示します。
- クリック種別 (ClickBreakdown):
左クリック、右クリック、中クリックのそれぞれの回数を表示します。
- クリック種別ドーナツチャート (ClickBreakdownDonutChart):
クリック操作の割合を円グラフで表示します。
- クリック比率チャート (ClickRatioChart):
総操作に対するクリック操作の比重を表示します。
5.4.5 効率・速度ゲージ
- リアルタイム入力速度ゲージ (InputSpeedGauge):
現在のタイピング速度(キー/秒)をメーター形式で表示します。
- 作業効率ゲージ (WorkEfficiencyGauge):
休憩時間と作業時間のバランスから、現在の作業効率を推定して表示します。
- マウス移動速度ゲージ (MouseSpeedGauge):
マウスカーソルの移動速度や移動量をメーター形式で表示します。
- 活動時間比率チャート (ActivityTimeRatioChart):
アプリ起動時間のうち、実際に操作していた時間の割合(稼働率)を表示します。
5.4.6 アプリ使用状況
- アプリ使用状況ランキング (AppUsageRankingComponent):
アプリケーション別の使用時間、キーストローク数、クリック数をランキング形式で表示します。
使用時間、キーストローク数、クリック数の3つの基準でソートできます。
5.4.7 入力バランスパネル
- 入力バランスパネル (InputBalancePanel):
キーボード、マウス、スクロールの3つの入力方法のバランスを、近未来的なホログラム風のビジュアルチャートで表示します。
各入力方法を独立した円形プログレスリングで表示し、3要素の合計に対する割合(パーセンテージ)をリアルタイムで可視化します。
各リングの周りには光の粒子が回転し、データ更新時にアニメーションが実行されます。
キーボードはシアン/ブルー系、マウスはマゼンタ/ピンク系、スクロールはライム/グリーン系の色で表示されます。
図 5.2 アプリ使用状況ランキングコンポーネント(データなしの状態)
図 5.3 アプリ使用状況ランキングコンポーネント(データ表示の状態)
5.4.8 スクロール速度メーター
- スクロール速度メーター (ScrollSpeedGauge):
縦スクロールの速度をリアルタイムで表示するアナログメーター風のコンポーネントです。
2つのメーターを並列表示し、イベント/秒と距離/秒の両方を可視化します。
前回の値と現在の値の差分を1秒間隔で計算し、リアルタイムな速度を表示します。
前後に動かしても正しく絶対値として計算されるため、スクロールの総量を正確に反映します。
入力が止まると速やかに0に戻る減衰処理により、現在の活動状況を正確に表示します。
イベント/秒メーターはシアン系(#00BFFF)、距離/秒メーターはライムグリーン系(#00FF7F)で表示されます。
6. 統計画面
6.1 統計画面とは
「リアルタイム画面」が現在の状況を瞬時に把握するためのものであるのに対し、「統計画面」は過去のデータを振り返り、長期的な傾向や習慣を分析するための画面です。
蓄積されたログデータを集計し、様々な切り口(時間帯別、日次推移、キー入力比率など)のグラフとして可視化します。
図 6.1 統計画面の表示例
6.2 期間の選択
画面上部に並んでいるボタンをクリックすることで、集計期間を切り替えることができます。
- 短期分析:「今日」「昨日」「一昨日」
- 中期分析:「今週」「先週」「過去7日間」
- 長期分析:「今月」「先月」「全期間」
6.3 期間別チャート一覧
選択した期間によって、表示されるチャートの種類や集計粒度(5分単位、1時間単位、日次など)が異なります。
6.3.1 今日・昨日・一昨日
1日の詳細な活動リズムを把握するため、19種類のチャートが表示されます(5分または15分単位のデータが中心)。
- 今日の総活動量サマリー (todaySummary):1日の合計値をカード表示
- 時間帯別活動パターン (activityHeatmap):どの時間帯に集中していたかを色の濃淡で表示
- キーストローク数の推移 (keyStrokes5Min):5分ごとの入力数グラフ
- マウスクリック数の推移 (mouseClicks5Min):5分ごとのクリック数グラフ
- マウス移動距離の累積 (mouseMoveDistance5Min):移動距離の積み上げグラフ
- マウス移動距離の分速 (mouseMoveDistancePerMinute):操作の素早さを表す分速グラフ
- キーストローク数の推移 (keyStrokes15Min):15分単位での推移(0時から)
- マウスクリック数の推移 (mouseClicks15Min):15分単位での推移(0時から)
- マウス移動距離の累積 (mouseMoveDistance15Min):15分単位での推移(0時から)
- アクティブ時間とアイドル時間の比較 (activeIdleTime):稼働と休憩のバランス
- キーカテゴリ別の内訳 (keyCategoryBreakdown):使用キーの割合
- クリック種別の内訳 (clickBreakdown):クリック種類の割合
- 活動スコアの推移 (activityScore):15分単位の集中度スコア
- キーストローク率の推移 (keyStrokeRate5Min):入力密度の推移
- クリック率の推移 (clickRate5Min):クリック密度の推移
- キーストローク数とマウスクリック数の相関 (keyStrokeClickCorrelation):同時操作の傾向
- 作業集中度の推移 (focusLevel15Min):深い集中ゾーンに入った時間の可視化
- キーボード vs マウス使用比率の推移 (keyboardMouseRatio15Min):作業内容の質の変化
- アプリ別使用時間チャート (appUsageTime):時間帯別のアプリケーション使用状況
- スクロール量(方向別)の推移 (scrollEvents):スクロール量(Δ絶対値)を方向別に時系列で表示
図 6.2 1日の詳細分析チャート例
6.3.2 今週・先週・過去7日間
日ごとの変化や曜日による傾向を分析するため、複数種類のチャートが表示されます(1時間単位または日次集計が中心)。
- 総活動量サマリー (weeklySummary 等):期間内の合計値を表示
- 日次活動量の推移 (dailyActivityTrend):日ごとの活動量を折れ線グラフで比較
- 活動時間の内訳 (activeIdleTimeBreakdown):期間全体の稼働率
- キーカテゴリ別の内訳 (keyCategoryBreakdown):期間全体のキー使用傾向
- クリック種別の内訳 (clickBreakdown):期間全体のクリック傾向
- 曜日別活動量比較 (dayOfWeekComparison):何曜日に忙しいかを可視化
- 曜日別平均活動スコア (dayOfWeekActivityScore):曜日ごとの集中度
- 日次キーストローク数の推移 (dailyKeyStrokesTrend):入力数の日次変化
- ピーク時間帯 (peakHourChart):期間を通じて最も活動が活発な時間帯
- 時間帯別活動パターン (hourlyActivityHeatmap):時間帯ごとの活動分布
- アプリ別使用時間チャート (appUsageTime):日別のアプリケーション使用状況
- スクロール量(方向別)の推移 (scrollEvents):スクロール量(Δ絶対値)を方向別に時系列で表示
図 6.3 週単位の活動推移チャート例
6.3.3 今月・先月
長期的な傾向を把握するため、複数種類のチャートが表示されます(日次集計が中心)。
- 総活動量サマリー (monthlySummary 等):期間内の合計値を表示
- 日次活動量の推移 (dailyActivityTrend):期間を通した活動量の変化を表示
- 活動時間の内訳 (activeIdleTimeBreakdown):長期間での平均的な稼働率
- キーカテゴリ別の内訳 (keyCategoryBreakdown):長期的なキー使用傾向
- クリック種別の内訳 (clickBreakdown):長期的なクリック傾向
- 日次活動量比較 (dailyComparison):日ごとの詳細比較(2日以上のデータが必要)
- 日次平均活動スコア (dailyActivityScore):日ごとの平均集中スコア(2日以上のデータが必要)
- 日次キーストローク数の推移 (dailyKeyStrokesTrend):長期的な入力量の変化(2日以上のデータが必要)
- ピーク時間帯 (peakHourChart):長期的に見て最も活動的な時間帯(3時間以上のデータが必要)
- 日次×時間帯別活動パターン (dailyHourlyActivityHeatmap):ヒートマップによる活動分布(3時間以上のデータが必要)
- アプリ別使用時間チャート (appUsageTime):日別のアプリケーション使用状況
- スクロール量(方向別)の推移 (scrollEvents):スクロール量(Δ絶対値)を方向別に時系列で表示
図 6.4 長期的な傾向分析チャート例
6.3.4 全期間
蓄積されたすべてのデータを俯瞰するため、複数種類のチャートが表示されます(週次・月次の集計が中心)。
- 全期間の総活動量サマリー (allTimeSummary):全期間の合計値を表示
- 月次活動量の推移 (monthlyActivityTrend):月ごとの活動量変化(2ヶ月以上のデータが必要)
- 週次活動量の推移 (weeklyActivityTrend):週ごとの活動量変化(2週以上のデータが必要)
- 全期間の活動時間の内訳 (activeIdleTimeBreakdown):長期的な平均稼働率
- キーカテゴリ別の内訳 (keyCategoryBreakdown):全期間のキー使用傾向
- クリック種別の内訳 (clickBreakdown):全期間のクリック傾向
- 月次活動量比較 (monthlyComparison):月ごとの詳細比較(2ヶ月以上のデータが必要)
- 全期間のピーク時間帯 (peakHourChart):全期間を通じて最も活動的な時間帯
- アプリ別使用時間チャート (appUsageTime):月別または週別のアプリケーション使用状況
- スクロール量(方向別)の推移 (scrollEvents):スクロール量(Δ絶対値)を方向別に時系列で表示
図 6.5 全期間の統計データ表示例
6.4 チャートレイアウトのカスタマイズ
統計画面のチャートは、ユーザーの好みに合わせて並べ替えや表示設定を変更できます。
- 並べ替え:各チャートの右上にある「☰(ハンバーガーメニュー)」アイコンをドラッグ&ドロップすることで、チャートの表示順序を直感的に変更できます。変更内容は自動的に保存されます。
- 表示・非表示の切り替え:設定画面(サイドメニュー「設定」)の「統計ページ設定」セクションから、不要なチャートを非表示にしたり、デフォルトの順序に戻したりすることができます。
動画 6.1 チャートの並べ替え(ドラッグ&ドロップ)
7. 集中セッション機能
7.1 集中セッションとは
集中セッション機能は、メインの常時記録とは別に、ユーザーが意図した区間だけを切り取って記録・分析するストップウォッチ機能です。
特定の作業やプロジェクトに集中している時間を計測し、その期間の活動データを詳細に分析できます。
集中セッションは、メインのモニタリングが有効な場合のみ開始できます。メインのモニタリングが停止すると、集中セッションも自動的に停止されます。
7.2 セッションの開始と停止
サイドバーの「⏱️ 集中セッション」ボタンをクリックして、集中セッション画面を開きます。
- タイトルを入力:セッションのタイトルを入力します(例:「プロジェクトAの作業」「午前中の集中時間」など)。
- 開始ボタンをクリック:セッションが開始され、ストップウォッチが動き始めます。
- 作業を行う:通常通りPC作業を行います。セッション中の活動データが記録されます。
- 停止ボタンをクリック:セッションを終了します。確認ダイアログが表示されるので、確認して停止します。
セッション実行中は、リアルタイムで経過時間や統計情報(キーストローク数、クリック数、アプリ使用状況など)が表示されます。
図 7.1 集中セッション画面(開始前の状態)
図 7.2 集中セッション画面(計測中の状態)
7.3 セッション履歴の閲覧
サイドバーの「📋 セッション履歴」ボタンをクリックして、過去の集中セッションの履歴を閲覧できます。
- 期間の指定:開始日と終了日を指定して、特定期間のセッションを表示できます。
- セッション一覧:各セッションのタイトル、開始時刻、終了時刻、経過時間、統計情報が一覧表示されます。
- セッション詳細:セッションを選択すると、詳細な統計情報を確認できます。
- PDF出力:セッション履歴画面の「PDF出力」ボタンをクリックすると、選択したセッションの詳細な統計レポートをPDF形式で出力できます。レポートには、セッションの基本情報、キーストローク数、クリック数、マウス移動距離、アプリ使用状況などの詳細な統計が含まれます。
図 7.3 集中セッション履歴一覧画面
図 7.4 集中セッション履歴詳細画面(チャート表示)
図 7.5 集中セッションPDF出力レポート(ブラウザ表示)
7.4 セッションの削除
セッション履歴画面で、不要になったセッションを削除できます。
- 削除したいセッションを選択します。
- 「削除」ボタンをクリックします。
- 確認ダイアログで確認して削除を実行します。
注意: セッションの削除は取り消せません。削除する前に、必要に応じてデータをエクスポートしてバックアップしておくことをお勧めします。
8. 設定画面
サイドメニューの「設定」ボタンをクリックすると、アプリケーションの詳細な設定を行えます。設定画面は以下のカテゴリーに分かれています。
図 8.1 設定画面の表示例
8.1 プライバシー設定
- データ収集の状態:
現在の監視状態(監視中/停止中)を表示します。これは実監視状態(`MonitoringService.IsMonitoring`)の表示専用で、ON/OFF切替機能ではありません。監視の開始/停止は左側のモニタリングパネルで操作してください。監視状態が変更されると、この表示も自動的に更新されます。
- 記録しないデータ:
プライバシー保護のため、キー入力内容や画面キャプチャ等は一切記録しないことを明記しています。
8.2 データのエクスポート・インポート
データのバックアップと移行を行います。2種類のエクスポート/インポート方法があります。
8.2.1 セッションデータのエクスポート・インポート
期間を指定してセッションデータのみをエクスポート/インポートします。
- エクスポート期間:
「全期間」または「日付指定」でデータを出力できます。
- データをエクスポート (📤):
指定した期間のセッションデータをJSON形式またはCSV形式で保存します。
- データをインポート (📥):
過去に保存したJSONファイルからセッションデータを復元(マージ・統合)します。
図 8.2 データのエクスポート・インポート画面(v1.0.3〜)
8.2.2 フォルダ全体のエクスポート・インポート
【v1.0.3〜追加】 Dataフォルダ全体をZIP形式でエクスポート/インポートします。セッションデータ、集中セッション、通知設定、通知履歴など、すべてのデータを含みます。
- 使い分け:
「PC移行/完全バックアップ(設定や通知履歴も含めたい)」ならこちら。特定期間の活動データだけ欲しい場合は 8.2.1 セッションデータのエクスポート を使ってください。
- 注意(個人情報):
ZIP内の
export-info.json には、復元・調査のために UserName/MachineName が含まれる場合があります。第三者へ渡す際は十分注意してください。
- 📦 フォルダ全体をエクスポート:
Dataフォルダ全体をZIP形式でエクスポートします。エクスポート日時、アプリバージョン、ライセンス状態などのメタデータも含まれます。
- 📥 フォルダ全体をインポート:
ZIPファイルからDataフォルダ全体をインポートします。インポート前にプレビューが表示され、インポートモードを選択できます。
推奨: アンインストール前にデータを保持したい場合は、「フォルダ全体をエクスポート」機能を使用してください。これにより、すべてのデータを1つのZIPファイルとしてバックアップできます。
8.3 データ管理
不要なデータの削除を行います。
- データ保持期間(日):
指定した日数より古いデータを自動的に削除します。0 以下で無効(デフォルトは 0)なので、初期状態では自動削除されません。必要に応じて日数を設定してください。
削除判定は基本的にセッションの開始日時を基準に行います(データが破損して読み込めない場合は、ファイル日時でベストエフォート判定します)。
- 期間を指定して削除 (🗑️):
「今日」「昨日」などのクイック選択や日付指定で、特定期間のデータを消去します。
- すべてのデータを削除 (🗑️):
全ての履歴データを完全に消去・リセットします。
図 8.3 データ管理画面(設定画面)
8.4 起動設定
- Windows起動時に自動起動:
PC自体の起動時に、アプリを自動的にバックグラウンドで立ち上げる設定です(推奨)。
この設定をONにすると、Windowsレジストリ(`HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run`)にアプリの実行ファイルパスが登録されます。MSIXパッケージ版でも動作します(`runFullTrust` capabilityが必要)。
- 登録確認ボタン:
「登録確認」ボタンをクリックすると、以下の情報が表示されます:
- 登録状態(有効/無効)
- レジストリに登録されているパス
- 現在の実行ファイルパス
- パスの一致/不一致
- 登録パスのファイル存在確認結果
この情報により、スタートアップ登録が正しく設定されているかを確認できます。
- 単一起動仕様:
アプリは同時に1つのインスタンスのみ起動可能です。既存インスタンスが起動中の場合、新しいインスタンスを起動しようとすると、既存インスタンスのウィンドウが前面に表示され、新しいインスタンスは終了します(Mutexを使用)。
- アプリを常駐させる(システムトレイ):
有効にすると、ウィンドウを閉じる(×ボタン)操作でもアプリは終了しません。代わりに、システムトレイに格納され、バックグラウンドで監視を継続します。
トレイアイコンのコンテキストメニューまたはダブルクリックで、アプリを表示/終了できます。
- トレイアイコンのコンテキストメニュー:
トレイアイコンを右クリックすると、「開く」「終了」のメニューが表示されます。
- ダブルクリックで開く:
トレイアイコンをダブルクリックすると、ウィンドウが復帰します。
- バルーンチップ通知:
初めてトレイに格納した際、アプリがバックグラウンドで実行中であることを示す通知が表示されます。
8.5 表示設定
- テーマ選択:
アプリ全体のデザイン(配色)を変更できます。
- 更新間隔(秒):
ダッシュボードの更新頻度を1~60秒の間で調整できます。
- リアルタイムダッシュボード設定:
集計期間モードを選択し、ダッシュボードに表示される数値の基準を変更できます。
- アプリ起動時 (PerLaunchMode):
アプリを起動してから現在までのデータのみを集計します。再起動すると数値はリセットされます。
(例:「今からの作業でどれくらいキーを打つか」など、作業セッションごとの計測に適しています)
- 今日0時から (DailyMode):
今日の午前0時から現在までのデータを合算して表示します。アプリを再起動しても数値は維持されます。
(例:「今日1日でトータルどれくらいPCを使ったか」など、日次の活動量把握に適しています)
- ダッシュボードコンポーネント表示設定:
ホーム画面(リアルタイムダッシュボード)に表示される各情報パネルのオン/オフを切り替えられます。
💡 ヒント:
設定画面だけでなく、ダッシュボード画面上で右クリックすることでも、表示項目の設定メニューを素早く呼び出すことができます。
図 8.4 表示設定画面
8.6 統計ページ設定
- チャートレイアウトのリセット:
統計画面の各チャートの表示・非表示や並び順を、デフォルト(アプリインストール時)の状態に戻すことができます。「今日」「今週」などの期間ごとにリセットボタンが用意されています。
8.7 アプリケーション情報
現在のバージョンや、実際にデータが保存されているフォルダのパス(場所)を確認できます。
8.8 ライセンス情報(試用版)
試用版のActCheckTrackerを使用している場合、設定画面の「ライセンス情報」セクションからライセンス状態を確認し、ライセンスを購入することができます。
図 8.6 ライセンス情報セクション(試用期間中 - 残り6日)
「ライセンス情報」セクションでは、以下を確認できます:
- ライセンス状態:試用期間中は「試用版」と表示されます
- 試用期間の情報:残り日数が表示されます(例:「試用期間中 (残り6日)」)
- 購入ボタン:試用期間中(有効または終了)は「購入する」ボタンが表示されます。このボタンをクリックすると、Microsoft Storeの購入ページが開きます。
ライセンス状態の確認方法
ライセンス状態を確認するには、以下の手順を実行してください:
- サイドバーメニューから「設定(⚙️ Settings)」を開きます。
- 「ライセンス情報」セクションまでスクロールします。
- このセクションに表示されている「ライセンス状態」と「ライセンス詳細」を確認します。
ライセンス情報は、設定画面を開くたびに自動的に更新されます。以下の情報が表示されます:
- ライセンス状態:
現在のライセンス状態を表示します:
- 試用版:現在、試用期間中です。
- 購入済み:ライセンスを購入済みです。
- 試用期間終了:試用期間が終了しました。
- ライセンス詳細:
ライセンスの詳細情報を表示します:
- 試用期間中の場合:「試用期間中(残り X 日)」と表示されます。
- 購入済みの場合:「すべての機能が利用可能です。」と表示されます。
- 試用期間終了の場合:「試用期間が終了しました。引き続きご利用いただく場合は、ライセンスのご購入をお願いいたします。」と表示されます。
ライセンス状態の自動更新:
ライセンス情報は、設定画面を開くたびに自動的に最新の状態に更新されます。これにより、ライセンスを購入した後や試用期間が終了した際も、常に最新のライセンス状態を確認できます。
試用期間中のライセンス購入方法
試用期間中に、アプリ内からライセンスを購入できます:
- サイドバーメニューから「設定(⚙️ Settings)」を開きます。
- 「ライセンス情報」セクションまでスクロールします。
- 試用期間中(有効または終了)の場合、このセクションに「購入する」ボタンが表示されます。
- 「購入する」ボタンをクリックします。
- 確認ダイアログが表示されます。メッセージを確認し、「はい、購入を続行する」をクリックして進みます。
- Microsoft Storeの購入ページが開きます。Storeページの指示に従って購入を完了してください。
- 購入が完了したら、アプリに戻ります。ライセンス状態が自動的に更新され、アプリを再起動する必要なく、すべての機能が利用可能になります。
注意:
- 「購入する」ボタンは、試用期間中(有効または終了)のみ表示されます。ライセンスを購入すると、このボタンは表示されなくなります。
- Microsoft Storeから直接ライセンスを購入した場合(アプリ外から購入)、次回インターネット接続がある状態でアプリを起動すると、購入が自動的に検知されます。
- ライセンスを購入した後は、設定画面の「ライセンス情報」セクションで購入状態を確認できます。状態が「試用版」から「購入済み」に変わっていることを確認してください。
試用期間中のネットワーク接続について
重要:試用版ではライセンス認証が必要です
ActCheckTrackerは通常の動作ではインターネット接続が不要な完全ローカルアプリとして設計されていますが、
試用版では、試用期間中にMicrosoft Storeとのライセンス認証が必要です(ライセンス状態の確認のため)。
- 試用期間中:
- アプリは起動のたびにMicrosoft Storeとライセンス認証を実施し、試用期間の終了日時と残り日数を確認します。
- インターネット接続がある場合、Store APIによる認証結果に基づいて正確な残り日数が表示されます。
- インターネット接続がない場合、最後に取得したライセンス状態とローカルに保存された試用期間開始日時を使用して、残り日数を推定表示します。
- 購入後:
- アプリ内からライセンスを購入した場合、購入状態がすぐにローカルに保存され、アプリを再起動しなくてもすぐにすべての機能が利用可能になります。
- Microsoft Storeから直接ライセンスを購入した場合(アプリ外から購入)、次回起動時にMicrosoft Storeと認証を行い、購入状態を確認します。
- 重要:Microsoft Storeから購入後、初回起動時にインターネット接続がない場合、アプリは一時的に試用版として動作します。インターネットに接続してMicrosoft Storeと認証が完了すると、購入が検知され、正規版機能に切り替わります。
- 購入状態が確認され、ローカルに保存されると、アプリはインターネット接続を一切必要とせず、完全にオフラインで動作します。
試用期間終了時の動作
試用期間が終了した後にアプリを起動した場合(まだライセンスを購入していない場合)、ライセンスの購入を促すダイアログボックスが表示されます:
図 8.7 試用期間終了ダイアログ(試用期間終了後にアプリを起動した際)
ダイアログには以下の内容が表示されます:
- 試用期間中のご利用への感謝のメッセージ
- 試用期間が終了したことの通知
- 引き続きアプリをご利用いただく場合はライセンスのご購入をお願いする旨
- 2つのボタン:「購入する」(購入を進める)または「終了」(アプリを閉じる)
「購入する」をクリックすると、確認ダイアログが表示され、その後Microsoft Storeの購入ページが開きます。「終了」をクリックすると、アプリが閉じます。
試用期間中のオフライン時の動作
試用期間中にオフラインの場合、アプリは以下のように動作します:
- 初回起動時(オフライン):
- インターネット接続がない状態で初めてアプリを起動した場合、暫定的に7日間の試用期間があるものとして動作します。
- 実際の試用期間は、次回インターネット接続がある状態でアプリを起動した際に確認されます。
- 試用期間中(オフライン):
- 以前にインターネット接続がある状態でアプリを起動し、試用期間が確認されている場合、アプリはローカルに保存された試用期間開始日時から残り日数を計算します。
- この計算に基づいて、オフラインでもアプリを継続して使用できます。
- 試用期間終了後(オフライン):
- 試用期間が終了している場合(以前のオンラインセッションで確認済み)、オフラインでもアプリは使用できません。
推奨事項:
正確な試用期間管理のため、試用期間中は少なくとも1回はインターネットに接続することをお勧めします。
購入後は、制限なく完全にオフラインでアプリを使用できます。
試用版の機能制限
試用版では、正式版と比較して以下の機能が制限されています:
- 統計画面:「今日」の期間のみ利用可能。その他の期間(昨日、今週など)は選択できません。
- テーマ選択:デフォルトテーマのみ利用可能です。
- データエクスポート:データエクスポート機能は利用できません。
- データ削除:データ削除機能(全削除、期間指定削除)は利用できません。
- 集中セッション:集中セッション機能は利用できません。
- 集中セッション履歴:集中セッション履歴の表示は利用できません。
- 通知設定:カスタム通知条件の追加はできません。標準の通知プリセットのみ利用可能です。
購入で全機能を利用可能に:
ライセンスを購入することで、すべての制限が解除され、すべての機能が利用可能になります。購入はMicrosoft Storeを通じて処理され、完了後、アプリを再起動する必要なく、すぐにすべての機能が利用可能になります。
8.9 通知設定
「状況通知(スマート通知)」の動作を詳細に設定できます。
自分の作業スタイルに合わせて、どのようなタイミングで通知を受け取るかをカスタマイズしましょう。
図 8.5 通知設定画面
全般設定
- 通知の有効化:
機能全体のON/OFFを切り替えます。一時的に集中したい場合はオフにしてください。
- 1時間あたりの最大通知数:
通知が頻繁すぎて作業の妨げにならないよう、1時間あたりに表示される通知の上限回数を設定できます(デフォルトは100回)。上限を超えた通知はスキップされます。
通知条件の詳細設定(条件の追加・編集)
「ルールの追加」または既存ルールの「編集」ボタンをクリックすると、条件設定ダイアログが開きます。
ここで「どのようなときに通知するか」を細かく定義できます。
① 条件タイプ(メトリック)の種類
通知の基準となる測定値には、大きく分けて「累積型」と「時間型」の2種類があります。
| タイプ |
説明 |
具体例 |
累積型 (数・距離) |
キー入力数、クリック数、マウス移動距離など、「回数や量」が一定値を超えたときに通知します。
|
「今日のキー入力が10,000回を超えたら通知」
「マウス移動距離が1kmを超えたら通知」
|
時間型 (時間・期間) |
連続作業時間やアクティブ時間など、「時間の長さ」が条件を満たしたときに通知します。休憩の目安に最適です。
|
「2時間連続で作業したら通知」
(15分以上の操作なしでリセットされます)
|
② 時間範囲(スコープ)の設定
その条件を「どの期間」で集計するかを指定します。
- 今日 (Today):今日の0時からの合計値で判定します(日次の目標管理などに)。
- 現在のセッション (Session):アプリを起動してからの(または集中セッション中の)合計値で判定します(作業区切りの管理に)。
③ しきい値(目標値)
通知を行う具体的な数値を入力します。
・数・スコア:そのままの数値(例:10000)
・時間:秒単位(例:1時間なら 3600)
・距離:ピクセル単位(例:1kmなら 約1,000,000)
ヒント: 設定した条件はいつでもON/OFF可能です。最初は「プリセット」で一般的なルールを一括追加し、慣れてきたら自分専用のルールに微調整することをお勧めします。
8.10 通知プリセット(おすすめセット)
「一つずつ設定するのが面倒」という場合は、プリセット機能を使用してください。
「健康管理」「生産性アップ」など、目的に合わせた推奨設定を一括で適用できます。
図 8.6 通知プリセット選択画面
- プリセットの選択:
リストから好みのセットを選択すると、右側に含まれる条件の内容が表示されます。
- 適用方法:
「現在の設定に追加(マージ)」するか、「現在の設定をすべて消去して置き換え」するかを選べます。
9. データ管理
9.1 データのエクスポート(バックアップ)
活動データを手動でバックアップしたり、別のPCへ移行するためにデータをJSON形式で書き出すことができます。
- メイン画面右上の「設定(歯車アイコン)」をクリックして設定画面を開きます。
- 左側のメニューから「データ管理」を選択します。
- 「データのエクスポート」セクションにある「期間を選択」ドロップダウンから、書き出したい期間(全期間、今年、今月など)を選びます。
- 「エクスポート」ボタンをクリックし、保存先とファイル名を指定して保存します。
エクスポートされるファイルの内容
出力されるJSONファイルには、以下の詳細情報が含まれます。
- メタデータ (Metadata):
ExportDate:エクスポート実行日時(UTC)
StartDate / EndDate:対象期間
SessionCount:含まれるセッション数
- ソース情報 (ExportSource):データの出所を特定するための情報
UserName:Windowsユーザー名(トラブルシューティング用)
MachineName:PCのマシン名
DeviceId:匿名化されたデバイスID
Timezone:タイムゾーン情報(例:Tokyo Standard Time)
AppVersion:アプリのバージョン
- セッションデータ (Sessions):
- 指定期間内の全ての活動記録(1分単位の詳細データ)
注意: エクスポートファイルには、データ復元時の整合性チェックのために「ユーザー名」や「マシン名」が含まれます。
このファイルを第三者に渡す際は、個人情報の取り扱いにご注意ください。
9.1.2 フォルダ全体のエクスポート(バックアップ)
【v1.0.3〜】 Dataフォルダ全体をZIP形式でエクスポートします。セッションデータ、集中セッション、通知設定、通知履歴など、すべてのデータを含みます。
- 設定画面の「データのエクスポート・インポート」セクションを開きます。
- 「📦 フォルダ全体をエクスポート」ボタンをクリックします。
- 保存先とファイル名を指定して保存します(デフォルト:
ActCheckTracker_Data_Backup_YYYYMMDD_HHMMSS.zip)。
エクスポートされるZIPファイルの内容
ZIPファイルには、以下の内容が含まれます:
- export-info.json:エクスポート情報のメタデータ
exportDate:エクスポート実行日時(UTC)
appVersion:アプリのバージョン(例:1.0.3.0)
baseDirectory:エクスポート元のベースディレクトリパス
isTrialBuild:試用版ビルドかどうか
isTrialMode:試用版モードかどうか
isLicenseValid:ライセンスが有効かどうか
deviceId:匿名化されたデバイスID
userName:Windowsユーザー名
machineName:PCのマシン名
timezone:タイムゾーン情報
dataStructure:データ構造情報(セッション数、年フォルダなど)
- Dataフォルダの全内容:
sessions/:セッションファイル(*.json)
FocusSessions/:集中セッションファイル(*.json)
Settings/:通知設定ファイル(notification-settings.json、notification-set-selection.json、NotificationSets/*.json)
Notifications/:通知履歴ファイル(notification-records.json)
.device-id:デバイスIDファイル
{年}/:年フォルダ(例:2025/)
{年}/{月}/:月フォルダ(例:2025/12/)
{年}/{月}/{yyyy-MM-dd}.json:日次データファイル
注意: フォルダエクスポートには、レイアウト設定(dashboard-layout.json、chart-layout.json)は含まれません。これらはUIの表示設定であり、データ復元には不要なためです。
9.2 データのインポート(復元)
手動でバックアップしたJSONファイルを読み込み、活動データを復元します。
インポート機能は単なるコピーではありません。データの重複を賢く処理し、壊れたデータを修復する高度なロジックが組み込まれています。
- 設定画面の「データ管理」を開き、「ファイルを選択してインポート」ボタンをクリックします。
- 対象のJSONファイルを選択すると、まず「インポートプレビュー」が表示されます。
- ここで、ファイル内のセッション数、期間、既存データとの重複状況などを事前に確認できます。
- インポートモードを選択して実行します。
セッションデータのインポートでは、以下の5つのモードから選択できます:
マージ (Merge) (推奨)
|
既存データを保持し、新規データのみ追加します。
同じセッションIDが既に存在する場合、既存データを優先してインポートデータをスキップします。
重複するTimeSlotは自動的に統合され、データの整合性が保たれます。
|
|
上書き (Overwrite)
|
インポートするデータを優先します。
同じセッションIDが既に存在する場合、既存データをインポートデータで強制的に書き換えます。
バックアップからの完全復旧時などに使用します。
|
|
スキップ (Skip)
|
既存データがある場合はスキップします。
同じセッションIDが既に存在する場合、そのセッションはインポートされません。
新規データのみを追加したい場合に使用します。
|
|
新しいデータのみマージ (MergeIfNewer)
|
インポートするセッションの方が新しい場合のみ上書きします。
セッションの開始日時を比較し、インポートデータの方が新しい場合のみ既存データを上書きします。
古いデータで上書きされることを防ぎたい場合に使用します。
|
|
データが異なる場合のみマージ (MergeIfDifferent)
|
既存データと異なる場合のみ上書きします。
セッションの内容(TimeSlot、統計情報など)を比較し、異なる場合のみ既存データを上書きします。
データの差分のみを反映したい場合に使用します。
|
重要(混在防止のための仕様):
インポート中は監視(記録)を一時停止します。監視がONだった場合、インポート前に現在のセッションを明示的に終了(EndTimeを設定)し、メモリ上のバッファも保存してからインポートを実行します。
インポート完了後は、データが混ざらないように新しいセッションIDで監視を再開します。
インポートされた日時は内部的にUTC(ISO 8601、Z付き)として正規化されます。リアルタイムダッシュボードが「アプリ起動時から(PerLaunchMode)」の場合、再開後は表示がリセットされます。同じバックアップを複数回インポートした場合、同内容のセッションは重複防止のため自動でスキップされることがあります。
インポート時の自動最適化プロセス:
インポート実行中、アプリはデータの単純コピーだけでなく、以下の最適化を自動で行います。
- データの統合 (Consolidate):1分未満の細かい重複データなどがあれば、それらをきれいに整理・統合して保存します。
- 整合性チェック:インポート完了後、直ちにデータ全体の健康診断(整合性チェック)が走り、矛盾がないかを確認・修復します。
- 高速かつ限定的な既存チェック:まずセッションファイルの存在を一括確認し、見つからない場合だけ開始/終了時刻やTimeSlotの日付+前後3日を対象に日次ファイルを探索します(日時が無い場合は直近180日まで、最大365日で安全上限)。ストリーミング読み込みバッファは1MBに拡大しており、パースが安定します。
- 日次保存エラーの集計表示:セッションファイル保存を最優先し、日次保存に失敗した場合は自動リトライ(3回、指数バックオフ)のうえ、件数と先頭数件を結果ダイアログに表示します。後続の整合性チェックや再保存で復旧可能です。
9.2.2 フォルダ全体のインポート(復元)
【v1.0.3〜】 ZIPファイルからDataフォルダ全体をインポートします。インポート前にプレビューが表示され、インポートモードを選択できます。
- 設定画面の「データのエクスポート・インポート」セクションを開きます。
- 「📥 フォルダ全体をインポート」ボタンをクリックします。
- ZIPファイルを選択すると、まず「インポートプレビュー」が表示されます。
- エクスポート日時、アプリバージョン、セッション数などの情報が表示されます。
- エクスポート時と現在でライセンス状態が異なる場合、警告が表示されます(データは正常にインポートできます)。
- 集中セッションデータが含まれているが、現在が試用版の場合、警告が表示されます。
- インポートモードを選択して実行します。
フォルダ全体のインポートでは、以下の3つのモードから選択できます:
図 9.1 フォルダ全体のインポート:インポートモード選択
マージ (Merge) (推奨)
|
既存データを保持し、新規データのみ追加します。
セッションデータ:同じセッションIDが既に存在する場合、既存データを優先してインポートデータをスキップします。新規セッションのみ追加されます。
集中セッション:既存の集中セッションIDがある場合、スキップします。
設定ファイル:既存の設定ファイルがある場合、スキップします。
年フォルダ:既存の年フォルダがある場合、その中身をマージします。
|
|
上書き (Overwrite)
|
インポートするデータを優先します。
セッションデータ:同じセッションIDが既に存在する場合、既存データをインポートデータで強制的に書き換えます。
集中セッション:既存の集中セッションIDがある場合、上書きします。
設定ファイル:既存の設定ファイルがある場合、上書きします。
年フォルダ:既存の年フォルダがある場合、その中身を上書きします。
注意:既存データが失われる可能性があるため、使用前にバックアップを推奨します。
|
|
スキップ (Skip)
|
既存データがある場合はスキップします。
セッションデータ:同じセッションIDが既に存在する場合、そのセッションはインポートされません。
集中セッション:既存の集中セッションIDがある場合、スキップします。
設定ファイル:既存の設定ファイルがある場合、スキップします。
年フォルダ:既存の年フォルダがある場合、その年フォルダ全体をスキップします。
新規データのみを追加したい場合に使用します。
|
- インポートが完了すると、結果が表示されます。
- インポートされたセッション数、集中セッション数、年フォルダ数が表示されます。
- エラーが発生した場合、エラー内容と件数が表示されます。
バックアップと「元に戻す」について(全モード共通):
フォルダ全体インポートの前に、既存のDataフォルダは自動的に一時ディレクトリ(例:%TEMP%\ActCheckTracker_Data_Backup_YYYYMMDD_HHMMSS\)へバックアップされます。
バックアップは成功/失敗に関わらず保持され、インポート結果表示後に「元に戻す(バックアップから復元)」確認ダイアログが表示されます。
「元に戻さない」を選べばインポート結果を維持できます(バックアップは保持されたままです)。
インポート時の自動処理:
フォルダ全体のインポートでは、以下の自動処理が実行されます:
- データの統合:重複するTimeSlotは自動的に統合されます。
- 保存時バリデーション:各セッションの保存時にデータ検証(セッション検証、TimeSlot整合性チェック)が実行されます。追加の整合性チェックは実行されませんが、必要に応じてアプリ起動時の自動整合性チェックや手動操作で回復できます。
- セッションファイルの優先保存:セッションファイルの保存を最優先し、日次ファイルの保存に失敗した場合は自動リトライ(3回、指数バックオフ)が実行されます。
ライセンス状態の違いについて:
エクスポート時と現在でライセンス状態が異なる場合(例:エクスポート時は試用版、現在は購入済み、またはその逆)、データは正常にインポートできます。
データ構造は試用版と正式版で同一のため、互換性があります。ただし、試用版で制限されている機能(集中セッションなど)のデータが含まれている場合、試用版では表示できない場合があります。
9.3 データの削除
不要になったデータを手動で削除できます。特定の期間だけを消すことも、全てリセットすることも可能です。
- 期間指定削除:
- 「データの削除」セクションで、削除したい期間の開始日と終了日を選択します。
- 「指定期間のデータを削除」ボタンをクリックします。
- 全データ削除:
- 「全データを削除」ボタンをクリックします。
- 確認ダイアログが表示されるので、十分に注意して実行してください。この操作は取り消せません。
9.4 データ保持期間の設定
古いデータを自動的に削除して、ディスク容量を節約することができます。0 以下を指定すると自動削除は無効になり、デフォルト値も 0 です(安全運用のための初期設定)。
- 「データ保持期間」セクションのドロップダウンリストから、希望する期間を選択します(例:3ヶ月、6ヶ月、1年、無期限)。
- 設定を変更すると、次回起動時または日が変わるタイミングで、期限切れの古いデータがバックグラウンドで自動的に削除されます。
補足: 自動削除は、主にセッションファイルや日次データなどの「活動データ」を対象にします。削除判定は基本的にセッション開始日時を基準に行います。
9.5 データ自動修復システム
ActCheckTrackerは、大切な活動データを予期せぬトラブルから守るため、バックグラウンドで常にデータの健康状態を監視・維持しています。
ここでは、このシステムが「いつ」「何を」しているのかを少し詳しく解説します。
実行タイミング
以下の3つのタイミングで自動的にチェックと修復が行われます。
- アプリ起動時:
- まず直近1ヶ月分のデータを高速チェックします。
- もし異常(終了処理が正しく行われなかった形跡など)が見つかれば、過去の全データに対して詳細なスキャンを実行します。
- データインポート時:
- 外部から取り込んだデータが正しい形式か、既存データと矛盾しないかをチェックし、必要に応じて整合性を取ります。
- アプリ終了時:
- メモリ上の最新データを書き込む際、万が一書き込みエラーが発生してもデータが破損しないよう、安全な保存プロセスを経て終了します。
具体的な修復プロセス
システムは「セッションファイル(詳細)」と「日次ファイル(集計)」の2つを常に比較し、矛盾があれば正しい方へ合わせます。
-
欠損ファイルの復元
「日次ファイルはあるが、元となるセッションファイルが消えている」場合、日次ファイルからセッション情報を逆算して復元します。
逆に「セッションファイルはあるが、日次ファイルがない」場合、セッションファイルを再集計して日次ファイルを作り直します。
-
破損データへの対応
破損して読み込めないファイル(例:JSONの読み取りエラー)が検出された場合、エラーとして記録し、可能な範囲で他の正常データ(日次データ)から復元を試みます。復元に成功した場合は、セッションファイルを再保存(上書き)します。
※現行実装では、破損ファイルを別フォルダへ「隔離(退避)」する処理は行っていません。
9.6 データの仕組み(ファイル構造)
「自分のデータがどこに、どのように保存されているか」を知ることは、安心感につながります。
ActCheckTrackerは、ユーザーのローカルフォルダ内に、以下の構造でデータを保存しています。
- Microsoft Store版(MSIX)の場合:
C:\Users\[ユーザー名]\AppData\Local\Packages\[パッケージ名]_[ランダム文字列]\LocalState\ActCheckTracker\Data
- 通常のデスクトップアプリ版の場合:
C:\Users\[ユーザー名]\AppData\Local\ActCheckTracker\Data
フォルダ構造の概要
Data/
├── 📁 sessions/ ... (詳細な記録)
│ ├── session-20251208-001.json
│ ├── session-20251208-002.json
│ └── ...
├── 📁 FocusSessions/ ... (集中セッション)
│ ├── focus-session-{SessionId}.json
│ └── ...
├── 📁 Notifications/ ... (通知履歴)
│ └── notification-records.json
├── 📁 Settings/ ... (通知設定など)
│ ├── notification-settings.json
│ ├── notification-set-selection.json
│ └── 📁 NotificationSets/ ...
│ └── notification-set-*.json
└── 📁 2025/ ... (年ごとの整理フォルダ)
└── 📁 12/ ... (月ごとの整理フォルダ)
├── 2025-12-07.json ... (1日分の集計)
├── 2025-12-08.json
└── ...
3種類のファイルの役割
セッションファイル (session-*.json) |
アプリを「起動してから終了するまで」の1回の作業単位の記録です。
1分ごとの詳細なデータ(キー入力数、マウス移動など)がそのまま記録されています。
役割:詳細な分析や、データのバックアップ元としての役割を果たします。
|
日次データファイル (yyyy-MM-dd.json) |
その日の全てのセッションをまとめた「1日分のアルバム」です。
セッションファイルから自動的に生成・更新されます。
役割:統計画面で「今週」や「今月」のグラフを高速に表示するために使用されます。
|
集中セッションファイル (focus-session-*.json) |
ユーザーが意図した区間(集中セッション)の記録です。
メインの常時記録とは独立して保存され、セッションごとに個別のJSONファイルとして保存されます。
役割:特定の作業やプロジェクトに集中していた時間を詳細に分析するために使用されます。
|
プライバシーの再確認:
どちらのファイルも、中身はテキスト形式(JSON)で保存されていますが、
「キーボードで打った文字の内容」や「閲覧したファイル名」などは一切含まれていません。
記録されているのは「aキーを○回押した」「マウスを○ピクセル動かした」といった数値データのみです。
JSONファイルの構造(詳しい方向け)
データファイル(JSON)は、主に以下の3つのパートで構成されています。
-
メタデータ (Metadata)
データのバージョンや作成日時、デバイスID(匿名化済み)などの管理情報です。
-
セッション情報 (Session / Sessions)
いつからいつまで起動していたかという時間情報と、その間の活動データの本体です。
-
統計データ (Statistics)
- Keyboard: 総打鍵数、キーの種類別回数(文字キー、エンターキー等)
- Mouse: クリック数、移動距離、スクロール量
- Activity: アプリが独自に算出した「活動スコア」や集中度の推移
10. プライバシーとセキュリティ
10.1 記録される情報
ActCheckTrackerが記録する情報は、アクティビティの「量」と「傾向」に厳密に限定されます。
- 統計データ:
- キーボード:総打鍵数、キーカテゴリ別割合(文字キー、エンターキー等)、入力速度
- マウス:クリック数、移動距離、スクロール量
- 時間:アクティブ時間、アイドル時間、活動スコア
- アプリケーション名(プロセス名):操作を行ったアプリケーションのプロセス名(例:chrome、notepad、visualstudioなど)
- システム情報(通常時):
- デバイスID:PC固有情報をハッシュ化(不可逆変換)した匿名ID
- アプリバージョン、タイムゾーン
アプリケーション名の記録について:
アプリケーション名(プロセス名)は、どのアプリで作業を行ったかを把握するために記録されます。
記録されるのはプロセス名のみで、ウィンドウタイトル、ファイル名、URL、アプリケーションの内容などは一切記録されません。
データ取得方法について:
本アプリは、Windows
API(SetWindowsHookEx、GetForegroundWindow、GetWindowThreadProcessIdなど)を使用して、キーボードとマウスの操作を監視し、アクティブなアプリケーションのプロセス名を取得します。
これらのAPIは、Windows OSが提供する標準的な機能であり、システムレベルでの監視を可能にします。すべての処理はユーザーのPC内で完結し、外部への通信は一切行いません。
【重要】バックアップ(エクスポート)データに含まれる情報
機能「データのエクスポート」で生成されるJSONファイルには、データの復元やトラブルシューティングを目的として、例外的に以下の情報が含まれます。
| 項目 |
内容 |
目的 |
| UserName |
Windowsのログインユーザー名 |
所有者の特定、権限エラー時の調査 |
| MachineName |
PCのコンピューター名 |
複数PC利用時のデータの区別 |
プライバシー警告:
エクスポートしたJSONファイルには、上記のような個人を特定しうる情報(平文)が含まれます。
このファイルをインターネット上で公開したり、信頼できない第三者に渡したりしないよう十分ご注意ください。
10.2 記録されない情報
ユーザーのプライバシーを侵害する可能性のある情報は、技術的に一切取得・記録していません。
- ❌ キー入力の内容:どの文字を打ったか(パスワード、メッセージ本文など)は記録されません。記録されるのは「文字キーを1回押した」という事実のみです。
- ❌ 画面の内容:スクリーンショット、ウィンドウタイトル、閲覧中のファイル名、ブラウザのURLなどは一切取得していません。
- ❌ クリップボード:コピー&ペーストした内容は記録されません。
- ❌ カメラ・マイク:一切アクセスしません。
10.3 データの保存場所
全てのデータは、あなたのPC内の以下のローカルフォルダにのみ保存されます。
- Microsoft Store版(MSIX)の場合:
C:\Users\[ユーザー名]\AppData\Local\Packages\[パッケージ名]_[ランダム文字列]\LocalState\ActCheckTracker\Data
- 通常のデスクトップアプリ版の場合:
C:\Users\[ユーザー名]\AppData\Local\ActCheckTracker\Data
どちらの環境でも、ベースディレクトリ直下にActCheckTrackerフォルダを作成し、その中にData、Settings、Logsサブディレクトリを配置します。
ActCheckTrackerには、データを外部サーバーやクラウドに送信する機能は一切ありません。あなたのデータは、あなたのPCの中にだけ存在します。
10.4 データの保護
ActCheckTrackerは「オフライン・ファースト」の設計思想で作られています。
インターネット接続を必要とせず(ストアの更新確認を除く)、外部からのアクセスを受け付けるポートも開放しません。
これにより、ネットワーク経由での情報漏洩リスクを最小限に抑えています。
10.5 セキュリティソフトとの競合について
本アプリは、キーボードとマウスの操作を監視するために低レベルフック(Windows API)を使用しているため、一部のセキュリティソフト(アンチウイルス、Windows
Defenderなど)が警告を表示する場合があります。
セキュリティソフトによる警告について:
- 本アプリは、キーロガーやスパイウェアと誤検知される可能性があります。これは、キーボード入力を監視する技術を使用しているためです。
- 本アプリは、入力された文字の内容を記録しません。記録されるのは「キーを押した回数」などの統計情報のみです。
- 本アプリは、データを外部に送信することは一切ありません。すべてのデータはユーザーのPC内にのみ保存されます。
セキュリティソフトが警告を表示した場合、以下の対処方法をご確認ください:
- Windows Defenderの場合:
- 「Windows セキュリティ」を開き、「ウイルスと脅威の防止」を選択します。
- 「ウイルスと脅威の防止の設定」の「設定の管理」をクリックします。
- 「除外」セクションで「除外の追加または削除」を選択し、ActCheckTrackerのインストールフォルダまたは実行ファイルを除外リストに追加します。
- その他のセキュリティソフトの場合:
- 各セキュリティソフトの設定画面で、ActCheckTrackerを「信頼できるアプリケーション」または「除外リスト」に追加してください。
- 具体的な手順は、各セキュリティソフトのマニュアルまたはサポートページをご確認ください。
注意: セキュリティソフトの除外設定を行う際は、本アプリが信頼できるソフトウェアであることを確認した上で行ってください。Microsoft
Storeから入手したアプリケーションは、Microsoftによる審査を通過した安全なアプリケーションです。
10.6 システム要件と注意事項
- 管理者権限:本アプリは、通常のユーザー権限で動作します。管理者権限は必要ありません(ただし、一部の環境では初回起動時にUAC(ユーザーアカウント制御)の確認が表示される場合があります)。
- システムへの影響:本アプリは、低レベルフックを使用するため、システムのパフォーマンスにわずかな影響を与える可能性があります。通常の使用環境では、影響はほとんど感じられません。
- 他のアプリケーションとの競合:他のキーボード・マウス監視アプリケーションや、同様の機能を持つアプリケーションと同時に使用すると、競合が発生する可能性があります。
- ゲームやフルスクリーンアプリケーション:一部のゲームやフルスクリーンアプリケーションでは、低レベルフックが正常に動作しない場合があります。
- 会社・組織のPC:企業向けセキュリティ(EDR)や管理ポリシーにより、入力監視(低レベルフック)やWebView2が制限され、警告・起動失敗・記録不可になる場合があります。その場合はPC管理者へ許可を依頼してください。
- 仮想マシン環境:仮想マシン(VMware、VirtualBoxなど)内での動作は、ホストOSの設定によっては制限される場合があります。
11. トラブルシューティング
11.1 データが記録されない・表示されない
- アプリが起動しているか確認する:タスクバーにアプリが表示されているか確認してください。誤って閉じてしまった場合は、スタートメニューから再度起動してください。
- 画面の更新について:ダッシュボードは通常、自動的にリアルタイム更新されます。もし数値が止まったままの場合は、一度左側メニューから「統計」など別の画面に切り替えてから、再度「リアルタイム」に戻ってみてください。
- アプリを再起動する:一時的な不具合の場合、アプリを再起動すると解消することがあります。起動時には自動的にデータ修復プロセスも実行されます。
11.2 エクスポート/インポートができない
- アクセス権限の確認:保存先や読み込み元のフォルダに対して、書き込み/読み込み権限があるか確認してください(デスクトップやドキュメントフォルダを使用することをお勧めします)。
- ファイル形式の確認:インポートしようとしているファイルが、ActCheckTrackerでエクスポートされた正しいJSONファイルか確認してください。手動で編集されたファイルは読み込めない場合があります。
11.3 セキュリティソフトが警告を表示する
本アプリは、キーボードとマウスの操作を監視するために低レベルフックを使用しているため、セキュリティソフトが警告を表示する場合があります。
- 警告の意味:セキュリティソフトは、キーボード入力を監視するアプリケーションを「キーロガー」や「スパイウェア」として検出する可能性があります。これは誤検知です。本アプリは入力内容を記録せず、統計情報のみを記録します。
- 対処方法:
- Windows Defenderの場合:「Windows セキュリティ」→「ウイルスと脅威の防止」→「設定の管理」→「除外」で、ActCheckTrackerを除外リストに追加してください。
- その他のセキュリティソフトの場合:各ソフトの設定画面で、ActCheckTrackerを「信頼できるアプリケーション」または「除外リスト」に追加してください。
- 注意:Microsoft
Storeから入手したアプリケーションは、Microsoftによる審査を通過した安全なアプリケーションです。信頼できるソフトウェアであることを確認した上で、除外設定を行ってください。
11.4 アプリが正常に動作しない
- 他の監視アプリとの競合:他のキーボード・マウス監視アプリケーションと同時に使用すると、競合が発生する可能性があります。他の監視アプリを終了してから、本アプリを再起動してください。
- ゲームやフルスクリーンアプリでの動作:一部のゲームやフルスクリーンアプリケーションでは、低レベルフックが正常に動作しない場合があります。これは、これらのアプリケーションが独自の入力処理を行っているためです。
- 仮想マシン環境:仮想マシン内での動作は、ホストOSの設定によっては制限される場合があります。
12. よくある質問 (FAQ)
Q. PCを買い替えた場合、データを新しいPCに移行(移植)できますか?
はい、可能です。
古いPCで「データのエクスポート」を行い、出力されたJSONファイルを新しいPCに移してから、「データのインポート」を行ってください。
これにより、過去の活動記録を新しいPC上で継続して閲覧・管理することができます。インポートモードで「追加・更新(マージ)」を選べば、新しいPCの既存データと過去データがきれいに統合されます。
Q. データはクラウドにバックアップされますか?
いいえ。
ActCheckTrackerはプライバシー重視の設計となっており、データを勝手に外部サーバーやクラウドへ送信することはありません。
バックアップが必要な場合は、定期的に「データのエクスポート」を行い、そのファイルをUSBメモリやご自身のクラウドストレージ(OneDrive/GoogleDriveなど)に保存してください。
Q. アプリを削除(アンインストール)するとデータはどうなりますか?
MSIX版(Microsoft Store版)の場合、アンインストール時にLocalStateフォルダ全体が削除されるため、すべてのデータが失われます。
アンインストール時に削除されるデータ:
- Microsoft Store版(MSIX)の場合:
C:\Users\[ユーザー名]\AppData\Local\Packages\[パッケージ名]_[ランダム文字列]\LocalState\ActCheckTracker 配下のすべてのデータが削除されます
- 活動データ(セッション、統計情報など)
- 設定ファイル(テーマ、通知設定など)
- ログファイル
- 通常のデスクトップアプリ版の場合:
- Windowsの仕様により、一部のデータファイルが残る可能性がありますが、基本的には削除されると考えてください
重要:アンインストール前に、必ず「データのエクスポート」機能を使用して重要なデータをバックアップしてください(フルバージョンで利用可能)。
エクスポートしたデータは、後で「データのインポート」機能を使用して復元できます。
Q. 動作が重く感じるのですが?
長期間使用してデータが大量に蓄積されると、集計に時間がかかる場合があります。
「設定」>「データ管理」から「データ保持期間」を設定し、不要な古いデータを自動削除するようにするか、手動で過去のデータを削除して動作を軽量化してください。
12.4 ライセンス・試用版について
Q. 試用期間中、なぜインターネット接続が必要なのですか?
試用版では、アプリ起動時にMicrosoft Storeとライセンス認証を行う必要があるためです。
ActCheckTrackerは完全オフラインアプリとして設計されていますが、試用期間中は、残り日数を確認するためにMicrosoft Storeとライセンス状態を認証する必要があります。
ライセンスを購入すると、インターネット接続は不要になり、完全にオフラインで動作します。
Q. 試用期間中、オフラインでアプリが起動できないのですが、どうすればよいですか?
以前にインターネット接続がある状態でアプリを起動していれば、オフラインでも動作するはずです。
インターネット接続がない状態で初めてアプリを起動した場合、暫定的にアプリを使用できます(7日間の試用期間として扱われます)。実際の試用期間は、次回インターネット接続がある状態でアプリを起動した際に確認されます。
以前にオンラインで試用期間中であることを確認している場合、アプリはローカルに保存された試用期間開始日時から残り日数を計算するため、オフラインでも動作するはずです。
試用期間が終了している場合(以前のオンラインセッションで確認済み)、オフラインでもアプリは起動しません。
推奨事項:正確なライセンス認証のため、試用期間中は少なくとも1回はインターネットに接続してください。購入後は、完全にオフラインでアプリを使用できます。
Q. ライセンスを購入したのに、まだ機能が制限されています。どうすればよいですか?
ライセンス情報を更新するか、アプリを再起動してください。
ライセンスを購入すると、アプリを再起動しなくてもすぐにすべての機能が利用可能になるはずです。しかし、まだ機能が制限されている場合は、以下を試してください:
- 「設定」>「ライセンス情報」セクションを開き、ライセンス状態が自動的に更新されるまで少し待ちます。
- 状態がまだ「試用版」と表示されている場合、アプリを閉じて再起動し、ライセンス状態を再読み込みします。
- 問題が解決しない場合、Microsoft Storeアカウントを確認し、購入が正常に完了したことを確認してください。
これらの手順でも解決しない場合、Microsoft Storeのライセンス同期に一時的な問題がある可能性があります。しばらく時間をおいてから再度お試しください。
Q. 表示されている試用期間の残り日数が正確でないのですが、なぜですか?
オフライン時、または以前のライセンス認証でエラーがあった場合に発生する可能性があります。
オフライン時、アプリはローカルに保存された試用期間開始日時から残り日数を推定表示します。試用期間がオンラインで適切に認証されていない場合、この推定値は実際の残り日数と異なる可能性があります。
解決方法:インターネットに接続してアプリを再起動してください。アプリはMicrosoft Storeと認証を行い、正確な残り日数を表示します。
Q. 「購入する」ボタンが表示されません。どうすればライセンスを購入できますか?
「購入する」ボタンは試用期間中(有効または終了)のみ表示されます。
すでにライセンスを購入している場合、すべての機能にアクセスできるため、ボタンは表示されません。
正式版(非試用版ビルド)を使用している場合、試用版ではないため、購入ボタンは利用できません。
試用期間中なのにボタンが表示されない場合、「設定」>「ライセンス情報」セクションでライセンス情報を更新してみてください。
Q. ライセンス認証中にエラーが発生しました。どうすればよいですか?
インターネット接続とMicrosoft Storeの状態を確認してください。
ライセンス認証エラーは、以下の理由で発生する可能性があります:
- インターネット接続がない:アプリがMicrosoft Storeに接続できません。インターネットに接続して再度お試しください。
- Microsoft Storeサービスの問題:Microsoft Storeが一時的に利用できない可能性があります。少し時間をおいてから再度お試しください。
- ネットワークタイムアウト:認証リクエストがタイムアウトしました。ネットワーク接続を確認して再度お試しください。
エラーが続く場合、アプリは最後に取得したライセンス状態を使用して動作を継続します。ただし、正確なライセンス状態を確保するため、可能な限りインターネットに接続してアプリを再起動することをお勧めします。
詳細なエラーログは、トラブルシューティング用に以下の場所に保存されます。
- Microsoft Store版(MSIX)の場合:
C:\Users\[ユーザー名]\AppData\Local\Packages\[パッケージ名]_[ランダム文字列]\LocalState\ActCheckTracker\Logs\license_debug.log
- 通常のデスクトップアプリ版の場合:
C:\Users\[ユーザー名]\AppData\Local\ActCheckTracker\Logs\license_debug.log
Q. 試用期間が終了しているのに、アプリがまだ動作しています。これは正常ですか?
オフライン時に、アプリが最近ライセンス状態を認証していない場合に発生する可能性があります。
オフライン中に試用期間が終了した場合、アプリは最後に取得したライセンス状態を使用して一時的に動作を継続する可能性があります。しかし、インターネットに接続してアプリを再起動すると、Microsoft Storeと認証を行い、試用期間が終了していることを検出し、それ以上の使用を防止します。
重要:試用期間終了後にアプリを使用し続けるには、ライセンスを購入する必要があります。アプリは、期限切れ状態が検出されたときに購入を促すメッセージを表示します。
Q. ライセンスを購入した後、完全にオフラインでアプリを使用できますか?
はい、ただし最初に1回認証が必要です。
アプリ内からライセンスを購入した場合、購入状態がすぐにローカルに保存されるため、すぐにオフラインで使用できます。
Microsoft Storeから直接ライセンスを購入した場合(アプリ外から購入)、少なくとも1回はインターネット接続がある状態でアプリを起動し、Microsoft Storeと購入認証を行う必要があります。認証が完了すると、購入状態がローカルに保存され、その後は完全にオフラインで使用できます。
重要:Microsoft Storeから購入後、初回起動時にインターネット接続がない場合、アプリは一時的に試用版として動作します。インターネットに接続してアプリを再起動すると、認証が行われ、正規版機能に切り替わります。
Q. アプリをバージョンアップした場合、ライセンスはどうなりますか?
バージョンアップ時も、ライセンスとすべての設定は保持されます。
Microsoft Store経由でActCheckTrackerをアップデートした場合:
- 以下の場所に保存されているすべてのデータと設定が保持されます:
- Microsoft Store版(MSIX)の場合:
C:\Users\[ユーザー名]\AppData\Local\Packages\[パッケージ名]_[ランダム文字列]\LocalState\ActCheckTracker
- 通常のデスクトップアプリ版の場合:
C:\Users\[ユーザー名]\AppData\Local\ActCheckTracker
- 購入状態は自動的にローカルに保存され、保持されます
- アプリ起動時に保存された購入状態を自動的に読み込みます
- ライセンスを購入済みの場合、アップデート後すぐに動作し、再認証は不要です
アプリをアップデートした後も、ライセンスを再購入したり、再認証したりする必要はありません。
Q. アプリをアンインストールして再インストールした場合、ライセンスは失われますか?
いいえ、ライセンスはMicrosoft Storeが管理しているため、自動的に復元されます。
ActCheckTrackerをアンインストールすると、MSIX版の場合、LocalStateフォルダ全体が削除されるため、すべてのデータファイルが失われます。ただし、購入情報はローカルファイルではなく、Microsoft Storeが管理しているため、ライセンス自体は保持されます。
アプリを再インストールした場合:
- アプリはデフォルト設定で起動します
- 初回起動時に、Microsoft Storeと認証を行います
- 以前にライセンスを購入している場合、Microsoft Storeが購入状態を確認します
- アプリは自動的に購入状態をローカルに保存します
- すべての機能がすぐに利用可能になります
重要:再インストール時は、インターネットに接続されている必要があります。これにより、アプリがMicrosoft Storeと購入認証を行うことができます。認証が完了すると、購入状態がローカルに保存され、その後はオフラインでも使用できます。
注意:ライセンスは保持されますが、活動データ(記録されたセッション、統計データなど)は、アプリを完全にアンインストールした場合、確実に失われます(特にMSIX版ではLocalStateフォルダが削除されるため)。データを保持したい場合は、アンインストール前に必ずデータをエクスポートすることを強くお勧めします(正式版で利用可能)。
13. 品質について
開発体制について
本アプリケーションは個人開発により作成・提供されています。個人開発という環境の中で、
630以上のテストケースを実装し、包括的なテスト戦略を採用するなど、可能な限り高品質なソフトウェアを提供するため、
継続的な改善と品質向上に取り組んでいます。
13.1 テスト実施の概要
ActCheckTrackerは、高品質なソフトウェアを提供するため、包括的なテストを実施しています。
アプリケーションの信頼性と安定性を向上させるため、様々な種類のテストを継続的に実施しています。
現在、47個のテストファイルに630以上のテストケースを実装し、
自動化されたユニットテスト、統合テスト、UIテストに加えて、実際の使用環境での動作確認も行っています。
これにより、理論的な動作だけでなく、実際のユーザー体験に近い環境での検証を実施しています。
テストは、xUnitテストフレームワークを使用して実装され、継続的に実行・更新されています。
新機能の追加や修正のたびに、関連するテストも追加・更新され、品質の維持に努めています。
品質への継続的な取り組み
本アプリケーションは、高品質なソフトウェアを提供するため、包括的なテスト戦略を採用しています。
630以上のテストケースを実装し、自動化されたテストと実際の使用環境での動作確認を組み合わせることで、
信頼性の高いアプリケーションを実現しています。新機能の追加や改善の際も、十分な動作確認を行い、
品質の向上に継続的に取り組んでいます。
13.2 実施したテストの種類
ユニットテスト(Unit Tests)
各機能の最小単位(クラス、メソッド)を個別にテストしています。以下の領域をカバーしています:
- Core層(12個のテストファイル):
- エンティティ(Session、TimeSlot、InputEvent、DailySummary、ClickBreakdown、KeyCategoryCountsなど)
- 値オブジェクト(ActivityScore)
- ドメインサービス(ActivityScoreCalculator、StatisticsAggregator、AggregationService)
- ヘルパークラス(DateTimeHelper)
- Application層(15個のテストファイル):
- ユースケース(9個:StartMonitoring、StopMonitoring、GetStatistics、GetVisualizationData、DeleteAllData、DeleteDataByPeriod、GetDeletionPreview、ExportData、ImportData)
- サービス(2個:MonitoringService、DataCollectionService)
- DTO(2個:DailySummaryDto、SessionDto)
- マッパー(1個:EntityToDtoMapper)
- イベント(3個:InputEventOccurred、SessionEnded、StatisticsUpdated)
- Infrastructure層(6個のテストファイル):
- データリポジトリ(JsonDataRepository)
- シリアライザー(JsonDataSerializer)
- データストア(FileSystemDataStore、DeviceIdManager)
- 統計計算(StatisticsCalculator)
- 可視化データプロバイダー(VisualizationDataProvider)
- Presentation層(4個のテストファイル):
- ViewModel(ViewModelBase)
- サービス(NavigationService、SettingsService、ThemeManager)
統合テスト(Integration Tests)
複数のコンポーネントが連携して動作することを確認するテストを実施しています。
実際のアプリケーションを起動し、エンドツーエンドの動作を検証しています。
- 1個のテストファイル:AppIntegrationTests
- アプリケーションの起動と基本動作の確認
- 監視機能の自動開始の確認
UIテスト(UI Tests)
FlaUIを使用した自動UIテストを実施しています。7個のテストファイルで以下の画面と機能をテストしています:
- MainWindowUiTests:メインウィンドウの表示と基本操作
- RealTimeDashboardUiTests:リアルタイムダッシュボードの表示
- StatisticsPageUiTests:統計画面の表示と操作
- NavigationUiTests:ナビゲーション機能
- MonitoringControlUiTests:監視制御機能
- StatisticsContextMenuUiTests:コンテキストメニューの動作
すべてのUIテストは、同じアプリケーションインスタンスを使用して効率的に実行されます。
手動テスト(Manual Testing)
実際の使用環境で手動による動作確認も実施しています。
様々な使用パターンやエッジケースを想定し、実際にアプリケーションを操作して動作を確認しています。
多様なシナリオを想定した動作確認により、実際のユーザー体験に近い環境での検証を行っています。
13.3 テスト結果
現在のテスト実施状況は以下の通りです(測定日時:2025年12月18日):
- テストファイル数:47個以上
- 総テストケース数:637個(実行:633個、スキップ:4個)
- テスト成功率:100%(633個すべてのテストが成功、失敗:0)
- コードカバレッジ(測定日時:2025年12月18日):
- 全体のカバレッジ:
- ラインカバレッジ:13.9%(6453 of 46433)
- ブランチカバレッジ:12.1%(1434 of 11882)
- 各層のカバレッジ:
- Core層:95.8%
- Application層:55.9%
- Infrastructure層:38.2%
- Presentation層:2.4%
- 主要な機能領域(ビジネスロジック、データ処理、統計計算)で重点的にテストを実施
- テスト対象領域の内訳:
- Core層:エンティティと値オブジェクトのバリデーション、ドメインロジックの正確性
- Application層:ユースケースの動作、サービスの機能、データ変換の正確性
- Infrastructure層:データの永続化と復元、シリアライズ/デシリアライズ、統計計算
- Presentation層:ViewModelの動作、サービスの機能、UIコンポーネントの表示と操作
テストは継続的に実施され、新機能の追加や修正のたびに、関連するテストも更新・追加されています。
テスト実行は自動化されており、コード変更のたびに自動的にテストが実行され、品質の維持に努めています。
カバレッジについて(測定日時:2025年12月18日)
カバレッジレポートには、UIコードが多く含まれるPresentation層も含まれているため、
全体のカバレッジは13.9%と低く表示されています。しかし、アプリケーションの信頼性に
直接影響を与えるビジネスロジック層(Core、Application、Infrastructure層)では、
高いカバレッジを達成しています。
各層のカバレッジ詳細
Core層(95.8%):エンティティ、値オブジェクト、ドメインサービスなど、
アプリケーションの中核となるビジネスロジックが非常に高いカバレッジを達成しています。
ほぼ全てのコードがテストされています。
Application層(55.9%):ユースケース、サービス、DTOなど、
アプリケーション層の主要な機能が十分にテストされています。以前と比較して改善されています。
Infrastructure層(38.2%):データリポジトリ、シリアライザーなど、
主要な機能でテストを実施しています。
Presentation層(2.4%):UI層のカバレッジは非常に低くなっています。
これは、WPFのXAMLコードビハインド、自動生成コード、UIイベントハンドラーなど、
テストが困難なコードが多く含まれているためです。
重要なビジネスロジックやデータ処理の部分は十分にテストされており、
特にCore層では95.8%という非常に高いカバレッジを達成しています。
アプリケーションの信頼性に影響を与える重要な部分は適切にカバーされています。
13.4 品質について
品質への取り組み
ActCheckTrackerは、高品質なソフトウェアを提供することを目指しています。
包括的なテストの実施、実際の使用環境での動作確認など、様々な方法で品質の向上に取り組んでいます。
動作確認の実施
様々な使用シナリオを想定し、実際にアプリケーションを操作して動作を確認しています。
これにより、理論的な動作だけでなく、実際のユーザー体験に近い環境での検証を行っています。
機能を追加する際も、十分な動作確認を行ってからリリースしています。
継続的な品質向上
ソフトウェアの完全性を100%保証することは、技術的にも現実的にも困難です。
無限に存在する可能性のある使用パターンや、様々な環境での動作を全て事前に検証することは
いかなる開発体制においても限界があります。しかし、ActCheckTrackerでは、
630以上のテストケースを実装し、主要な機能領域で高いカバレッジを達成するなど、
可能な限り多くのテストを実施し、品質の向上に継続的に取り組んでいます。
継続的な改善
テストは一度実施して終わりではなく、継続的なプロセスです。
新機能の追加、バグ修正、ユーザーフィードバックに基づいて、テストも継続的に更新・拡張されています。
また、テスト結果を分析し、より効果的なテスト方法を模索し続けています。
ユーザーの皆様へ
もし不具合や予期しない動作を発見された場合は、お気軽にお知らせください。
ユーザーの皆様からのフィードバックは、アプリケーションの品質向上に大変役立ちます。
皆様と共に、より良いソフトウェアを作り上げていきたいと考えています。
14. ライセンスと謝辞
ActCheckTrackerは、多くの優れたオープンソースソフトウェアによって支えられています。
これらのプロジェクトの開発者およびコミュニティに深く感謝いたします。
主な使用ライブラリ・ソフトウェア
本ソフトウェアは、以下のオープンソースソフトウェアを含んでいるか、または利用しています。
Core Framework & Runtime
UI & Utilities
Visualization
同梱コンポーネント
開発・テスト用ツール(本番ビルドには含まれません)
以下のライブラリは開発・テスト目的でのみ使用されており、本番アプリケーションのビルドには含まれません。
ライセンス情報について
本アプリケーションはスタンドアロン(Self-Contained)配布のため、直接参照と推移的依存関係のすべてが最終的な出力に含まれます。
完全なライセンス情報(ライセンス全文を含む)については、アプリケーションの配布物に含まれる libraries_and_licenses.txt ファイルを参照してください。
各ライブラリのライセンス詳細については、上記のリンク先をご参照ください。本アプリケーションで使用しているすべてのライブラリは、商用利用が可能な寛容なオープンソースライセンス(MIT、Apache 2.0、BSD-3-Clause)の下で提供されています。
ActCheckTracker ユーザーマニュアル v2.10
最終更新日: 2025年12月18日
© 2025 ActCheckTracker. All rights reserved.