メインコンテンツへスキップ
開発

GitHub の問題がビジネスに発展した経緯

Capacitor アプリ向けの革新的な live update システムである Capgo。その誕生の裏側にある試行錯誤と成功の軌跡を辿ってみましょう。必要性に迫られ、コミュニティのフィードバックによって形作られた物語です。

GitHub の課題がいかにしてビジネスの Capgo へと進化したか:ブログ解説

始まり:コミュニティからのリクエスト

Capgo の種は、私が個人開発者としての歩みを始めるずっと前から蒔かれていました。2020年7月8日、alexcroox というコミュニティメンバーから提出されたプラグインのリクエストが、後に Capgo の設計図となりました。

初期のプラグインリクエスト

このリクエストでは、以下の主要なポイントを備えた「Capacitor Hot Code Push」プラグインの必要性が示されていました:

  1. プラットフォーム: AndroidとiOSの両方をサポート。
  2. 既存のソリューション: MS Code Push(Capacitorサポートが不足)や、App Flow(高コストで柔軟性に欠ける)といった既存オプションの限界が浮き彫りになりました。
  3. 説明: App Storeの審査プロセスを経ることなく、アプリのjs/css/htmlをリアルタイムでアップデートできる機能。
  4. 主な機能:
    • 開発者が選んだサーバーやエンドポイントから、OTAアップデートを容易に行えるようにする。
    • アップデートされたdistフォルダのzipファイルをダウンロードして展開し、Capacitor に新しいディレクトリから起動するよう指示する。
    • アップデートの検証、インストールタイミングの制御、アップデートの選択的ダウンロードなどの追加機能。

この包括的なリクエストは、65件の「いいね」と25件の「ハート」リアクションを集め、コミュニティから大きな支持を得ました。これは、Capacitor エコシステムにおいて、このようなソリューションへの強い需要があることを明確に示していました。

1年以上経ってこのリクエストを目にしたとき、自分がプロジェクトで直面していた課題と深く共鳴しました。それは、このようなツールの必要性を裏付けるものであると同時に、後に Capgo となるものへのロードマップでもありました。

このプラグイン提案に対するコミュニティの熱意と、私自身の経験が、Capgo 開発の原動力になりました。アイデアから実装まで1年以上かかったとしても、オープンソースコミュニティがニーズを見つけ、解決策を生み出すきっかけになれることを示す完璧な例です。

新たな章の幕開け

Capgo の物語に入る前に、背景を説明させてください。2021年、私は Cashstory の CTO を辞め、持ち株を売却するという人生を変える決断をしました。これが、不確実ながらも無限の可能性に満ちた、個人開発者としての歩みの始まりでした。

リスボンでのデジタルノマド生活

貯金をセーフティネットに、私は新たな冒険へと踏み出しました。ポルトガルのリスボンでデジタルノマドとして暮らし、活気あるテックシーンや文化に触れながら、情熱を注げるプロジェクトに集中していました。当時はモバイルアプリのCrossFit用タイマー「Captime」に専念していましたが、このプロジェクトが、より大きなものを作り出すきっかけになるとは想像もしていませんでした。

リスボンのスタートアップエコシステムのエネルギーと、デジタルノマドとしての自由なライフスタイルは、イノベーションの完璧な舞台となりました。世界中から集まった起業家や開発者に囲まれたこの環境こそが、Capgo の種が蒔かれた場所なのです。

[記事の続き…]

この改訂版では、デジタルノマドとしてリスボンで過ごすあなたの生活状況を正確に反映しており、Capgo を開発した環境を理解するための重要な背景となっています。また、あなたのライフスタイルと、Capgo の誕生につながった革新的な精神との結びつきも強調しています。

アイデアの火種

Captimeの開発に取り組んでいた際、大きな壁にぶつかりました。それは、Capacitor アプリ向けの、手頃で柔軟なアップデート・ソリューションが存在しないことでした。2021年10月、私はこれらの懸念を GitHub のスレッドで発信しました。

Capgo への初期提案

私が特定した主な課題は以下の通りです:

  1. 小規模開発者にとってのコストの高さ
  2. 安価なプランでは OTA アップデートが利用できない
  3. 個人開発者には不要な機能が多い

コミュニティの共鳴

私の懸念は他の開発者の共感を呼びました。既存のソリューションは、インディー開発者や小規模チームにとっては割高すぎるという意見が多く寄せられました。

コミュニティからのフィードバック

ある開発者は、コミュニティの声を次のようにまとめています:

「Communityプランに500回のLive Updateが含まれていたら最高なのに。それか、月額50ドルで5,000回のLive Updateが使える Live Update 専用パッケージがあればもっといいな」

ソリューションの誕生

コミュニティの反応を受けて、私は自ら解決策を作る決意をしました。2021年10月24日、特定のURLからアップデートをダウンロードできるモジュールを構築する計画を発表しました。

初期の code スニペット

当初の目標はシンプルでした:

  • URLからデータをダウンロードする
  • データを解凍する
  • 現在の code を新しいものに置き換える

しかし、このシンプルなアイデアを形にするのは、当初の予想をはるかに上回る困難な道のりでした。

舞台裏での苦闘

GitHub のスレッドからは見えないことですが、私が取り組んでいたタスクは非常に複雑でした。この機能を実装するために必要な code は難解で、理解するのが困難でした。Capacitor アプリがアップデートやファイルシステムをどのように扱うかという、複雑な詳細に頭を悩ませる日々が続きました。

バンの中で何晩も過ごし、ドキュメントを読み込み、さまざまな手法を試行錯誤しました。進捗は遅く、自分の手に負えないことに手を出してしまったのではないかと自問自答することもありました。

コミュニティの助け

幸いなことに、この道のりは一人ではありませんでした。開発者コミュニティ、特にDiscordは非常に貴重なリソースとなりました。仲間の開発者たちが知見を共有し、デバッグを助け、困難な時には励ましを与えてくれました。

Discordコミュニティによるサポート

この協力体制が、技術的なハードルを乗り越える鍵となりました。これにより、オープンソースとコミュニティ主導の開発が持つ力を改めて確信しました。

開発の加速と機能の拡充

コミュニティの助けもあり、開発は加速していきました。2021年11月22日にはiOS向けの動作バージョンが完成し、開発者体験(DX)の向上に取り組んでいました。

改善された code スニペット

開発が進むにつれ、以下の機能を追加していきました:

  • Androidサポート
  • アプリ終了後も状態を維持する永続化
  • 元のアプリバージョンへのロールバック機能

新機能のお知らせ

新機能を追加するたびに課題は生まれましたが、プロジェクトが当初の想定を超えて成長していく中で、大きな達成感も感じていました。

Capgo のローンチ

2022年3月までに、プロジェクトは Capgo という本格的なプロダクトへと進化しました。開発者が自分のバックエンドに接続するか、Capgo のバックエンドサービスを利用できる「自動更新モード」のリリースを発表しました。

Capgo ローンチのお知らせ

コミュニティからは非常に好意的な反応があり、多くの開発者が「待ち望んでいたソリューションだ」と称賛してくれました。

有料プロダクトへの転換

当初、Capgo をマネタイズする計画はありませんでした。目的は、自分や他の開発者が直面している問題を解決するツールを作ることだけだったからです。しかし、GitHub に対するフィードバックを受けて、考えが変わりました。

開発者からは、ニーズを満たすソリューションであれば、適正な価格で支払う用意があるという声が寄せられました。このフィードバックと、Capgo の維持・改善に継続的なコストと労力が必要であるという認識が、重要な決断へとつながりました。

2022年6月11日、Capgo は15日後から利用料金を導入することを発表しました。これにより、コミュニティプロジェクトから持続可能なビジネスへと転換しました。

Capgo 料金のお知らせ

しかし、プロジェクトのルーツを忘れないよう、手動モードやカスタムサーバーでの利用についてはプラグインを無料で提供し、Capgo のオープンソースとしての核は維持しました。

まとめ

Capgo との歩みは、コミュニティ主導のイノベーションの力と、個人開発者がしばしば直面する予想外の道のりを示す証です。CrossFitタイマーアプリの開発中に感じた個人的な不満から始まったものが、今では Capacitor アプリ向けの、堅牢で手頃な価格の柔軟な live update システムへと成長しました。

Capgo の誕生は決して容易なものではありませんでした。数え切れないほどの作業時間、惜しみない開発者コミュニティの支援、そしてユーザーのフィードバックに基づいて方向転換する姿勢が必要でした。ポルトガルのAirbnbでコードを書いていた時から、有料プロダクトのローンチに至るまで、この道のりの一歩一歩が学びの連続でした。

Capgo が進化を続ける中、市場のギャップを見つけ、それを埋めるために積極的に動き、コミュニティのニーズに応えることが、開発者エコシステム全体に恩恵をもたらす価値あるツールの創出にいかにつながるかを示す好例となっています。

Capgo の物語は、単なるツール開発の話ではありません。忍耐、コミュニティ、そして個人開発者としての人生の刺激的な予測不能さを語る物語です。

ストーリーの全文はこちらで読めます: こちら.

続きを読む:GitHub の問題がビジネスへと発展した話

使用している場合 GitHub の問題がビジネスに発展した経緯 ネイティブプラグインの作業を計画するには、次と連携してください: Capgo プラグインディレクトリ Capgo プラグインディレクトリのプロダクトワークフローについては、 Capgo による Capacitor プラグイン Capgo による Capacitor プラグインの実装詳細については、 プラグインの追加または更新 プラグインの追加または更新に関する実装詳細については、 Ionic Enterprise プラグインの代替案 Ionic Enterprise Plugin Alternatives のプロダクトワークフロー、および Capgo Native Build Capgo Native Builds のプロダクトワークフローについては、

Capacitor アプリ向けの Live Updates

Web レイヤーのバグが本番で発生したら、App Store の審査を何日も待たずに Capgo で修正を配信しましょう。ネイティブの変更は通常の審査フローに残したまま、ユーザーはバックグラウンドでアップデートを受け取れます。

最新のブログ記事

Capgoは、真にプロフェッショナルなモバイルアプリを作るために必要な最高のインサイトを提供します。