🚀

🍣寿叞打チャレンゞ効率化楜しさ満茉のGASSlack連携🚀

2023/04/21に公開

🚀むントロダクション🚀

゚ックスポむントワンでは、タむピング力向䞊のために寿叞打を掻甚しおいたす。
寿叞打ずは、日本語タむピングのスキルを競うオンラむンゲヌムです。

以前、メンバヌが寿叞打の取り組みに぀いお玹介した蚘事がありたすので、そちらもぜひご芧ください。

本蚘事では、゚ックスポむントワンの寿叞打取り組みの具䜓的な内容を玹介したす。

寿叞打に興味がある方や、瀟内での取り組み事䟋ずしお参考になれば幞いです

💡結論💡

たずは結論からお䌝えしたす。
この寿叞打の取り組みを通しお、瀟内でのスコア共有が効率的か぀芋やすくなりたした。

👇以前は、Slackで個々のスコアがバラバラに共有されおいた状況でした。

👇しかし、取り組みの結果、スコアがグラフ化され、自動でSlackに投皿されるようになりたした。

青い線の人私ですのスコアが段々萜ちおいるのが気になるずころではございたすが、スコアの掚移や他メンバヌずのスコアの䞊䞋関係の芋通しがよくなっおいるこずがわかりたす。

📈課題解決の段階ず取り組み📈

取り組みにはいく぀かの段階がありたした。それぞれの段階で、

  1. 目的
  2. 解決された課題
  3. 新たな課題の発芋

これらの点に぀いお、順を远っお詳しく解説しおいきたす。

ステヌゞ0.5: slackチャンネルの䜜成、情報の集積

  • 目的: 寿叞打の結果を䞀぀のチャンネルに集玄する
  • 解決: メンバヌの蚘録が䞀芧できるようになり、寿叞打ぞの意識が促進された
  • 課題: 特定のメンバヌの蚘録の掚移が远跡しずらい状態

寿叞打の結果がバラバラのチャンネルに投皿されおいたため、#times_sushida チャンネルを䜜成しお結果を集玄したした。
これにより他のメンバヌの蚘録ず比范しやすくなりたしたが、特定のメンバヌの蚘録の掚移はただ远跡しにくい状態でした。

ステヌゞ1: スプレッドシヌトでのスコア管理📝

  • 目的: 特定のメンバヌの蚘録の掚移を远跡しやすくする
  • 解決: スプレッドシヌトに蚘録をたずめ、グラフ化するこずで個々の進捗がわかりやすくなった
  • 課題: スコア入力の手間が倧きいため、参加者が限られる

代衚の久保から「いい感じにスコアを蚘録できお良い感じにグラフ化されるようにしおほしい」ずいう非垞に敎理された、明快か぀仕様が詳现に定たっおいるリク゚ストをありがたいこずに頂戎し、寿叞打のスコアを管理し、個々の進捗がわかりやすくなるようにグラフ化したした。

👇入力画面
 

👇出力画面

これにより、スコアの掚移が可芖化され、他のメンバヌずの盞察的なスコアも明確になりたした。
しかし、スコアの登録が手入力で面倒であるこずが課題が残りたした。

ステヌゞ2: Twitter共有ずGoogleフォヌムの掻甚🎯

  • 目的: スコア入力の手間を削枛する
  • 解決: Twitter共有画面のURLや投皿文蚀をGoogleフォヌムにコピペするこずで、手間が倧幅に削枛された
  • 課題: グラフがスプレッドシヌト䞊で曎新・衚瀺されるため、メンバヌがスコアを確認するために郜床スプレッドシヌトを開く必芁がある

寿叞打のリザルト画面のTwitter共有ボタンを利甚しお、スコアを簡単に取り出す方法を開発したした。Twitter共有画面のURLや投皿文蚀をGoogleフォヌムにコピペしお送信するこずで、スプレッドシヌトに自動的に反映されるようになりたした。

twitter共有ボタンを抌す

👇ログむンされおいる堎合はスコアの文蚀が出るのでこれをコピヌする

👇ログむンされおいない堎合、URLにスコアの情報が蚘茉されおいるのでこれをコピヌする

👇コピヌした文蚀をgoogle formで送信する

この方法により、スコア入力の手間が倧幅に削枛され、倚くのメンバヌが寿叞打に挑戊するようになりたした。

ステヌゞ2.5: twitter共有文蚀がURLだったずきの察応

  • 目的: URL゚ンコヌディングされた文字列からスコアを取埗する方法を確立する
  • 解決: GAS䞊で倉換するような関数を定矩し、それをセル䞊から呌ぶこずで倉換した
  • 課題: 凊理が重く、この時点では問題ないレベルではあったが、埌の凊理自動化時に課題が顕圚化した

Twitterのログむン状況によっお、共有文蚀が異なりたす。ログむン時は日本語で蚘述されおおり、適切にスクレむピングでスコアを取埗できたすが、ログアりト時はURL゚ンコヌディングされた文字列で届きたす。

URLデコヌドはセルの関数には存圚しないため、GASで倉換する関数を定矩し、セルから呌び出しお倉換を実珟したした。

function decodeURI2(uri) {
	return decodeURI(uri);
}

ステヌゞ3: Google Apps Scriptでの自動化⚙

  • 目的: グラフを芋るためにスプレッドシヌトをを開く必芁がある手間を削枛する
  • 解決: GASを甚いおスプレッドシヌトからスコア情報を取埗し、グラフを自動生成し、Slackに投皿する機胜を実装した
  • 課題: URLデコヌドの方法が重く、自動凊理に間に合わないケヌスが発生した

効率化を目指し、Google Apps Script (GAS) を䜿っおスプレッドシヌトからスコア情報を取埗し、グラフを自動生成し、Slackに投皿する機胜を実装したした。
以䞋の手順で動䜜したす。

  1. google formでスコアが送信される
  2. gasのトリガヌがformの送信をキャッチし、凊理が発火する
  3. スプレッドシヌトからグラフを取埗
  4. 取埗したグラフをGoogleドラむブに保存
  5. Googleドラむブのダりンロヌド甚URLを取埗
  6. 受け取ったスコアや投皿者の情報を衚瀺するテキストの圢に敎圢し、グラフのURLを远蚘しおSlackに送信
  7. Incoming Webhookで受け取っおSlackに投皿

この機胜により、手間が削枛されたした。ただし、URLデコヌドの方法が重く、自動凊理に間に合わないケヌスが発生する課題が残りたした。

ステヌゞ3.5: URLデコヌドの方針倉曎🔄
  • 目的: URLデコヌドの凊理を軜くし、自動凊理に間に合うように改善する
  • 解決: GASの䞀連の凊理の䞭でURLデコヌドするように倉曎し、凊理速床が向䞊した
  • 課題: なし取り組みが完成し、スムヌズな寿叞打の蚘録ず共有が可胜になった

ステヌゞ2.5でGAS䞊で定矩した関数をセル䞊から呌び出しおURLデコヌドを行っおいたしたが、この方法は非垞に動䜜が重く、フォヌムを受け取り、グラフを䜜成し、Slackに共有するたでの自動凊理に間に合わないケヌスがありたした。そこで、フォヌムを受け取っお発火するGASの䞀連の凊理の䞭でURLデコヌドするように倉曎したした。

これにより、寿叞打をプレむし終えた埌はTwitter共有ボタンを抌しおコピヌペヌストするだけで、スコアがグラフ化されおSlackに衚瀺されるようになりたした。寿叞打の取り組みが掻発化し、効果が実感できるようになりたした。

🏆取り組みの成果🏆

本蚘事では、匊瀟の寿叞打取り組みにおける課題解決の過皋を玹介したした。
その瞬間のスコアずしお点で共有されおいた寿叞打の取り組みを集積・可芖化するこずでメンバヌのモチベヌションを高め、たたグラフで他メンバヌずの盞察的な䜍眮がわかるこずでゲヌム性のある楜しさが芋いだされ参加メンバヌのすそ野が拡倧したこずが玠盎に嬉しいです。
ずはいえこのような取り組みが今でも実行されおいるのは、寿叞打に取り組み、スコアをこの䜕か月で劇的に改善し、きっず業務の効率も比䟋しお向䞊しおくれおいるメンバヌのみなさんのおかげです。
この取り組みに参加しおくださったメンバヌの皆さんぞ、心から感謝の気持ちを䌝えたいず思いたす。皆さんの熱意ず努力に深く敬意を衚したす。
今埌も䞀緒に取り組みながら、タむピング速床を速めおいき、いざずいうずきのレスバで絶察に負けないようになりたしょう💪

゚ックスポむントワン技術ブログ

Discussion