本文へスキップ
すべての記事

1つのアプリに1つの仕事――スーパーアプリを作らない理由

成長するアプリはどれも機能を増やし、1つの巨大なプラットフォームへ統合する圧力を受ける。MFKAPPSが6つの小さな単機能アプリのままでいる理由。

MFKAPPS 1 分で読めます

数ヶ月に一度、こんな提案を受ける。「予算管理と水分補給とリマインダーを1つのアプリにまとめたほうがいい――インストール1回あたりの価値が上がるし、ログインも1つで済むし、利用時間も伸びる」と。抽象論としては悪くない。ただ、私が作っているものではない。その理由は書き留めておく価値がある。ラインナップの各アプリについて私が下し続けている判断と、同じ理由だからだ。

統合への圧力は本物だが、ユーザーのためではない

スーパーアプリは、誰かが水分摂取量と買い物リストを同じ場所で管理する最高の体験を設計しようと座り込んだ結果として生まれるわけではない。それが生まれるのは、統合が「電話を手に持つ人」ではなく「ビジネス」にとって都合がいいからだ。6回のインストールが1回になる。プロフィールを組み立てられる単一のログイン。ホーム画面の枠を奪い合う6個のアイコンが1個になる。すべてが1つの屋根の下にあると、成長に関わるあらゆる指標が改善する。

これ自体は悪意あるものではない。ただ、「これはタスクを終えて電話を置く助けになるか」とは別のものを最適化しているだけだ。金融アプリの3階層下に埋もれた買い物リスト画面は、予算とログインを共有しているからといって便利になるわけではない――ただ見つけにくくなるだけだ。

統合されたアプリが利用者に実際に課すコスト

本物のスーパーアプリを開くと、兆候はいつも同じだ。触ったこともない機能のアイコンで埋め尽くされたホーム画面、開いた目的とは無関係な権限要求、そしてナビゲーションがとうの昔に地図として機能しなくなったから存在する検索バー。アプリはあなたを覚えているが、あなたはもうアプリを覚えていない――何のためのものか、どこに何があるか、次に何を求められるか。

もっと微妙なコストもある。ドメインを混ぜるとデータも混ざる。予算管理も兼ねるリマインダーアプリは、無関係な2つの仕事にまたがって「通知」とは何かを決めなければならず、その答えは大抵、誰も読まない40個のトグルが並ぶ設定画面になる。使っていない機能もすべてそこに残り、読み込まれ続け、アプリが要求し、あなたが半ば無自覚に許可した権限として居座り続ける。

作る側に実際に課すコスト

この部分は、外からスーパーアプリを評価するときによく見落とされるが、私が実際に生きている半分だ。私は一人だ。Granynが支出を追跡することと、Hydrameが水を飲むよう促すことは互いに何の関係もない――データモデルも違えば、通知の頻度も、エッジケースも、使う人も、使う理由も、時間帯も違う。これらを1つのコードベースに縛りつけても労力は節約されない。むしろ増える。水分補給リマインダーのリリースは、いまや予算画面に対しても検証しなければならない。同じバイナリを共有しているからだ。ある機能のクラッシュはストアのクラッシュレポート上でアプリ全体を落としたように見え、両方のシグナルを濁らせる。オンボーディングは、1つの目的で来た人に無関係な2つのことを説明しなければならなくなる。

小さく分かれたアプリなら、あるバグの影響範囲はちょうど1つのアプリに収まる。後悔した設計判断のコストは、共有シェルにボルト留めされた6つの無関係な機能群の移行ではなく、1つの書き直しで済む。そして何より重要なのは、Granynへの機能要望に対して、それが「このアプリ」に属するかどうかの議論にせずに、はっきりノーと言えることだ。Granynが何であるかは1つしかないからだ。

実際に使っているテスト

何かを追加する前に、単純な質問をする。見知らぬ人が一度使っただけで、アイコンと名前だけからこのアプリが何をするか説明できるか? 答えが「まあ、それに加えて――」を必要とし始めたら、その機能は別のアプリに属するか、どこにも属さない。OldSchoolが服薬リマインダーしかしないのも、Stockyがキッチンの中身しか追跡しないのも、Mintlyが集中タイマーでしかなくそれ以外の何物でもないのも、これが理由だ。他に何ができるかのアイデアが足りないからではなく、「それに加えて」の一つひとつが、アプリが本当に得意な唯一のことへの小さな税金になるからだ。

共有が理にかなう場所

これは、アプリ同士が孤立して作られているという意味ではない。同じデザイン言語を共有しているから、アプリを切り替えてもソフトウェアを一から学び直す感覚にはならない。同じローカルファーストでアカウント不要のアーキテクチャを共有しているから、プライバシーの説明はどこでも同じだ。通知スケジューリングやバックアップ・エクスポートのような内部ライブラリも共有している――それは配管であって、ユーザーが選ぶ機能ではないからだ。共有していないのは、単一のデータベース、単一のオンボーディングフロー、そしてアプリを開く単一の理由だ。この線引き――インフラは共有し、目的は分離する――が戦略のすべてだ。

スーパーアプリとは、利便性が明快さに勝つという賭けだ。私は逆に賭けている。5秒で完全に理解できるアプリのほうが、一度しか使わない機能を5つ余分に持つアプリよりも価値があるという賭けだ。