時雨堂は 9 月が期末です。9 月は新規自社製品が2つ開始、自社製品のリリースが沢山あって、ブログを書く余裕がないと思うので、今のうちに振り返っていきます。
激動の時代
時雨堂の 8 期は激動の時代でした。3 月からフルリモートに完全に切り替えました。フルリモートになったことで、時雨堂にとってとても重要な「社員同士の雑な会話」がかなり減ることになり、組織のあり方を見直す必要がでました。
方針通りには進んだ
前期に掲げた今期の会社の方針は以下のとおりです。
基本的には自社製品への投資です。それ以上は特にないです。
かなり自社製品に投資できたと思います。自社製品に関係ない仕事は自分がいくつかの会社で雑談するという仕事をしてるくらいです。
ただし売上の面では想定外だった
今期は売上を重視せず自社製品への投資を重視するという方針でした。
今期はお手伝いで稼ぐ売上を減らすため、売上を伸ばす予定はありません。そのため、賞与も控えめ or なしになる予定です。時雨堂に数年に1回来る冬の時代というやつです。自社製品を育てたり、新しいビジネスの種を巻いたりという1年にしていければとおもいます。
結果は、過去最高の売上だった前期をさくっと超えました、それも大幅に。自社製品の売上割合も恐ろしいほど上がりました。
顧問税理士からは「貴方のたてる売上予測はまったく信じられない」と言われました。
今期も前期を上回る賞与で 1 人 1000 万円以上です。
自社製品の売上が大幅に伸びた
自社製品が双方向にリアルタイムな音声や映像実現するためのミドルウェアということもあり、売上は過去最高を更新し去年の 2 倍以上です。去年が一昨年の 2 倍なので、倍々のようです。
営業も打ち合わせもしないという戦略をとっており、なぜ売れているかはあまり把握していません。国内では競合がほぼいないというのが強みなのかもしれません。
自社オープンソースの優先実装による売上がでた
自社製品の売上も大きかったのですが、公開している「いつか実装する一覧」にある機能を実装する有償での優先実装の依頼が複数あり、オープンソースによる売上を達成できたというのはかなり大きかったです。
この場を借りて、再度お礼を申し上げます。本当にありがとうございます。
セミナー
2020 年 1 月に 2 年ぶりのセミナーを開催しました。とても好評だったこともあり、引き続きやっていこうと思ったのですが、そんなわけにもいかなくなったため、オンラインセミナーを開催することにしました。
間隔を 2 週間に 1 回、3 週間に 1 回、 1 ヶ月に 1 回でやってみて、 1 ヶ月に 1 回がちょうど良さそうだったので、今は 1 ヶ月に 1 回やってみています。
自社製品関連の話がメインで、セミナーというよりかは雑談です。ただ毎回 30 に前後の方が参加していただけています。ありがとうございます。
今後も継続していきます。
ビルを諦めた
自社ビルを持つという目標がありましたが、フルリモートが長く続きそうなこともあり、いったん諦めました。色々落ち着いたときにまた考えようと思います。
自社オープンソースへの投資
今期は沢山の投資ができました。とても満足しています。
Discord にコミュニティを開設
Sora Labo を開設した事をきっかけに、製品を購入していない方でも Sora を利用することができるようになったため、Discord にコミュニティを開設しました。
運用は社員ではなく、お手伝いしてくれる人を雇ってお願いしています。
Sora JavaScript SDK
async/await や TypeScript を利用して書き換えました。コミュニティからのフィードバックも可能な範囲で取り入れることができました。
Sora iOS SDK
libwebrtc をそのまま利用した場合、特定状況で審査がリジェクトされてしまう問題が発覚し、そちらの対応に追われましたが、お手伝いしてくれている方の協力もあり無事パッチを当てて解決に至りました。
コミュニティからのフィードバックも可能な範囲で取り入れることができました。
Sora Android SDK
今期途中から、従業員から CTO へメンテナーを引き継ぎました。ライブラリの細かいアップデートや、新しい API の検証などより便利に使いやすい SDK にしていくための投資ができました。
Sora Unity SDK
今期に顧客からの要望があったり、Unity 公式で WebRTC ライブラリに対応したことなどもあり、積極的な投資を行うことにしました。
詳細は別に記事を書いているので、興味のある方は読んでみてください。
Sora E2EE
今期は自分にとって E2EE な期でした。今期後半はかなり力をいれました。現在もガッツリやっています。
お試しとして Insertable Streams API を前提とし WebCrypto と WebWorker を利用した E2EE 実装を公開し、現在 Go の syscall/js を利用した WebAssembly で X3DH / Double Ratchet を利用した E2EE 実装を開発中です。
悪意ある WebRTC SFU 管理者が存在したとしても、通信が守れれる仕組みを提供していきたいと考えています。
来期もかなり積極的に E2EE には投資していきますので、期待していてください。
WebRTC Native Client Momo
今期一番投資したオープンソースです。コミュニティからのフィードバックも多くありました。ウェブサイトも作り直して公開、優先実装依頼もあり、Jetson Xavier NX の VP9 ハードウェアエンコーダにも対応しました。
実験的に AV1 や H.265 への対応をしたりと、新しい機能を積極的に取り入れていきつつも、メンテナンスも継続していっています。
また NVIDIA のサイトに載せてもらったりもしました。
満足行く投資ができました。来期も継続して投資していきます。
WebRTC Signaling Server Ayame
色々課題が見つかり社内で書き直したりしました。今はとても安定して稼働しています。書き直した後はリソースをあまり割いていません。
来期はメンテしてくれる方を捕まえたので、メンテナを社内から社外へと切り替えることにしました。
少しずつではありますが、改善していければと考えています。
React Native WebRTC Kit
今期はメンテナを社内から社外へと切り替えました。そのためリソースが増えました。CTO がレビューワー、アドバイザーとしてプロジェクトを仕切ってくれています。
そのため、DataChannel への対応をしたり、libwebrtc のアップデートを積極的にできるようになりました。今はサイマルキャスト対応を進めています。
サイマルキャストまで対応したタイミングで、 for Windows / macOS への対応を再開できればと考えています。
クローズドソース製品へのコミット
自社製品へリソースをつぎ込んだ
2020 年 6 月にバージョン表記を変更した大きめのリリースを行いました。録画周りの課題を解決し、設定ファイルをシンプルにしました。実際、目に見えないですが、多くの改善が行えました。
また、多くの顧客から要望頂いた「多くのユーザの同時表示」を実現するという課題を解決するべく、新しい機能開発への投資も行えました。
この機能は 2020 年 9 月末のリリースで実験的機能として提供します。
時間をかけて焦らず開発
WebRTC SFU 自体はすでに珍しいものではなくなったと考えています。オープンソースで優秀なものもありますし、商用製品も出てきています。
自社が取る方針は「今後必須になってくるだろう」と考えている機能を対応していくということです。
録画の改善、サイマルキャストを活用したスポットライト機能、 E2EE の実現、 一つ一つがとても重かったですが、時間をかけて焦らずに、自分たちが良いと感じるものを開発できてきています。
自社製品サイトの改善
アップデートしづらかった自社製品サイトを Django から Netlify に切り替え、社員がコツコツと改善してくました。
今後もより見やすくわかりやすいサイトを目指していきます。
自社製品向けテストシステムの開発
自社製品に向けて様々な視点でのテストを自動で行いレポーティングするというシステムの開発を進めています。リリースのためのシステムではなく継続的改善のためのシステムです。
このシステムで発見したバグもありました。少しずつ成果が出てきています。
今は担当している社員が E2EE に駆り出されているため止まってしまっていますが、落ち着き次第再開する予定です。
自社サービスへのコミット
Sora Labo
さくらインターネット様の支援を得て、 Sora を無料で検証できるサービスを公開しました。
- 個人で触ってみたいと考えている方
- 評価版の前に動作を確認したいと考えている企業
思った以上に多くの方に利用いただきました。
ただ、運営も難しく「企業での利用は申請が必須」というのを無視して利用される企業もいらっしゃったりしました。
来期はサンプル周りを改善したり、個人での利用をしやすくする仕組みを作っていければと考えています。
さくらインターネット様にはとても感謝しております。本当にありがとうございます。
Ayame Lite
Ayame を書き換えてから、かなり安定して動作するようになりました。のべ 25 万接続以上を利用いただいています。
今期はほとんど手を入れられませんでしたが、来期はメンテナを社内から社外に切り替えていこうと考えています。
Ayame Lite を正式リリースできるかどうかはわかりませんが、かなり使っていただいていることもあり、なんとかしていこうと思います。
9期に向けて
来期も自社製品への投資は継続していきます。それとは別に「次の一手」として「主力製品である Sora を採用したくなる OSS の提供」をやっていきます。
詳細は別にブログを書いたので、興味ある人はどうぞ。
すでに仕込みを始めています。年内には Sora を採用したくなる OSS の第 1 弾を公開できると思います。