手書きのメモをチェックリスト化するアプリを作った【.NET MAUI】
初稿:
- 4 min read -
この記事の概要
この春リリースした新規スマホアプリのお知らせと使用した技術の解説。
スマホアプリ「CheckListMaker」について
CheckListMakerとは?
買い物メモやTodoリストなどをカメラで撮影すると簡単にチェックリストに変換するスマホアプリ。スマホに保存してある画像も対象。
以下からインストールできる。(現在Android版のみ)
使い方の詳細はこちらのページを参照。
About CheckListMaker — MakutaKobo
過去に作成したアプリ
OneThird : シンプルな睡眠記録アプリ - Google Play のアプリ
使用した技術
開発環境
- OS: Windows 11 Pro
- IDE: Visual Studio 2022 Community
言語・フレームワーク
- 言語: C#
- Framework: .NET MAUI 8.0
- NuGet Packages
- CommunityToolkit.Maui
- CommunityToolkit.Mvvm
- Microsoft.Azure.CognitiveServices.Vision.ComputerVision
- Plugin.MauiMTAdmob
クラウドサービス
- Azure AI Vision(OCR解析)
アプリの仕様と解説
開発背景
- 私の家では必要な食料・消耗品などを、気づいた人が小型のホワイトボードに書く
- ホワイトボードのメモをスマホで撮影し画像のメモを確認しながら買い物をする
- このメモは気づいた順の並びで買い物時には不便
- 数が多い場合は買う時にチェックがしづらい
- この一連を解決するために本アプリを作った
アプリの仕様
C#使いなのでスマホアプリもC#で作る。
単体テストがしやすいようにMAUIのコードビハインドにロジックは実装しない。MVVMで開発する
- Model-View-ViewModel - .NET | Microsoft Learn
- MVVM Toolkit の概要 - Community Toolkits for .NET | Microsoft Learn
MAUIのUIコントロールやヘルパーが揃った便利パッケージを使用する。
カメラ起動や画像選択ピッカーはMAUIのMediaPickerが便利。
本アプリの肝、手書きメモのOCR解析はAzure AI Visionで簡単に実装できた。
上記記事にC# / Python / JavaScript / REST APIのサンプルコードもある。
Free(F0)は、1か月あたり5,000件、1分あたり20件のトランザクションを無料で使用可。ただしレスポンスの悪い場合がある。
Standard(S1)は、1万件まで1ドル/1,000トランザクション、以降ボリュームディスカウント。F0と比べレスポンスは格段に良し。
サンプルを参照するとわかるが、解析の精度はなかなか。文字の傾き、濃淡、かすれ等も認識しテキスト化する。日本語も認識する。
まとめ
今回開発したアプリの内容と使用を概説した。
前回アプリ同様、開発・運用のモチベーション維持のため「日頃じぶんが使うモノ」となっている。
使用シーンを考慮し、起動と操作の速度パフォーマンスを重視している。
よって今後のアップデートはパフォーマンスチューニングを中心とし、サイズの大きい機能追加の予定はない。
一定件数の履歴保持はそのうち追加したい。