FileMaker Goのアプリから写真が簡単に撮れますよね。
私も確定申告に備えた医療費アプリ for iPhoneを自作したとき、会計の時に受け取る領収書類などをアプリに保存できるように実装しました。
アプリからカメラを起動し、写真を保存するという簡単な実装でした。
事件
その時は何も考えていなかったのですが、1年後、「さて、確定申告用に集計するか」「ついでに気になる所も修正するか」とPCにアプリを送信した時に事件発生です。
異様に送信時間がかかるんです。
AirDropでファイルを送信したので、サクッと終わるはずなのに、30秒ほどかかりました(体感)。
PCに保存されたアプリのファイルサイズを見てびっくりです。
500MBを超えていたんですっ!!!
こんなfat fileを作った覚えはないと調べたら、領収書類の写真サイズでした。
慌ててファイルサイズを調整する修正を入れました。
ファイルサイズ調整の修正
単純にアプリからカメラを起動すると、iPhoneに自分で設定したサイズが「最大・大・中・小」のうちのどれかで起動します。
カメラを起動した時に設定するのでもいいのですが、別のアプリでカメラを使う時などのことも考えると、写真のサイズをカメラ起動時に自動で設定する方が忘れないだろう、とスクリプトを設定しました。
「デバイスから挿入」という関数を使います。
スクリプト中の設定ボタンからは、「カメラ」を選択すると、「カメラオプション」が設定できます。
このオプションの、「解像度」を設定します。
これは単純にカメラ起動時に自動で調整する解像度なので、カメラを起動した後に自分で解像度を別なものに設定できます。
検証
せっかくなので、この設定有り無しでどのくらいファイルサイズが違うかを検証したいと思います。
サイズチェック用に作ったFileMakerアプリには、1テーブルのみ存在し、オブジェクトフィールドに設定ありとなしを用意しました。
それぞれのオブジェクトフィールドからカメラを起動し、写真を保存した時のファイルサイズを確認します。
データなしのファイルサイズ
ファイルを作り終えた時のファイルサイズは、594KBでした。
ファイルサイズ調整「あり」のファイルサイズ
解像度を「中」にして写真を撮り、保存しました。
77KBですね。
ファイルサイズ調整「なし」のファイルサイズ
では、次に解像度をiPhoneの設定、私の場合は最大にして写真を撮り、保存しました。
ぎょえ、1.9MBですって。
つまり
今回の医療費アプリでは、診療請求書と明細書の2枚をアプリ経由でカメラで撮影し、納めていました。
割と通院する回数の多い私は、月に2,3回は通院し、調剤薬局で薬を購入します。
さらに、ここ数年は入院・手術も毎年のようにあるのでその分も登録していました。
高解像で保存し続けると、一人分の登録でもかなりのファイルサイズになります。
これを家族分、、、ましてやもらい風邪などをしやすい乳幼児のいる家庭ではどんだけになるんでしょう。。。
ファイルを外部保存する方法もありますが、単純にFileMakerアプリにファイルを保存しての運用をする場合は、オブジェクトのファイルサイズに注意する必要があります。
他のPDFでも、ドキュメント内に写真や絵が盛りだくさんの場合はそれ相当のファイルサイズになりますので、何かしらの対策は必要になります。
ただし、解像度などを小さくファイルサイズを小さく、、、という所に邁進してしまうと、ドキュメントや写真が見難くなります。
解像度が低くてもこの程度なら大丈夫、というようなボーダーラインを自分なりに決めて設定してみてくださいね。