アプリストアに出さない理由
—— PWAとランニングコストゼロの交差点

TokiQRはすでにPWAとして動いている。
Electron、Tauri、アプリストア——選択肢はあった。
だが維持費が発生する選択肢は、すべて却下した。

この記事で言いたいこと:マルチプラットフォーム対応は「アプリストアに出すこと」と同義ではない。PWAはすでにAndroid・iPhone・デスクトップのすべてで動いている。維持費が発生する配布チャネルを選ばないことは、制約ではなく、1000年持続するための設計判断だ。

1. すでに動いている

TokiQRのソースコードを改めて見たとき、すでにPWA対応が完了していることに気づいた。manifest.jsonが存在し、service-worker.jsが登録されている。index.htmlplay.htmlの両方で、Service Workerのregistration処理が実行されている。

manifest.jsonの中身はこうだ。アプリ名「TokiQR」、表示モードstandalone(ブラウザのアドレスバーが消える)、テーマカラーは#2563EB、ポートレート固定。512pxと180pxのアイコン。ショートカットとして「QR生成」。

つまり、Androidなら「ホーム画面に追加」でネイティブアプリのように使える。iPhoneならSafariの共有メニューから同様の操作ができる。デスクトップのChromeでもインストール可能だ。どのプラットフォームでも、すでに動いている。

「マルチプラットフォーム対応しますか?」——もうしてあった。

2. 三つの選択肢

Webアプリをネイティブアプリのように配布する方法は、大きく三つある。

Electron。Chromiumを丸ごとバンドルして、デスクトップアプリとして配布する。VS CodeやSlackが採用している。だが、実行ファイルは100MBを超える。QRコード1枚に2,953バイトを詰め込む設計思想で作られたプロジェクトに、100MBのランタイムは似合わない。

Tauri。Rust製の軽量フレームワークで、OS標準のWebViewを使うためバンドルサイズが小さい。技術的には良い選択肢だ。だが、デスクトップアプリとして配布する必要性がそもそもない。TokiQRの利用シーンは、スマートフォンでQRコードを読み取る場面だ。

アプリストア。Google PlayとApple App Store。最も広いリーチを持つ配布チャネル。ストア検索で新しいユーザーに見つけてもらえる。だが、ここには維持費がかかる。

3. 維持費という断層

Google Play Storeへのデベロッパー登録は$25の一時金。Apple App Storeは年間$99。Appleの方は毎年の支払いを止めた瞬間、アプリはストアから消える。

$99は大した金額ではない。だが問題は金額の大小ではない。「毎年払い続けなければ存在し続けられない」という構造そのものが、トキストレージの設計思想と相容れない。

トキストレージは、ランニングコストゼロで1000年持続する保管を設計している。GitHub Pagesは無料、ドメインすらカスタムドメインを使わずgithub.ioで運用している。すべては、維持費が途絶えてもサービスが死なないようにするためだ。

その設計思想で作られたプロジェクトが、年間$99のサブスクリプションに依存する配布チャネルを選ぶことは、矛盾だ。

維持費がかかるということは、
支払いが止まった瞬間に消えるということだ。
1000年残すプロジェクトに、その選択肢はない。

4. アプリストアの不在が失うもの

公平に見れば、アプリストアに出さないことで失うものもある。

まず、ストア検索での発見可能性。「QRコード」「音声保存」で検索したユーザーがTokiQRを見つける確率は、ストアに出していれば高くなる。

次に、信頼感。「App Storeにある=審査を通った」という暗黙の信用がある。特に日本のユーザーは、ブラウザだけで完結するサービスよりも、アプリストアからインストールしたアプリの方を信頼する傾向がある。

だが、TokiQRのユーザー導線を考えると、この損失は限定的だ。TokiQRの主な利用シーンは、QRコードを読み取って再生すること。ユーザーはQRコードからURLにアクセスし、play.htmlで音声や画像を受け取る。アプリストアで検索してTokiQRを見つけるユーザーは、ほぼいない。入口はストアではなく、QRコードそのものだ。

5. PWAという第四の道

PWA(Progressive Web App)は、Electron・Tauri・アプリストアのいずれとも異なる第四の配布方法だ。

配布コストはゼロ。GitHub Pagesにデプロイするだけで、全プラットフォームに配信される。審査もなければ、登録料もない。アップデートはHTMLを更新するだけで即座に全ユーザーに届く。アプリストア経由では、審査に数日かかることもある。

オフライン対応もService Workerで実現済みだ。一度アクセスすれば、ネットワークが切れてもアプリは動く。これはアプリストアのネイティブアプリと同じ体験を、Webの仕組みだけで実現している。

iOSのPWAには制限がある。プッシュ通知はiOS 16.4まで対応していなかった。バックグラウンド実行にも制約がある。だが、TokiQRにプッシュ通知は不要だし、バックグラウンド処理も必要ない。QRコードの読み取りと再生——それだけができればいい。PWAの制約は、このプロジェクトにとって制約にならない。

6. 配布戦略はポリシーで決まる

技術的な最適解と、プロジェクトとしての最適解は異なる。

技術的には、アプリストアに出すことは可能だ。Google PlayにはTWA(Trusted Web Activity)というPWAラッパーがあり、最小限のコード変更で出せる。Apple App Storeは「Webサイトのラッパーアプリ」をリジェクトする傾向があるが、不可能ではない。

だが、プロジェクトとしての問いは「できるか」ではなく「やるべきか」だ。

トキストレージのポリシーは明確だ。ランニングコストゼロ。毎月・毎年の支払いが発生するサービスには依存しない。GitHub Pages——無料の基盤の上に成り立っている。この原則を破る理由が、アプリストアでの発見可能性だけでは、割に合わない。

「いずれユーザーが増えて『アプリないの?』という声が出てきたら検討する」——それが当初の結論だった。だが考え直した。声が出てきたとしても、答えは同じだ。「ブラウザでお使いいただけます。ホーム画面に追加すれば、アプリと同じように動きます。」

ポリシーは、検討の余地がないから
ポリシーと呼ぶ。

7. ストアフロントなき配布

アプリストアは、ソフトウェアの配布における「店舗」だ。棚に並べてもらい、検索で見つけてもらい、レビューで信頼を積む。そのビジネスモデルの対価として、登録料と手数料を払う。

トキストレージは店舗を持たない。QRコードそのものが配布チャネルだ。墓石に刻まれたQRコードを読み取れば、そこに音声がある。記念碑のQRコードをスキャンすれば、そこに画像がある。ストアフロントを経由する必要がない。

これは、中間流通の排除と同じ構造だ。プラットフォームを介さず、QRコードからユーザーに直接届く。中間に誰もいない。だから維持費もかからない。だから1000年続く。

マルチプラットフォーム対応は、アプリストアに出すことと同義ではない。PWAはすでにAndroid・iPhone・デスクトップで動いている。維持費ゼロで、審査なしで、即座にアップデートできる。1000年持続するための配布戦略は、年間$99のサブスクリプションではなく、QRコードから直接届くWebの仕組みそのものだ。

最良の配布チャネルは、
維持費なしで1000年届き続けるものだ。