見出し

2025年の KyoshinEewViewer for ingen のアップデートまとめ

   2025年12月12日     7分で読めます

この記事は 防災アプリ開発 Advent Calendar 2025 の10日目の記事です。
遅れちゃってすみません。いろいろあって…。

本当は今取り組んでいる揺れ検知アルゴリズムの改良を記事にしたかったのですが、落ち着かなかったため予定を変更し、今年1年のアップデートをまとめてみることにします。

2024年12月(v0.19.5)

去年は設計をアドベントカレンダーの記事としていましたが、あの直後にEEW周りの設計を大きく変更しています。
具体的には継承する方式をやめました。AXIS 対応に向けて色々と不都合だったわけです…。

2025年1月(v0.19.6 ~ v0.19.7)

AXIS からの情報取得に対応しました。

これでついに気象庁の電文以外からも情報を取得できるようになったわけですが、代償としてさらに上位のレイヤーでの汎用化も実施することになりました。
AXIS については地震情報や津波など、受信できる情報の拡充をしてほしといった要望もいただいておりますので、優先度を付けて対応させていただきたいと思います。

尺稼ぎのために、雑に図にしておきます。

実装前

flowchart
  電文取得ソース --> 取得ソース汎用化 --> 電文解析 --> 画面表示

実装後

flowchart
  電文取得ソース --> 取得ソース汎用化 --> 電文解析 --> 情報汎用化 --> 画面表示

2025年2月(v0.19.8)

2月は、災危通報機能の大幅な機能拡張を行いました。
今までは一覧を実装したのみで、地図表示などは殆ど実装していませんでしたが、

  • 降灰予報(火山の位置)
  • 火山情報
  • 台風情報
  • 海上警報

以外の情報に対して地図表示の対応を行いました。

残りの情報に関しては台風はサボってるだけなんですが、火山・海上警報などに関しては別途座標データを拾ってくる必要があるため実装していない感じです。
DCX の実装あたりで対応できるとうれしいですが、いつになることやら…という感じです。

2025年3月(v0.19.9 ~ v0.19.14)

3月は強震モニタがダウンするという出来事がありました。
そのタイミングで一次対応として長周期地震動モニタをデフォルトの取得元としつつ、強震モニタが復活した後に二次対応として取得元を選ぶ機能を追加しました。

そして2月で実装すると言い張っていた災危通報の台風情報の実装を延期しています。
台風シーズンには実装したかったんですが、台風が来なかったので台風シーズンが無かったと言うことですね!(ぐるぐる目)

2025年4月

4月は何もしてませんでした。というのは嘘で万博が開幕したのでここからしばらく更新頻度が下がります。

2025年5月(v0.19.15)

5月は災危通報の UI を微調整していました。
何も考えずに UI を実装していたので太字だらけになっており、メリハリのないデザインになっていました。
本当にUI考えるの苦手なんですよね…。精進します。

2025年6月(v0.19.16 ~ v0.19.17)

6月はテーマ編集機能の追加を行いました。実際はワークフロー機能の強化もギリ入っていますが、ここは7月にまとめます。
これまでアプリのテーマは、xamlファイル、jsonファイルという形で定義できるようにしてきましたが、記述にミスがあるとクラッシュしたり、設定項目が多くカラーコードを入力しないといけないなど優しくない点が多くありました。

この時期からAIの活用を始め、ウィンドウ追加など本質的ではない部分の処理が増える部分に対して、比較的簡単に機能追加が行えるようになりました。この段階でのAI生成コードは4割程度でした。

2025年7月(v0.19.18 ~ v0.19.20)

7月は、主にワークフローの改善を行いました。
トリガーは地震情報の大規模な噴火情報への対応や、読み上げを意識したプロパティの追加を行っています。
アクションはテンプレートの使用できる範囲を増やしたりしています。

中でも大きなものは VOICEVOX の読み上げ機能の改善で、音声のキャッシュなどを行うことにより一度読み上げた文章を2度目以降すばやく再生させることが可能になっています。
ただし現在の仕組みでは文節ごとに分割する必要があるため微妙だなとは思っていて、近いうちに改行が入っていたらその単位でキャッシュと再生出来るようにしようと考えています。

2025年8月(v0.19.22 ~ v0.19.23, pre: 0.20.0 ~ v0.20.1)

8月は要望があり、ファイルを実行するアクションの仕様を変更していました。
他にも DM-D.S.S への接続が安定しないといった問題も多く報告され、次期バージョン (v0.20) を目指して処理の書き直し計画が始まりました。

2025年9~10月(pre: v0.20.2 ~ v0.20.4)

9月10月は殆ど開発できていません。
実は北海道に旅行に行ったり、万博閉幕に合わせて行きまくったりしており、本当に時間がありませんでした。
この間のアップデートは書き直し中の DM-D.S.S の処理の調整ですが、思うように行かなかった記憶があります。

2025年11月(v0.19.24, pre: v0.20.5)

11月は開発中の v0.20 においてログファイルや設定ファイルのディレクトリの変更を行いました。
今まで実行ファイル直下に置いていましたが、ダウンロードフォルダから直接実行されている方や、書き込みできない権限のディレクトリに置かれている方が一定数おり、エラーになっているという状況を把握していたため思い切って変更を行うようにしました。
macOS ではデフォルトで実行ファイル直下には書き込めないので、今までテーマ編集機能を利用することは出来なかったのですが、この更新をもって macOS でもテーマ編集機能を正式に利用できるようになりました。

他にもプレリリース版ではちょうどリリースされたばかりの .NET 10 への更新や、地形が消滅してしまう不具合のあった地図表示の修正、アップデータの仕組みの変更を行いアプリ単体で自己更新が可能になりました。

こういったプラットフォームごとの対応が必要なものは今まで調査が面倒で避けてきたのですが、これもAIの登場によって比較的楽に実装できるようになり、新しい時代が始まっているなあと実感しています。
ちなみに今も Claude に毎月 $100 吸われ続けています。恐ろしいですね。

プレリリースではない v0.19 版ではワークフローにおける 津波情報更新時 トリガーの警報レベル指定の要望があったため実装を行っていました。

2025年12月(v0.20.11 ~)

そして12月、厳密には11月末なのですが、v0.20 のリリースを行いました。
リリース直前に一気に機能を追加しており、観測点の自己更新機能や震央の丸め誤差範囲の表示といった実装も行っています。
大体この辺りで DM-D.S.S の安定しない原因を把握した記憶があります。この時点で新規のコードのAI率は8割を超えており、この1年でのAIの進化を感じますね。

また、v0.20 の正式リリースに合わせ2025年の利用者アンケート を開始しました。
なんども宣伝をしていて恐縮ですが、できれば欲しい機能やご意見などいただけるとありがたいです。

そして現在、僕の気まぐれで強震モニタの揺れ検知アルゴリズムの改良を行っています。
今まで見たようなアプリに比べて精度が劣っていた自覚はあるのですが、いつ利用が禁止されるかわからない強震モニタの機能を強化するのは少し抵抗があり放置しているような形でした。
調整内容としては観測点の数を評価するものからスコア制への変更を行ったり、観測点の距離に応じてそのスコアに倍率をかけると行ったことを行っております。まだ調整途中で誤検知などもありますが、引き続き調整を行う予定です。北海道辺りのちょくちょく常時そこそこ観測してる観測点があると誤検知しやすいんですよね…。

今後のロードマップはこちらにまとめてありますが、まだいただいた要望の反映は行っていません。年末から来年にかけて計画を練っていこうと思いますので、よろしくお願いいたします。

さいごに

ここまでお読みいただきありがとうございました。
自分で書いていて思いましたが、結構頑張ってますね!(自画自賛)

このリソースを副業につぎ込んでたらどれぐらい稼げてたんだろう…冗談です。
小学生の頃からフリーソフトを作りたいというなんとなくの夢があって、その夢を追いながらこれからも好きでやっていきますので、どうかよろしくお願いいたします。