bpushをオープンソースにしてみた
下記の記事を投稿したのが 2015年04月28日 で、もう少しで2年になります。
ウェブにプッシュ通知をもたらすウェブサービス「bpush」を作った
この記事を投稿してから bpush はほんの少し話題になりました。それから約2年。
クラウドサービスとしてのbpushは2017年3月末をもってサービスをクローズし、
大幅に機能拡充してオープンソースソフトウェアとして公開することになりました。
主な機能追加
- Firefoxサポート(VAPID対応)
- 日々の送受信数などの統計ページの用意
- ユーザーをタグ付けするAPIの用意(指定タグのユーザーにAPI経由で通知を送信)
- golangによる高速なAPIの追加
余談ですが、クリック数の計測のためのAPIがPHPだと間に合わないという問題がありまして、わりと最近ですがクリック数計測のAPIをgolangで書きました。
少し処理が違うのですが、PHP7 で 200req/s くらいだったものが 5000req/s くらいの速度になり久々に型付き言語の速度を実感しました。
技術的なところは下記でも少し説明していますのでよろしければ読んでみてください。
ウェブサイトでプッシュ通知を行うサービス「bpush」で使っている技術
基本的にPHP/Silexで作られています。ウェブプッシュを実装したい方は、PHPのサーバサイドやServiceWorker周りは参考になるかと思います。
なぜサービスをクローズしたか
bpushは国内初のウェブプッシュ通知クラウドサービスでした。
しかし、いまでは法人によって安定的に運営された競合サービスが大量に存在します。大量に!!
いまとなっては機能・品質・安定度・信頼のどれをとってもbpushが優るところはないでしょう。
このためbpushをクラウドサービスとして残す意味はもはやありません。
なぜオープンソースにしたか
既にクラウドサービスとして魅力のないbpushですが、自社データセンターなどで動かすための
ライセンス版の購入に関する問い合わせは現在もときどきあります。
コンプライアンスの問題や価格の問題からクラウド版を導入できない組織はそれなりに存在します。
ソースコードごと手に入るのなら、bpushにはまだ価値があります。
また、現在では自分が開発に携わるサービスにbpushを利用しています。
OSS化によってなんらかのフィードバックが得られればそのサービスにとっても有益なことです。
これらのことからbpushをオープンソース化することにしました。
というのが建前で、本当はGitHubのスターが欲しいだけです。
GitHubのスターを付けてくれると嬉しいです。
開発速度も上がるかもしれません。
スターをください!
https://github.com/dotneet/bpush
bpush運営を通して学んだこと
ビジネスの人にはあたりまえなことですが、エンジニアな自分には下記のような意識が欠けていたと感じました。
参入障壁が低い分野はあっというまに競合が増える
現在世界にどれだけウェブプッシュ通知のクラウドサービスが存在すると思いますか?数えてないのでわかりませんが、100を超えててもおかしくないと思います。国内だけでも10は超えているでしょう。bpushが公開されてから半年くらいしてから(半年もしてないかも)同じく個人開発のpushnateさんが生まれました。それから更に半年のうちに3つほど法人が参入してきました。気づいていないだけでもっとあったかもしれません。
なんでこんなに競合が増えるのか。簡単です。簡単だからです。bpushの最初の公開バージョンは開発にたしか2週間かかっていないと思います。ファーストコミットが4月21日で記事の公開が4月28日なので、1週間強くらいかもしれません。知識があればそれくらい簡単に作れるものです。そしてビジネス的価値が容易に見いだせるものです。そりゃみんな作るよね。
ビジネスをやりたかったら本気で
競合が増えると、宣伝や機能拡充など様々な対策をしなければユーザーは取られてしまいます。はっきり言ってしまうと、参入障壁が低くビジネス価値が見出しやすい分野で個人開発者が競合と戦うのは無理です。だって仕事あるし。 開発も宣伝もやっている暇ないもん。
もしビジネスにしたいのだったら、仕事をやめてそれで生きていくつもりでやらないと駄目でしょう。
説明資料の整備とか法人化はやっぱり信用のうえで重要
企業で導入を検討される方はほとんど説明資料を求めてきます。そんなものないのでプレーンテキストで返していましたが、やはり信用に響くところはあったかと思います。あと個人のサービスだというところも信用に響いていた感はあります。
最後に
スターください!!