はじめまして。クラスター株式会社でwebエンジニアをしているわらび餅です。
ここ1年でクラスター社のwebエンジニアが1人から3人(自分の他に1名)に増え、またデザイナーも2名入社したことでwebをいろいろ改善することができました。
今回は、2019年の間にclusterのwebにどのような変化が起こせたかを振り返っていこうと思います。
あまり技術の話は書かないので、ご了承おきください。
これはcluster Advent Calendar 2019 6日目の記事です。
前日はあらーと∞さんの「 cluster SDK を用いたギミックの作成 」でした。
機能面の変化
この1年間で、webページに様々な改善が入りました。
イベントページのデザイン刷新
2019年、クラスター社は特に「イベント」に力を入れた1年でした。
当時のwebページはシンプルなデザインでしたが、「イベントに力を入れるから、webでもワクワク感を出そう!」という目的から、イベントページのデザイン刷新を行いました。
配置の見直しやキーカラー・ダークテーマなどの機能追加により、開催するイベントの特徴をwebページでも表現できるようになっています。
Before After
* 現在、再度イベントページのデザイン見直しが行われており、新しい見た目のページが近々リリースできると思います。
イベント情報の露出を増やした
トップページの構成を見直し、カルーセルや「本日開催されるイベント」を追加することで様々なコンテンツを伝えるようになりました。
カルーセルは「アーカイブ開始を大々的に伝えよう!」という目的から急遽(公開1週間ほど前に)実装された経緯があります。

またイベントを探すページができたことで、ユーザーのみなさんが開催されるイベントも、漏れなく案内できるようになりました。

ライブ配信
クライアントが使えない人でもclusterを体験できるように。という目的からストリーミング視聴機能も実装されました。
配信に関する複雑な部分はバックエンド側で担っていただけてるため、web側はその複雑さを意識せずに配信機能を実装できています。
実は360度動画でclusterに参加する、という検討も行われていましたが、実装が現実的かどうか考えpendingとなりました。

aboutページ
clusterの使い方を紹介するページが、参加者向け、イベント主催者向けの2種類が追加されました。
アカウントの新規登録に繋がる率が他のページよりかなり高い、という数値が得られています。
ファイル管理
clusterでスクリーンに投影するスライドや動画を、以前はclusterからしか登録できなかったものが、webからも登録・削除できるようになりました。

トリガー管理
元は社内向けに作られたツールとして存在していましたが、メンテナンスコストが高かったこともあり、webに機能が移植されました。
webに移植するにあたり、(JSONを読み込む必要があるなど)使い勝手の課題がありつつも、社内に閉じる必要が無くなったため、一般開放されています。

写真ページの改善
メンテナンスが後手にまわっていた写真ページにもメスが入り、パフォーマンスの改善や、選択削除など機能の見直しが行われています。
開発環境・実装の変化
webの見た目だけでなく、その開発環境にもいろいろと変化がありました。
フレームワークやweb業界で人気のツールを取り入れ、1年前と比べてかなり業界の標準に近づいた感があります。
MaterialDesign、Material-UIの採用
webの改善を進めるにあたり、新しく作る画面ではなるべくMaterialDesignを取り入れてく事になりました。
実装にはMaterial-UIというライブラリを採用しています。
TypeScript化
以前までcluster webの実装は9割がFlow、1割がKotlinJSで組まれていましたが、web業界でより普及しているTypeScriptに移行しました。
KotlinJSを気合いでFlowに直し、FlowからTypeScriptは自動で置換しました。TypeScriptのstrictルールは全てoffにし、1つずつonにしていくことで、徐々に安定したコードに差し替えを進めています。
styled-components
スタイルの設定を、Sassからstyled-componentsに変更しています。
コンポーネントの記述が1ファイルに完結し、個人的には好みの実装になりました。
E2Eテスト
クラスター社はリリースの前にQAテストを行っていますが、人手によるテストでは抜け漏れがどうしても起きてしまいます。
そこでアカウント登録やチケット購入のような、バグが起きたらまずい部分について、自動でE2Eテストを動かすようになりました。
人手によるテストの負荷を減らし、またバグにすぐ気付けるという安心感からノビノビと開発ができるようになりました。
テストにはWebdriverIOを使っています。
おわりに
細かな改善や停止してしまったアーカイブの機能は省略していますが、それでも並べてみるとここ1年でガラッと変わった感じがしますね。
記事中ではあまり触れていませんが、人数が増えた他にも、バックエンド担当の方々のサポートもあったおかげで、webの改善をここまで進めることができました。
2020年を迎える前に開発環境もかなり整えることができたので、来年は更に改善を加速させていきます!!
明日は弊社Unityエンジニアのねおりんさんで、「clusterのアーカイブはこうやって動いていた」です。ご期待ください。