「10万枚の写真も扱えるUWPの画像データベースを作ったよ。みんな使ってね」
「Windows 10のUniversal Windows Appだからね。デスクトップでもWindows Phoneでも動くよ。XboxOneやIoTデバイスでも動く……はず」
「なんではずなの?」
「持ってないから動作確認してないの」
「Windows Phoneは?」
「エミュで動作を確認してる」
「Windows Phoneでも、10万枚扱えるの?」
「それは無理。扱える上限はマシンパワー依存。そもそもWindows Phoneのメモリに10万枚の写真ファイルを保存するのは無理でしょ」
「管理する対象はローカルファイルの画像なの?」
「そう。結局インターネットが介在すると使い勝手は落ちる一方だからスパッと捨てた」
「なんでもインターネット上のサービスを使えば良いというG○○gleの主張は真実ならずってことだね」
「第3者が喜んで適切なタグ付けしてくれるなら、インターネットでやる意味もあるのだがね。実際はあまりタグ付けしてくれないし、しかも間違っていてもどうにもならない」
「ではインターネットとの関わりは否定するわけ?」
「そうじゃない。ローカルで効率よくデータベースを作成して、HTMLにエクスポートする構造になっている」
「へー。じゃあ、ローカルで処理する以外に何か特徴は有る?」
「あるぞ。Exif情報とディレクトリ情報を参照するので、かなりのタグ付けが自動で完了する」
「たとえば?」
「撮影日時、カメラのメーカー、カメラの機種名などは自動的に取り込まれる。ディレクトリ名も写真のキーワードになるので、\富士五湖\本栖湖\WP_00001.jpgのような画像ファイルがあると、自動的に【富士五湖】【本栖湖】というキーワードが付く」
「それだけ?」
「他にはキーワードの別名や、見なしキーワード、カテゴリ分けで分類する機能などもある」
「それも自動?」
「カテゴリ分けは自動とは行かないが、見なしキーワードはある程度自動的に拾うオプションがある」
「見なしキーワードってなに?」
「全ての【東京】の写真は【日本】でも検索できるようにしたいとき、東京には見なしキーワードとして日本を付けておく。すると、写真に東京を付けるだけで自動的に日本も付いてくる」
「自動的に拾うってなに?」
「もし、以下のようなツリーがある時、東京に対して見なしキーワードの日本が付くが、大阪には付かない」
\日本\東京\p0001.jpg
\日本\東京\p0002.jpg
\日本\大阪\p0003.jpg
\関西\大阪\p0004.jpg
「大阪の写真には常に日本が付くとは限らないツリーってことだね」
「まあそういうことだ」
「では最後にひと言」
「パフォーマンスの改善とバグ取りはまだ進行中で近々アップデートするので、みんな期待してインストールしてみてね。無料だよ」
「なんで無料なの?」
「100円でも金を取ると敬遠して使ってくれないことが分かったので」
その他 §
「それで、このプログラムは何のために作ったの?」
「良い質問だ。手元にエロ画像約10万枚と、自分で撮った写真約5万枚があるが、整理がついておらず、有効活用できていなかった。そこでクラウドで使う画像データベースを作成したが使い勝手が悪かった。そこで、仕切り直して改めてローカルで動くものを作り直したのだ」
「その量ではスマホは無理だね。ならばWindows Phoneで動く事実は?」
「Phoneでの利用は、利用方法をみんなで考えてくれ。何か活用方法はあるだろう」
「Phone対応はあくまで副産物ってことだね」
「そうだ。だから、可能な限り自動タグ付けするのは必須の要請。量が多いからね。それゆえに、ディレクトリ名からキーワードを取得したり、Exif情報も活用する」
「それは必ず実行する機能?」
「オプション指定でオンオフできるよ」
「そうか。それじゃ全部自分で指定してもいいのだね?」
「そうだ」
「エクスポートしたHTMLファイルは検索機能が貧弱だけど」
「インテリジェンスの無い端末でも動くように静的なHTMLを生成している。スクリプトは含んでいない。ただし、それを含んでもっと高度な検索を行うバージョンを生成することも検討している。利用者にリクエスト次第だ」
「画像が増えるとリフレッシュやエクスポートが遅いんだけど」
「そこは既に改良中だ。次バージョンでは劇的に速くなるぞ」
「なんで英語アプリなの?」
「日本マーケットだけではおそらくあまり普及しないからね。画像を扱うだけなら英語アプリでも問題無いだろう」
「日本語使いたいよ」
「キーワードやカテゴリ名に日本語をどんどん使ってくれ。問題無い。アプリのメッセージが英語になっているだけで、日本語はどんどん使っていいよ」
「文字化けしない?」
「しない。すぐ文字化けする出来の悪いインターネットと一緒にしないでくれ」
「バックアップフォルダを指定できるけれど、保存されるデータ形式は?」
「ただのXML文書だよ。どうしてもってときは、テキストエディタでも編集できる」
「編集しても反映されないよ」
「ここにコピーして戻すのだ。"C:\Users\(user name)\AppData\Local\Packages\113C124A.MegaPictures_vbbj8gnvrzd92\LocalState"。そしてアプリから開き直す」
「割と自由な画像管理だと思っていいの?」
「あくまでXML形式でシリアライズしているだけなので読みやすいXML文書ではないがね。直接利用には開かれている。好きにしてくれ」
「データを蓄積して離さない最近の風潮には反しているね」
「ああ。個人情報を集める気は無いから、どんどん自由に使ってくれ」
「そういえば、ローカルで完結するシステムなら、個人データを収集できる余地は無いね」
「そうそう。何を編集しようともこちらに知られる可能性は無い」
オマケ §
「決定的な長所は何?」
「クラウドのストレージは多いが、エロ画像は置けない規約のサービスが多い。そこでいくらタグ付け可能でも意味が無い。でもローカルなら自由。自分の責任でどんなファイルでも置ける」
「結局エロか」
「後はネットに置きたくないプライベート画像ね。エロとは限らないよ」
「それもローカルで編集すれば他人に知られることはないわけか」
「そう。だからね。定義済みのキーワードとしてNO HTMLというものを用意している。これを付けておくとHTMLにエクスポートされる対象から除外される」
「綺麗な富士山の写真はネットで公開したいが、彼女の写真は公開から除外したい場合はそれを使えばいいわけだね」
「あとは、サムネールだけ見せて大きな写真は見せない選択もありだ」