バッティングしないようなプログラム処理も 開発のこだわりを聞く
――開発でカギとなったのはどういった部分でしたか?
工藤 ウェブ会議ツールでは資料共有の機能が不可欠ですが、その場合の共有方法は一方通行で、共有される側は閲覧することのみ可能です。ただBuddyBoardではそうではなく、ひとつのノート画面に複数の人が同じタイミングで書き込んで共有することもできる、いわゆるコラボレーションの機能を搭載するべく開発しました。
また書いたらすぐに反映できるだけでなく、ノート画面の同じ部分に同じタイミングで書き込んだとしても、バッティングしないようにすることも、プログラムを上手く処理することで可能にしました。また、なにか書き込んだあと、サーバーの応答を待たずにどんどん書き進められるよう、スムーズな操作感を実現するための工夫も施しました。
――開発にあたって苦労したことはありますか?
小坂 どんなものを作るのか、なにを目的とした製品にするのかという方向性は、プロジェクトが立ち上がってから大きく3回変更しています。最初に提案したときは、私の企画の発端でもある思考整理に焦点をあてていたため、PCと接続して使用するような手書きの入力デバイスを想定していました。開発を進める中、新型コロナウイルス感染症拡大による事業運営の取り組みかたも大きく変化したこともあり、私が以前所属していた部署の仲間にその時の困りごとを聞くなどした結果、最終的に現場とオフィスのコラボレーション製品という方向性に落ち着きました。
どのユーザーのどの課題を解決することにフォーカスすれば喜んでいただけるのかは、実際にリリースしてみないとわからない部分もあります。だからこそ製品の方向性が定まらない時期は悩むことも多かったです。
――では、ソフトウェアエンジニアとしてこだわったポイントはありますか?
工藤 ひとつは開発リソースの配分です。最初はiPadだけでなく、WindowsやAndroidなど、ほかのデバイスでも利用できるようにしたほうが、ユーザー数が広がるのではないかという議論もありました。ですが、最初の段階から手を広げてしまうと開発リソースが分散してしまい、そのすべてがダメになってしまう確率が高い。このプロジェクトは開発リソースに余裕があったわけではなかったので、まずはiPadというプラットフォーム1点に絞り、使いやすい製品を作ろうと考えました。
ただiPadだけだと使いかたに広がりをもたせることが難しいので、ウェブブラウザでノート画面を共有できる機能も加えました。ウェブブラウザからは閲覧のみ可能ですが、iPadを所有していないユーザーとも情報を共有できるとして、多くのユーザーからご好評いただいています。
もうひとつは、ネットワークのプロトコルやデータの持ちかたを汎用的な形にしたことです。当初のプロトタイプ版ではiPadアプリのみで利用できる仕様として設計していましたが、将来的にほかのプラットフォームに展開する際にネックになると考えていました。そこで、ウェブブラウザの閲覧機能を追加した際に、iOSに依存した設計は見直し、汎用的な仕様に作り直しました。また、一度製品をリリースするとあとから仕様を変更することはとても難しいので、将来の機能追加の際にもデータの互換性を維持できるような拡張性を持たせた設計に作り変えました。このような変更を、納得いくまで何度も繰り返し、リリースに至りました。
今後は、機能追加や、ほかのプラットフォームへの対応を視野に入れていますが、それらの互換性を保ったままサポートできる予定です。
――今後、BuddyBoardをどういったサービスにしていきたいですか?最後に展望をお聞かせください。
小坂 離れた場所で働いていると、同じ会社内であっても現場の情報は意外とよく知らなかったり、曖昧な部分があるまま進んだりすることも多いのではないでしょうか。ですが、現場の情報やそこで得た知見は、非常に重要で貴重な資産だと考えています。いちばんの製品のコンセプトである「現場とほかの場所をつなぐ」を実現するべく、それらの情報をいろいろな立場の人が簡単に共有できるようなサービスにしていきたいです。
現在当社の社内でBuddyBoardを活用している部署の使用例を見ても、製造業をはじめ、現場のある業種にはお役に立てると思っています。ほかにも教育の現場で、オンライン授業でお困りな先生方や、私の最初のきっかけのように、個人で考えを整理する用途でもしっかり活用していただけるよう、進化させていけたらと思っています。
工藤 システム自体はかなりクラウドネイティブな形にしていますが、まだ行き届いていない部分も多くあるので、より拡張性や堅牢性の高いシステムにしていきたいと思っています。機能面でも、動画を活用した機能や、クラウドのストレージ機能などを、今後取り入れていきたいですね。
また汎用的なシステムにしているからこそ、機能を拡張するだけでなく、BuddyBoard以外のアプリをこのシステムに相乗りさせることもできると考えています。将来的には、ひとつのバックエンドのプラットフォームのなかに、リアルタイムコラボレーションのための複数の製品が加わっている形でサービスを展開していくことも視野に入れていけたらと思っています。(了)