こんにちは、おのぽんです。
今回は、「PONNO」という命名の秘話や、いよいよ運用の開始、開始直後に起きた様々な出来事をお話していければと思います!
(ぽのちゃん出てこれるだろうか)
僕がなぜPONNOシステムを開発することにしたのか、PONNOシステムの方向性、機能実装中のできごと、デザインやリリース作業などについては下記のブログを読んでみてください。
PONNOシステム命名のきっかけ
前回の投稿で、僕はSPOTTOの少人数グループラインにて、ユーザ登録フローの見直しやバグの洗い出しを行いました。
それと同時に、僕が今まで作っていたこのシステム名の名前も募集しておりました。
開発当初、僕はまぐちゃんの睡眠時間を〜〜〜ということでまぐシステムと呼んでました。
特に名前にこだわりもなかったので、「なんとなくまぐシステムでいくかなぁ」と考えていたところ、様々な案が出てきたわけです。
僕の中ではせっかくまぐちゃんがつけてくれたし、かつ命名センスもとても良かったので「PONNO一択かなぁ?」と言う感じ。
他の人も良さげな感じだったので、めでたく「PONNOシステム」と名付けられました^^
いざ、SPOTTO全員に共有
少人数でのユーザ登録で詰まったところなどを解消し、フローも整え、みんなに共有しました。
PONNOシステムが受け入れてもらえるかの不安
正直不安はありました。ユーザ登録がうまくいくかなということよりも、「このシステムをみんな本当に使ってくれるのかな?」という不安は大きかったです。
PONNOシステムを利用するためには、「ユーザ登録を行い、チームメンバーは本名を登録してもらう」というフローが存在するのですが、「本名登録って怖いって感じる人が多いんじゃないかな?」というのが正直な感想でした。
試合申込をスムーズに行えるようにと、本名登録欄を設置
当初の予定では、
- ログインID
- パスワード
- ユーザ名
くらいでいいかなと思っていたものの、「SPOTTOから試合に出る場合、パっとチームメンバーの情報を見て記述できるようにしたい」という要望もあり、管理者と本人だけが本名を確認できるように開発過程で変更しました。
しかし、「ゲストの方に本名を入れてもらうのも何か違う気がする」との考えもあったので、新規登録時には本名登録を行わないようにし、ユーザ変更で本名を追加できる状態を作りました。
このような経緯で、ややフローが複雑化してしまったのと、嫌がる人もたくさんいるのではないか?という不安な気持ちがあり、内心ドキドキしていましたが、みんなの反応は違いました。
PONNOに対する肯定的な反応
フローが複雑だったせいで、本名登録をせずに終わってしまう方も中にはいらっしゃいましたが、肯定的なご意見やLINEスタンプ、練習会にて多くの称賛の声を直接頂くことができました。
PONNOシステムがSPOTTOのみんなに受け入れて頂き、内心ホッとした瞬間でした。
初運用は散々な結果
当初、Herokuというサービスを利用していたため、無料だったものの、アメリカでサーバが動いていたため動作が遅かったり、30分何もないと勝手にスリープしたりと、あまり運用に耐えられるものではありませんでした。
(厳密にはサーバではないですが、ここでは便宜上サーバと表現しています。)
最初は、遅くてもいいかと思い使ってみてましたが、
- リーグ戦をやり始めるととにかく遅い
- ajaxの通信が重たすぎて、通信が遅すぎることによる予期せぬ挙動がある
- 鬼遅いからストレスしかない
という状況だったので、有料サーバに置き換えることにしました。
しかし、勝手に僕がやり始めたシステム開発。SPOTTOのみんなから有料サーバ費用をいただくわけにはいきませんでした。
なので、個人的に借りてる有料サーバの上に無理やり載せることができないか挑戦することとしました。
もともとそのサーバに載せることを予定していたのですが、やや技術面で面倒な問題を抱えていたため、避けていました。が、もう一度立ち向かうこととしました笑
有料サーバ移行直後、大事故ががが・・・
なんとか有料サーバに移行ができたので、みんなに周知したところ、とんでもない参事になりました。
ちょっとライングループの盛り上がり方を載せたいのですが、画像が長すぎて修正が大変なのでやめておきます←
簡単に言うと、Aさんが自分のアカウントでログインしたと思ったら、「こんにちはBさん」と全然違うアカウントでログインしたように見えてしまっていました。
無料サーバと有料サーバで動かし方が違ったせいもあり、無料サーバの方では起きていないバグだったので、完全に想定外、かつみんなが利用できない状況を作ってしまい、内心心臓ばくばくの汗だくだく状態でした(ガチ)。
(この時のSPOTTOのメンバーはむしろ面白がって「わいこの人になったわ!!」とか「こういう斬新なシステムあってもよくね?w」とか盛り上がってました^q^笑)
「もしかして有料サーバの方ではPONNOシステムは動かせないのではなか・・・?」とまで考えつつも、原因究明および問題解決を急ぎました。
突然現れた救いの手
その1でもちらっと書きましたが、SPOTTO内にエンジニアが数名いるようです。
なんと、そのうちの1人がLINEをくれ、原因究明を一緒に手伝ってくれました・・・!
LINEをいただき、技術面のお話が伝わる心強さもあり、本当に救われました。
一緒にPC内に開発環境を構築後、本番環境(SPOTTOのみんなが実際に利用している環境)の状況をPC内の環境で再現し、解決を試みようとしてくれました。
が、深夜遅くまでかかってしまったので、その時はお開きとし、別日にまた一緒にシステムを見直すこととしました。
ただ、寝ながら色々考え、今までの現象を一つ一つ頭の中で考えながら、「もしかしたら」という一つの答えにたどり着きました。
朝起きて、早速その部分を直してみた結果、無事システムが稼働し始めました。
キャッシュが原因であると特定
原因はキャッシュでした。
Aさんがログインした後に、Bさんがログインしたとします。
その際、ログイン後のURLは同じものになるようにしています。(ログイン後は2人とも https://hogehoge.com/ にアクセスすることになる)
この時、サーバではキャッシュというものを残し、それを利用する設定になっていました。
キャッシュというのは、サーバ内でページの情報を記憶することで、サーバの設定は同じURLへのアクセスが来た際、キャッシュした結果があればそれを表示するようになっていました。
簡単にいうと、
Aさん「ログインぽちー」
サーバ「はいよー https://hogehoge.com/ にアクセスするのねーついでにこのページの情報記憶しといたろ^^」
Aさん「お、こんにちはAさんって表示されてるわ、ええな^^」
Bさん「ログインぽちー」
サーバ「はいよー。お、さっきAさんもアクセスしてた https://hogehoge.com/ やんけ。同じ情報表示しといたろ^^」
Bさん「ふぁ!?こんにちはAさんと表示されたんじゃが!?」
これが、SPOTTO内で起きた大きな障害の全貌でした。
なので、キャッシュ機能を利用しなくすることで、事態は収束を迎えることができました。
安定し始める運用
有料サーバにしてから、小さなシステムバグはあったものの、すぐに修正し、徐々に運用が安定し始め、次第に僕なしでも練習会で利用できるまでになりました。
開発を始めて56日。PONNOシステムが完全に独立して動き始めた瞬間でした!
予期せぬ利用のされ方
ここは余談なのですが、なぜかユーザ名で遊ぶ人が増えすぎて、誰が誰かわからない状況もしばしば見受けられます笑
みんなが楽しく利用してくれているのであれば、それで良いかなと思うのですが、名前が長いせいでリーグ表の表示が崩れてしまっているのが僕の中で気がかりなのでした笑
「ニックネームは6文字くらいやろ」と見込んで開発を進めた僕が馬鹿でした・・・。
ディグの支配者とかあんころもち一世なんて想像できるか!!!笑
こうしてSPOTTOという命名、運用後様々な問題がありつつも、救いの手があったり、少しずつバグを無くして安定稼働したり、各々楽しく利用していたり。
短い間に本当にいろんなことがありましたが、やっとみんなが快適にPONNOシステムを利用できる状況を提供することができました。
次回は、LINE bot ぽのちゃんの開発の裏側をお話していこうと思います!!
次回でラストになるかな!多分!!笑
最後までお読みいただきありがとうございました!!^^