ハクソク

世界を動かす技術を、日本語で。

デスクトップアプリケーションの開発は終わりました (2009)

概要

  • デスクトップアプリ開発からWebアプリへの転換理由の説明
  • Bingo Card Creatorでの具体的な数値比較
  • Webアプリの販売・サポート・分析面での優位性
  • 顧客獲得コストユーザー体験の違い
  • カスタマイズ性やA/Bテストの活用例

デスクトップアプリとの決別

  • 長年デスクトップアプリ開発に情熱を注いできた経緯
  • Bingo Card Creatorを3年間販売してきた経験
  • デスクトップアプリ擁護からWebアプリ志向への心境の変化
  • Swingによる厚いクライアント開発から、Rails等のWeb技術への移行
  • Web版リリース後、開発効率・機能・売上・サポート負担・市場性でWebアプリが圧倒的に優れていると実感

シェアウェアの課題

  • シェアウェアの購入までのプロセスが非常に複雑
    • Google検索からダウンロード、インストール、購入まで17段階の障壁
    • 各段階で離脱リスクが高く、コンバージョン率1%未満が一般的
  • Webアプリならダウンロード不要・即利用可能・購入もシームレス
    • コンバージョン率が大幅に向上

実際の数値比較

  • AdWordsキャンペーンでのコンバージョン率
    • 無料体験への移行率:ダウンロード版18~22%、Web版22~26%
    • 購入率:ダウンロード版1.35%、Web版2.32%
  • Web版は機能が少ないにも関わらず、売上は2倍近く
  • 顧客獲得コスト(CPA)
    • ダウンロード版:$20
    • Web版:$9
    • コスト削減により広告投資拡大が可能

サポート面の優位性

  • サポート依頼件数
    • デスクトップ版:50人中15件
    • Web版:50人中3件
  • Webアプリは
    • インストール不要
    • 登録キー不要
    • 常に最新版を提供
  • 古いバージョンの流通やインストールトラブルが激減

海賊版対策とユーザー追跡

  • Webアプリは不正コピーがほぼ不可能
  • サーバー連携型ソフトは違法コピー対策に有効
  • Google AnalyticsやMixpanelでユーザー行動を詳細に分析可能
    • 利用機能の傾向、購入に至る行動パターン、ユーザーセグメントの把握
  • プライバシーポリシーで情報取得を明示し、ユーザーの抵抗感も低下

Webアプリで得られた新たな発見

  • Baby Shower用ビンゴカードの需要が最も高いと分析データで判明
  • 機能追加が売上に逆効果となるケースもあると学習
  • 多くの顧客が登録から2時間以内に購入する傾向

カスタマイズ・A/Bテストの強み

  • Webアプリならユーザー毎の体験最適化が可能
    • A/BテストやユーザーセグメントごとのUI出し分け
  • 例:初心者には複雑な機能を非表示にするなど、個別対応が容易
  • データベースにより全ユーザーの行動履歴を活用したUX改善が可能

まとめ:

  • Webアプリは開発・販売・サポート・分析・カスタマイズ全ての面でデスクトップアプリを上回る実績
  • 特にコンバージョン率・コスト削減・サポート効率化・ユーザー理解の面で圧倒的な優位性
  • 今後はWebアプリ開発を優先すべきとの結論

Hackerたちの意見

[2009]
デスクトップアプリの現状について、数字が何を語っているのか気になるな。Electronの登場でどれだけ変わったのかも。今は、モバイルアプリがb2cソフトウェアの「最高の指標」を持っているみたい。この記事の現代版を読んでみたいな。
2026年には、App StoreとGoogle Playのモバイルアプリの数が前年比で60%増加したんだって。AIのおかげで市場参入がずいぶん楽になったからね。
17年経った今でも、デスクトップアプリで生計を立てている人もいるよ。
どの「最高の指標」?
Electronは両方の悪いとこ取りだよ。Electronアプリには一度もお金を払ったことないし、これからも払わないつもり。ひどいUXだよ。
「メトリクス」これを聞くと、以前のeコマース会社での仕事を思い出す。そこは「みんな」が毎週使うAmazonのような店じゃなくて、特定の高級ファッションブランドだった。彼らは、ウェブサイトの非常にシンプルなラッパーに過ぎないクソみたいなiOSアプリを出してた。でも、そこでのコンバージョン率がどれだけ良くなったかを自慢してたんだ。特定の小売店で買い物するために特定のアプリをダウンロードする顧客は、明らかに熱心なファンだから、その自己選択されたグループがうまくコンバートするのは当然だって言っても、誰も聞いてくれなかった。職業タイトルや給料から見て賢いはずの人たちが、因果関係を完全に逆に理解してたんだよね。
隣の芝生はいつも青いって言うけど、実際は肥料が効いてるからだよね。
いや、「隣の芝生は青い」というのは視点の問題だよね。自分の芝生の上に立つと、下を見て土が見えるけど、隣を見ると横から見える芝生が密に見えて、土が隠れちゃう。でも、どこでも同じように退屈な芝生なんだよね。 :)
パトリックの指摘は、金儲けが目的のソフトウェア開発ならほとんどが正しいけど、オープンソースを作るならあまり関係ないと思う。デスクトップアプリはオープンソースの世界でもまだまだ重要で素晴らしいと思うよ。最近、新しい趣味プロジェクトを始めたんだけど、クロスプラットフォームでElectronを使わないデスクトップアプリにしてる。これが自分の好きな開発スタイルだからね。オンボーディングファネルは、ユーザーを増やして売上を上げようとしている時だけの心配事。コンバージョンはお金を取る場合だけの問題。Adwordsは、彼の言葉を借りれば「競合を打ち負かそうとしている」時だけの話。サポートは、ソフトウェアを売っているなら、やっぱり必要だよね。無料やオープンソースの場合はあまり気にしないけど。海賊版は商業ソフトの問題だけ。分析やユーザー行動については、商業ソフトだけがユーザーを監視したり、A/Bテストのモルモットに使ったりする必要があるみたい。ウェブ開発が良くなる唯一のポイントは、開発サイクルが短いことだと思うけど、これは「開発者の便利さ」だけで、ユーザーにはあまり関係ないんじゃないかな。実際、開発サイクルが短いと、ソフトウェアが急速に変わってユーザーにとっては逆に悪いこともあるしね。私のオープンソースプロジェクトでは、「開発サイクル」はgitにプッシュした時点で終わるから、好きなだけ頻繁にできるんだ。
> 分析とユーザー行動について:商業ソフトウェアだけが、ユーザーを監視してA/Bテストのモルモットにする必要があると感じているみたい。KDEにも分析機能はあるけど、デフォルトでは無効になってるんだよね(でも、デフォルトを自分が好きな設定に変えてもらうために、いつもオンにしてる)。
さらに言うと、趣味でやってるなら、自分が楽しんでる部分を自然に優先してるんじゃないかな。俺の最初のアプリは1980年代のシェアウェアで、Turbo Pascalで書いたもので、パッケージ化が簡単で一つのプラットフォームだけで動けばよかったんだ。期待値が低かったから、俺のアプリは商業アプリと同じくらい見栄えが良かったよ。今は、デスクトップアプリを作るための最小限のステップすら魅力が薄れてるけど、問題をどう解決したかを見せるのが好きだから、俺の「アプリ」はJupyterノートブックなんだ。
開発者の友達の間でこういう感情をよく見るけど、俺は共感できなかった。反対してるわけじゃないけど、個人的には心が動かされないんだ。俺が自由な時間に作るものは、ほとんどが自分や家族のためのもので、ウェブの「一度書けばどこでも動く」特性から大きな恩恵を受けてる。イントラネットで小さなトイアプリを立ち上げて、どこからでもすぐに動かせるんだ。こういうものは、通常、相互接続もずっと簡単だしね。
創造的な作品にも広く使われてるよね。つまり、少数の人が多くの時間を費やすようなものだけど、ほとんどの人が使うわけじゃない。例: - CAD / ECAD - アーティスト/写真 - 音楽ソフトウェア。作曲、DAWなど - 科学ソフトウェア全般、薬の設計など
同意だね、デスクトップフレームワークは最近すごく良くなってきてる。例えばFlutterやRustのGPUI(人気のエディタで、Electronのようなウェブビューアプリの競合でもあるZedがこれで書かれてる)、egui、Slintなどもあるし、WASMを使ってデスクトップアプリをウェブにレンダリングする能力もあるから、リンクを共有したい場合でも対応できる。20年前とはかなり時代が変わったよね。
SNSを全部やめて、Spotifyも解約したし、ストロベリーメディアプレイヤーをデスクトップアプリとして使えるのが本当にありがたい。自分が実際に持ってる音楽を再生できるからね。デスクトップアプリが大好きだよ。
私はデスクトップアプリが好きなんだ。アップグレードしたときにちゃんと分かるから。「今すぐアップグレードしますか?」って出るか、昔は自分で探さなきゃいけなかったり、ディストリビューションの新しいバージョンをインストールしたらアプリも更新されてるから、アップデートがあるのは予想できた。医者の予約や銀行の残高確認みたいに、ウェブサイトに向いてるものもあるけど、ログインして「ちょっと確認したいだけ」って思ってると、せっかく筋肉記憶ができたのに、今度は「新しい機能のツアーをどうぞ」って出てきて、結局確認したいことが7層も深く埋もれてたり、全然見つからなかったりするのが面倒なんだ。Audacity(音声プログラム)みたいなものをウェブサイトに置くのはどう考えてもおかしいよね(これはランダムな例だけど、実際にそうなってるとは思わない)。まずソースファイルをアップロードしなきゃいけないし(プライバシーの問題)、ブラウザの制限された環境で操作しなきゃならない。大きなプロジェクトに対して、バックエンドに十分なパワーがあるのか? それから結果をダウンロードするの? 自分のマシンでコードを実行できる方が、ずっとずっといいし、安定してるから、プロジェクトを始めたら、途中でその機能が変わったり削除されたりして壊れることもないしね(AIのことは全く考えてないけど、なんで聞くの?)
このブログ記事は、著者がその時点でどこにいたのかを理解することで大きな利益を得られる。彼はBingo Card Creatorソフトウェアについての執筆で名を馳せていたが、次のステップに進もうとしていた。この後、Appointment Reminderというウェブアプリを作り、良いMRRを得てから売却した。どちらも素敵なインディー開発者の成功ストーリーだ。私は彼の文章を読みながら育ち、すぐに「これは彼の人生の中で今考えていることだ」と理解するようになった。彼の文章は専門家からの権威ある決定的なものとして書かれているけど、実際はそうじゃない。時間が経つにつれて、彼はSEOの専門家から週3万ドルのコンサルタント、デスクトップアプリの専門家、インディーSaaSの専門家、リクルーティング業界の専門家、そしてStrip Atlasで働くようになった。それぞれの段階で彼の文章を読むのは楽しかったけど、あまりにも多くの変化があったので、経験からの知恵として読むのではなく、進行中の学びや意見のブログとして読む方が良いと気づいた。だから、この記事のアドバイスは、彼がその時追求していた具体的な目標の文脈で受け取るべきだと思う。目標が合わなければ合わないほど、アドバイスは relevancy が薄くなる。
>「私のオープンソースプロジェクトでは、私の「開発サイクル」はgitにプッシュしたときに終わる。それは好きなだけ頻繁にできる。もし開発がgitプッシュで終わり、ユーザーが自分でビルドしたり対処したりしなければならないなら(これは多くのオープンソースに当てはまる)、あまり違いはないけど、ユーザーのためにビルドしてパッケージ化しているなら(特にアプリの場合はそうなる可能性が高い)、その違いは大きい。」
大体同意だね。お金のためじゃないなら、実際にはこれらのほとんどは必要ないよ。でも、オープンソースを「コードをどうぞ」以上のものとして見るなら、いくつかは重要だよ。サポートは、GitHubのイシューやメール、DMを通じて見つかるからね。分析はすごく大事で、他の人にとってソフトウェアが機能しているかどうかを示してくれるから。お金がないと、プレイテスターやUXデザイナーがいないから、有用なバグ報告が少なくなるんだ。イライラしたユーザーは、詳しい問題をわざわざ書く時間なんてあまり取らないしね。
これは2009年のもので、タイトルにもそう書いておくべきだね。
そうそう、完璧だ。ここに来たのは、ウェブアプリ作りはもう終わりだって言いたかったんだ(2026年)。マジでデスクトップアプリって最高。最近、PWAをデスクトップアプリにして、SSO認証を自分の組織で使えるようにしたんだ。それが今やセルフサービスのアプリダウンロードキオスクの一部になって、これまで提案書を書いたり、内部ツールのためにウェブアプリのインフラをスケールアップするために苦労してきたことを笑い飛ばしてる。今、チームと一緒に地に足をつけて、こういうことをたくさん考えて楽しんでる。DevOpsは23498234892%の可用性を追求して、Kubernetesやロードバランサーを使ってたけど、今はその中でどれが完全に不要だったのかを評価してる。複雑さや予測不可能な請求の塊になってしまったんだ。実際には、オンプレミスのマシンに戻して、内部ネットワークを通じて提供できるものがたくさんある。過去10年間、どれだけ自分たちを重要視していたかに笑ってる。数日中にMac miniをいくつか買って、無停電電源装置に繋いで、これまで作ってきたツールをどれだけ真剣じゃなくできるか試してみるかもしれない。あと、他の全てについてはデスクトップアプリ。マジで、デスクトップアプリは正しく作れば無料のインフラみたいなもんだよ。
この記事の内容は間違ってないけど、AI以前に、私たちのコンピュータの使い方を大きく変えた企業(SlackやSpotify、VS Codeなど)は、デスクトップアプリを出してたことは覚えておく価値があるよ。
その例は全部ウェブアプリで、2つはウェブから始まったし、どれも私たちのコンピュータの使い方を変えたわけじゃないよ。(Slackは競合をいくつか置き換えたし、Spotifyはウェブ版のiTunesだし、VS Codeは小さめのJetBrainsだね)
「デスクトップアプリ」?私の意見では、Electron以前に存在していたものはデスクトップアプリを出してたけど、ここ10〜15年はすべてElectronのゴミばかりで、私の基準では「デスクトップアプリ」とは言えないね。むしろ、AIが企業、特にソフトウェア以外の企業に本物のネイティブアプリを2つリリースする余裕を与えてくれることをほんの少しだけ期待してる。でも、企業が「ブランディング」をすべてに使いたがるから、実際のアプリが「無料」で提供するネイティブな見た目や感触は、ほとんどの企業のビジュアルデザインを担当するクレイジーたちにはマイナスなんだろうね。
> ただ、海賊の存在は私にとって気になるところなんだ。特に、私のソフトウェアの名前をGoogleで検索している学校の先生が、代わりに盗むことを試みるように促されるのはね。Googleが「悪事を働かない」時代に、ソフトウェアの海賊行為についてどうするべきか考えたことがあったのか、そして彼らがどう決めたのか気になるよ。おそらく、海賊行為を抑制するか、少なくとも奨励しない方向に決めたんじゃないかな。スクリーンショットでは、Googleの検索クエリは海賊行為を望んでいるとは言ってないのに、Googleはまるで罠のように海賊行為を提案している。 (ただし、そのユーザーの他の履歴がソフトウェアの海賊行為の傾向を示しているかもしれないけど、Googleは海賊行為を探している様子を知っているし、他のトピックについては特別扱いしている。)倫理的な実践は、訴えられるか規制当局に何かをやめるように言われるまで待つことなの?それとも、彼らは自分たちの運営方法に対するコストや競争を予測して、望む規制のためにロビー活動をしているのかな?そうすれば、規制に従うだけで、訴訟から逃れられるってわけ?
Googleには本当に「悪事を働かない」時代があったのかな?
今日の「海賊行為」は知的財産を盗むことじゃない。元々は著作権を侵害する悪徳出版社を指していた言葉でもない。今の知的財産法は、私的なダウンローダーやユーザーに対して、事実やアイデアを聞いて行動したり使ったりすることを合法的に略奪するためのものだ。知的財産は盗まれない。「略奪からの免疫」料金が支払われている(ライセンス)。ソフトウェアに関しては、ディスクやインターネットからローカルストレージにコピーして、さらにローカルストレージからRAMにコピーするというのは、この略奪を助けるための法的な形式に過ぎない。お金を払わなかった人を略奪しているんだ。
(免責事項:Googleに関する特別な知識はないので、以下はあくまで私の意見であり、事実として受け取らないでください。)Googleの収益モデルは、常にウェブファーストだよ。ウェブ上でビジネスが増えれば増えるほど、Googleにとっては良いことなんだ。特に、マイクロソフトと競争していた頃はね。ウェブアプリは、デスクトップアプリよりも明らかに海賊版にしにくいから、デスクトップアプリが簡単に海賊版にされると、プロのソフトウェア開発者がウェブアプリにシフトする傾向が強くなるんだ。つまり、ウェブに集中した商業活動が増えるってことは、Googleにとってもいいことだよ。だから、少なくともこの話題に対して無関心でいる理由は十分に考えられるね。
あまりいいスタートじゃないね…「シェアウェアユーザーをコンバートするのにどれだけのステップが必要か」っていうのは、めちゃくちゃ大げさだよ。1-4. Googleで探して、読んで…これはウェブアプリでも同じだよ。2. ダウンロードをクリックして、数秒待つだけ。ネイティブアプリは小さいから、諦めるほどの時間じゃないよ。重いJSウェブアプリはそれ以上かかるかもしれないけど。3. ブラウザが表示する実行ファイルをクリックするだけ。ブラウザを閉じたり、ダウンロードフォルダを探したりする必要はないよ。すぐそこにあるから!3.5. インストーラーが必要ないかもしれないし、マルチステップのウィザードも不要だね。大きな「インストール」ボタンと小さな「詳細オプション」ボタンがあればいいかも。3.6. インストーラー(あればだけど)が終わったらプログラムを自動で起動する。4. ユーザーはそれを使って満足する。5. しばらくして、プログラムがユーザーに支払いを促して、アプリ内かブラウザで直接支払いフォームに移動させる。6. 彼らは詳細を入力して支払う。それはウェブアプリよりも1ステップ多いけど、ユーザーが戻ってきて支払う可能性が大きくなる(ポップアップを送れるから、あなたはネイティブアプリなんだ!)。
確か、2009年にこれが書かれた時には、そういう懸念は正当だったと思う。
そして今日、新しい0がある:ユーザーがデスクトップコンピュータを使っている、ということだね。
10年以上にわたる「ウェブアプリはウェブアプリが得意な問題のサブセットに対しては優れている」という自己言及的な主張。
当時はウェブアプリを作るのがそんなに簡単じゃなかったから、スタンドアロンアプリが主流だった。2009年の少し前には、ウェブアプリの多くがJavaやAdobe Flashで、2009年はその辺りのプラットフォームが戦争状態だったけど、オープンウェブの代替案はまだ成熟してなかった。
記事から: 「ここ3年間、Bingo Card Creatorを売ってきたんだ。これはウェブページ用の仕事で、インストールする必要はない。」
同意だけど、このアプリは2006年に作られたんだ。その頃はIE6がまだ現役だったし、アプリとして動かすのはもっと簡単だったかもしれないね。