見出し画像

Game Senpai アップデート実装リスト (随時更新)

格闘ゲームのレッスンでお金を稼げるサービスGame Senpai 」を、2022年7月1日に稼働開始させました。

日本語表示
英語表示(日本語である程度火種ができてからの本格プロモーション予定)

格ゲーでご飯食べて行きたい人にとっては Game Senpai は希望になるサービスだと、手前味噌ながら思います。最初のページをちらっとだけでも見ていって下さい!

で、稼働開始まで2年半の時間を開発にかけました。ベータ版としては合格点の出来とは思うのですが、完全体までは程遠いです。ここから先は、使っていただいている方たちからのご要望を取り入れて機能やデザインをアップデートしていくのが良いサービスなんだろうと思います。

そんなわけで、今後実装していく機能をこの記事に書いておきます。是非、「こんな機能入れてよ」、「こんな機能どう?」、「この優先順位上げて」、「これ要るぅ?」などなど、大小なんでも結構ですので、建設的なご意見頂けると嬉しいです!
是非是非宜しくお願いします。

※ 実装順は基本的にリストの上からですが、成り行きや実装作業の大変さによっては前後させることがあります。(リストに番号振ると逆に混乱しそうなのでやめときます。)
※ ツイートへのコメントでご意見頂けると、僕にとっては一番都合が良いです。が、この記事へのコメントや Twitter の DM などでも全然嬉しいです!
※ この記事の公開から時間が経っていても、お気になさらずにご意見いただきたいです!



実装リスト:

- SendGrid をアップグレードする。- DONE!

- ユーザーがアカウント削除できるようにする。(基本的な機能が実装されてなくて申し訳ないです・・!)- DONE!

- Twitter 連携ができない件。Game Senpai 英語アカ Twitter の復旧を Twitter に催促する。遅すぎる。- DONE!

- s ページのレッスン検索で、検索日時範囲内に稼働時間が引っかかるレッスンを表示する。(現状は、検索期間に完全にあてはまる日時範囲に稼働時間があるレッスンだけ出てくるようになってる。)- DONE!


- ユーザー報告:レッスンページのレイアウトが iPhone 13 Pro MAX で大幅に崩れている。確認・修正する。(修正後、Twitter で報告。)- DONE!

- lesson ページと profile ページの Senpai 画像の下辺りに、Twitter と配信サイト(YouTube、Mildom、Twitch、OpenRec)のアイコンとリンクを入れる。(それぞれ、連携/入力されてればアイコンが出現する。)- DONE!



- s ページで、Lesson でなく Senpai を探せるようにする?日付指定に入力がなければ、Senpai(レッスンを一つでも持つユーザー)が検索される?
⇒ ユーザーを検索結果にするのではなく、「日付指定の入力をオプションにし、日付指定がない場合は Lesson availability が検索対象から外れる(検索ワードは有効)」で良さそう。(検索ワードも入力がなければ、全レッスンが検索結果になる。全然悪くない、むしろ良い気がする。)
⇒ 検索日付入力値を empty にするにはどうする? 視覚的にも空にしたい。Date/Time Picker の "Clear" を押しても入力値は empty にならない。
⇒ 実装するなら、チェックボックスかボタンなどをクリックしたら Date/Time Picker を非表示にするなどして、検索結果も Data/Time Picker の値を無視する検索にすれば良い。ただ、
レッスンが増えてきたらでいい(理由:レッスンも少ないうちに見た目的にちょっと猥雑な UI は避けたいため)。

- ゲーム名の代わりに、レッスンにタグ(多分4つ)を入れられるようにする。検索ページでの文字検索対象。レッスンページで見易く表示される。- DONE!



- プッシュ通知(右上に出現する小さいポップアップ)機能付けたい。即決予約 / Instant Book / 予約リクエスト / Request Booking が来た場合、メッセージが来た場合、確定レッスン時間のリマインダーなど。note とか他のサイトでもやってるので、出来そう。

出来ないなら、Gmail のプッシュ通知のやり方を Twitter で広報する。理由:メールに気付いてもらえる & ユーザーが Game Senpai に張り付いてこまめに予約やメッセージをチェックする必要がなくなる。


- Index ページに、「人気の Senpai / Lesson 」や「新着の Lesson 」などのリストを(横スクロールの Repeating Group で?)表示する。(使えそうなプラグイン:これ / Tweet



- Favorite Lessons 機能(お気に入り)付ける。(現状、メニューにあるだけ。)



- 確定レッスンを Google カレンダーに簡単に入れられるようにする(設定)。クリックしてもらうボタン『 Google カレンダーに追加する』は多分サイト上(messages ページ:Bot からの確定メッセージ、bookings ページ:確定レッスンあたり)に置く必要ある。メール内には難しそう。



- Game Senpai が予約時間関係で問題なく使ってもらっていることを確認後:「予約リクエスト / Booking Request」できる最短時間を撤廃する(=現状一日前じゃないと「予約リクエスト / Booking Request」できないけど、それを撤廃して、レッスン前ならいつでもできるようにする)。
⇒ 「最短の予約リクエスト / Soonest acceptable」 の選択肢に「0」を増やせばいい。が、「予約リクエスト / Booking Request は 24時間後に自動キャンセルされる」機能はどういう処理にする?

 
- 「即決予約 / Instant Booking」もしくは「予約リクエスト / Booking Request」 する際に、Student が Senpai の「仕様ツール / Lesson-via tool」から tool をひとつ選べるようにする(ゲーム内で集まれる場所が出来るなら tool としてその場所も追加する?)。Student は、事前に、自身が使っている tool でのコンタクト情報(ID とか?)を入力している。Senpai / Student へのコンタクト情報がそれぞれが、予約確定自動メッセージに表示される。
 

- レッスン名やユーザー名、About me などの各項目に文字制限付ける。各入力欄近くに「現在文字数/最大文字数」を表示する。(参照『文字数カウント』あたり。プラグイン「Instant text」)
 


- ユーザー要望:レッスンを新規作成/編集する際、自分の他レッスンのスケジュールをコピーできるようにする。(実装後、Twitter で連絡する。)

 
- 本番の URL で、"I am not a robot" を Log in にも Sign up にも入れる?(参考:YouTube 動画 これこれ
⇒ まだやらない。とりあえず様子見。Game Senpai の場合は、レッスンを作れるようになるまでにアカウント登録後にもう1段階、bot に対する障壁(=プロフィール登録)があるから、bot にレッスン登録されることはなさそうだから。

- ☑「Weekly で設定した稼働可能時間は、自動で無限更新されていきます。止めたい場合は、Weekly から該当稼働時間を削除するか、Lesson OFF にするか、レッスン自体を消去してください。」の文言をどこか分かりやすいところに明文化する。(ホバー時のみでなく、何もしなくても目に止まるように。恐らく下画像の赤枠のどちらか。)
⇒ 無限自働更新機能はすでに廃棄決定済み(Workflow は残してある)。


- ☑ Weekly で設定した稼働可能時間を、『自動で無限更新させる』か『今週からの14週間のみ』かで選べるようにする。(チェックの記入 yes/no で処理できる。)
⇒ 無限更新機能はすでに廃棄決定済み(Workflow は残してある)。


- s ページから lesson ページに遷移した際に、s ページで検索していた日時を lesson ページへ引き継ぐようにする。


- s ページのレッスン表示で、評価順など、ユーザーが表示順を選べるようにする(価格順はやりたくない。価格を下げるユーザーを増やす → Game Senpai の収益が下がる & 稼げない Senpai が増える & 生活できるほど稼げる Senpai の出現が遅くなるので、業界のためになる気がしない)。


- 各ユーザーに言語欄設ける。(レッスンごとではなく、ユーザーに。複数個の入力可。)
→ s ページに、言語入力欄(Multiple input)を設ける。初期値は各ユーザーの言語。
 
 
- Senpai への Stripe 登録の負担を減らしたい。現状は登録がけっこう面倒くさい。Stripe Express にする?(参照:これこれこれ
 
 
- lesson ページの予約ユニット:開始日時と終了日時の入力がある状態で「即決予約 / Instant Book / 予約リクエスト / Request Booking」ボタンを押して初めて Availability チェックが入るようにする? 現状では、Backend workflow の色んな機能を同時に動かすことによるサーバー負担が心配だから分けてあるが。これを実装するのは date range と overlaps with を使えるようになってからか?

 
- s ページのレッスン検索で、検索時間帯が Booking ですでに成立予約している場合は、検索結果として出さないようにしたい。多分相当大変だし検索スピード遅くなるかも。しかもユーザーさんにとってそこまで使いやすくなるのか微妙。
やるなら、date range と overlaps with を使ってみる。(なので、多分作業優先順位低くなる。)
-- date range と overlaps with に関する説明:
『予約システムを扱う上で、とても楽な方法を知ったので、シェアしますね。田中さんが実装している方法だとかなり大変だと思いますが、これだと楽です!具体的には date range という型と overlaps with というメソッドを利用します。date range というのは、スタートとエンドを入力する型になります。
設定の仕方は A <range> B のような形ですね。A がスタートで B がエンドの時刻が入るというようなものです。
予約系のシステムだと event などの data type に StartTime や EndTime などと一緒にフィールドを作って保存しておきます。これに対して overlaps with というメソッドを使用すると、data range フィールドのリストに対して被っているかどうかを判断してくれます。
被っていなければ、予約できるという形にできると思いますので、判定が非常に楽になります。』
⇒ Start の日時と Finish の日時の表現が長くなる場合は、組めなくなるっぽいので、Start の日時と Finish の日時を Custom state などで短縮して表現すると上手くいきそう、とのこと。
 
 
- 日本の格ゲー界隈である程度認知されたら or ユーザー数がある程度になったら、Iubenda のバナー表示対象を Worldwide にする。


-「Bigger when hovered」となっている全てのボタンから「Bigger when hovered」を削除して、代わりに「ちょっと色が変わる」などのエフェクトを加えたい。

 
- パスワード入力時にパスワードが見れるようなオプションを付ける。
 

- サイトサムネ用(のみ)に、英語コピー "Fight. To Live." と日本語コピー "闘って、生きる。" を一枚の画像内でまとめたい(以前ちょっと試してみたけど、出来なかった)。


- だっさいロゴ何とかする。(新案ラフ考案済み)

フリー素材の下僕みたいな現ロゴ



- プロフィールのユーザー名の後ろの文言(↓)を、ユーザーが自由に入れられるようにする? ユーザーさんにこの機能を欲しいか訊いてみる。


- profile ページの、レッスンが無い場合の文言下にメッセージアイコンを入れて、「レッスン作ってくれ」って言いやすくする。


- profile ページの Edit Profile ボタンと同じ位置に、プロフィールページが Current User ではない場合、メッセージアイコンを表示して連絡が取れるようにする。文言は「Ask to make a Lesson to your liking. 」とか?


- Index の『What you can do』部分に、別ページから持ってきた各機能の画像/Gif を貼る。


- 格ゲーをプレイしているときの瞳孔の開き具合と Game Senpai サイトを見ているときの瞳孔の開き具合が差がありすぎず心地よい感じになっているか訊きたい。

- ☑ bookings ページで、「レッスンが終わったけど Current User のレビューがまだされていないレッスン (= Lesson availability)」に、なんらかの「レビューしてよ」のマークを見えるようにする。- DONE!
 

- ☑ Senpai への "Lesson fee sent" メールのタイトルに、金額表示したい。ただ、正確に分からないなら、メール Body に「正確な Stripe 手数料差し引き後の金額はご自身の Stripe アカウントで確認してください」と文言入れる。
⇒ Senpai の Stripe 契約や国によって手数料は変わるので、正確な把握は不可能。メール文言に「下の金額から Stripe 手数料が引かれます。Stripe 手数料はあなたの国や Stripe 契約によって変わります」と追記する。
- DONE!


- 入力フォーム間を Tab ボタンで上から順番に移動できるようにする。(参照。プラグイン: "Fix Tab Order")


- ☑ 予約管理 / bookings ページの表示速度を上げるため、各タブ(Ongoing、Done、All deals)の表示件数を絞る?20~30件とか?ページネーションではなく、下の方に "Load 20 (or 30) more" というボタンを置いて、それを押すと次の 20 (or 30) 件をロードして表示する?
⇒ 表示速度が上がるよう(=データ検索の必要がないように)、User に紐付いたリストにした。Done と All deals のリストが相当膨れ上がらない限り大丈夫なはず。
 

- メール送信案件増やす?
-- レッスン開始のリマインダー:1日前 + 3時間前?
-- レッスン削除(実際は見えないだけだけど)後
 
 
- Review star の計算がおかしい場合には Plug-in「Math.js」を使う(参照)?もしくは Backend workflow にある計算 API を使う。
 
 
- 画像を使用するユーザーがかなり増えたら、表示する画像サイズをなるべく小さくしてユーザーのディバイスにかかる負担を減らす(参照:The Ultimate Guide to Bubble Performance, P73)。使うプラグイン "Upload Buddy"。ユーザーが登録する画像データを圧縮してくれる。サイトがスケールしても Bubble のプランを引き上げる必要がなくなるかも(参照:この動画の @32:01)。

 
- レッスン新規作成の曜日指定のポップアップの曜日表示で、直前に表示されていた曜日が一瞬表示されるのを避ける。(多分 Reset コマンド?)
 

- Input や Multiline input の Placeholder が入力欄にフォーカスすると入力欄から飛び出るプラグインを使いたい。create_profile ページや create_lesson ページで。

 
- create_lesson ページの通貨あたりの Tooltip などをおしゃれにする?(プラグイン「Air Tooltip」、YouTube


- ☑ おしゃれな通知(notification)表示にする? - DONE!
-- 下記画像:Bubble プラグイン作ってるスタジオのツイートプラグイン)。Google Calendar の通知みたいに、出た通知を非表示にする方法があればいいな。


- サービス「お名前メール」を使って、複数メールアドレスを作る。 https://www.onamae.com/service/mail 』約100円で、同じドメインのメールアドレスを無制限に作れる。例:jun@game-senpai.com とか admin@game-senpai.com とか。設定方法(ページ上部の『※レンタルサーバーRSプラン / 共用サーバーSDプランをご利用中のお客様は こちら』は無視して良いはず。お名前ドットコムのサーバーを契約する必要はないはず)。
 


- 事業用住所を買って、その住所を公にする。(Iubenda、多分 Stripe も)



- 試す:
User ID の slug 部分がツイッターの @~ だったら良さげでは?(Metafy ではそうなってない。)実装できるか微妙。
https://metafy.gg/@zuppy/schedule
・ツイッター同期ユーザーのみ
・ユーザーがツイッター側でのみ @~ を変更しちゃったらどうするか。全くの他人と被る可能性あるからダメか?
・下画像2枚めの URL で Metafy に飛べる。真似したい。



- タイムスロット部分の UI は、将来は、上記の Metafy とか以下のサイト(Bubble で作られた)のようにする可能性ある。(ノーコードラボさんの記事も参照)

-- オレ的理想の Game Senpai の予約 UI は、「下画像(サイト)の右側が右側にある + Game Senpai のカレンダー部分が左側にある」かな。カレンダーでスケジュールがマクロに一覧できて、下画像の予約 UI で予約できる(予約できないタイムスロットはグレーアウトしている状態)。難しいけど多分出来る。


- Group Lesson 的なのが出来ると良さげ。Senpai が各レッスンに最大レッスン人数を設定し、その人数内で Student が時間枠を指定した上で他の Student を募集できる。レッスン料金が割り勘になる。この機能そのものより、周辺機能の実装が大変そう。(Student 募集中に Senpai のその時間枠が埋まってしまった場合にメッセージとメールを送るとか、集まった全 Student と Senpai で一つの Conversation を作るとかなどなど。)
 
 
- YouTube 動画やブログなどの、無料で強くなれる教材を、キャラ別に載せていく?("Free tutorials" 的な名前のメニューを追加する?)(ユーザーに、『ツイッターでメンションして教材をご紹介いただければ、(僭越ながら内容を確認させて頂いた上で)積極的に Game Senpai に追加させていただきます』的なこと言う。)← Forum とカブるので多分やらない。
 

- 予約管理 / bookings ページのカレンダー内のイベント(予約)を押すと、左側のリストにスクロールするようにしたい。できそう(参照動画)。
↓ 中途半端にやってみた。なんとなく実装できそう。


- Weekly Lesson availability 周りの workflow、見直したほうが良いかも? Recursive workflow (= Schedule an API workflow をループさせること。参照:The Ultimate Guide to Bubble performance。) で出来そうな気がする。
⇒ 無限更新機能はすでに廃棄決定済み(Workflow は残してある)。
 

- ユーザー数が 50,000 人になるか年間収益が $25,000,000 以上になったら CCPA (California Consumer Privacy Act) に適応させる。人生何回かかかるかも。
 

- スマホアプリにする必要が出たら、Henry($9/m or $99 once)使うのが良さげ?


- 以前作った Integromat(現 Make)の Scenario を Make に移管する。
⇒ 現状 Make を使わなくなったので必要なし。




今のところは以上になります。
「こんな機能入れてよ」、「こんなん使いたいかも?」、「この優先順位上げて」、「これ要るぅ?」などなど、大小なんでも結構ですので、ご意見お待ちしています!

田中純一 Game Senpai (https://www.game-senpai.com)


この記事が気に入ったらサポートをしてみませんか?