はじめての自作Webアプリ RandomNameAppの制作背景です。
授業中にランダムに指名しようとして、割りばしでくじを作ったり、名前カードをシャッフルしたり、はたまた、「今日は〇月〇日だから出席番号 △ 番の人~」と指名したことはありませんか?
この方法は、誰が選ばれるかが予測できないため、児童生徒にとっては常に集中して答える準備をしておかなければならりません。つまり、授業への参加を効果的に促進できる指名方法となります。
しかし、従来のランダム指名では、いくつか問題点があります。
今回開発したアプリで、この指名方法を令和にアップデートし、より授業が円滑に進むようにしたいです。
児童生徒を指名する方法はさまざまな種類があります。そのうちの一つがランダム指名(くじ引き指名)です。それならただ単に教員がランダムに指名すればよいと考えがちですが、児童生徒の不満を生むこともあります。児童生徒からしてみれば、教員の意図が入り込む余地があるからです。ですから、ランダムに指名する時は教員の意図が入らないプログラムをエクセルで実装し、普段から使っていました。大画面かつ名前が高速に表示される目新しさもあり、児童生徒からの反応もよかったです。そして名前がランダムに表示されている時間は、誰が当たるか分からない緊張感が漂います。
嬉しいことに同僚の教員にも使ってもらえるようになりました!しかし、そのエクセルファイルを紹介するたびに児童生徒の名簿を張り替え、関数の範囲を変更しなければならず、利用するための少し高い壁がありました。
ちょうどそのころ、私は Python にドハマりしている時期でした。そこでプログラミングで Web アプリを作れば、どんな環境でもブラウザがあれば、誰でも全国どこでも簡単にアクセスし、かつ分かりやすく使ってもらえるのではないかと思いました。プログラミングでより多くの人の役に立ちたいと思い、この機能を Web アプリで実装しようと作り始めました。
Web アプリにすることで、思わぬメリットがありました。授業でデジタル教科書(クラウド)を使用中に、当アプリを使おうと思ったとき、ブラウザのタブを切り替えるだけで使えます。授業中にも思いたったらすぐに使うことができるので、大変便利です。
これがホーム画面です。40 クラスまでの名簿を管理できます。初回アクセス時のみ「sample_偉人」が cookie に書き込まれます。六角形のロゴは、商店街などでよく見るガラガラ抽選機をイメージしています。真ん中の R は Random のイニシャルです。
担任だけではなく専科の先生(いろんな学級に授業をしに行く先生)のためにも、名簿は、複数管理できるように作成しました。
など、この画面で行えます。また名簿の title や順番はローカルストレージに保存されるので、次回アクセス時にもそのままの状態で使用できます。
また当日の欠席もチェックボックスで簡単に管理できます。
任意のリストを選択後、右上の詳細設定を押すと、
当アプリは、教室に特大モニターとパソコンがある前提で作成しています。(モニターはなくても構いませんが大きく表示できるメリットが薄れます。) またブラウザでアクセスでできるため、デジタル教科書クラウドとの親和性も高いです。ブラウザのタブを切り替えるだけでスムーズに当アプリと、デジタル教科書を行き来できます。
任意のリストを選択し、"ビンゴスタート"ボタンを押すと始まります。
巨大モニターで映し出して使うことで、一番後ろの席でもはっきり見えます。
任意のリストを選択し、"グループスタート"ボタンを押すと始まります。
ペアやグループを瞬時にランダムに作成できます。ペア作成機能は、英語の授業でたくさん会話の練習をさせたいときに特に重宝します。任意の人数のグループを作成できる機能では、総合の学習や遠足の班など、グループを男女関係なく作成できるのでよく使います。
教育現場では、個人情報の管理が徹底されています。今回生徒の名前を取り扱うにあたり、ユーザーにこのアプリなら大丈夫だと思ってもらうためにどうすればよいか熟考しました。(以下、個人情報は、ユーザーが入力した生徒の名前を指す。) そのために情報の保存場所についてユーザーの不安も考慮に入れて考えました。
実際の現場では、パソコン操作に困り感のある教員が多いです。そんな教員にも迷うことなく使用してもらうために UI を工夫しました。直感的に操作方法が分かるように心がけました。
このアプリは cookie に個人情報を保存しているので、cookie の仕様による制限を受けています。
とにかくこだわりました。
スマホが普及している現代、パソコンよりスマホのトラフィックが多いそうです。スマホに対応していないと機会損失になると考えます。
友人に作った Web サイトを送るときに LINE を使うこと送ることになるでしょう。その時、レスポンシブ対応しておらず、スマホからの使い勝手が悪いサイトだと、第一印象が最悪です。その後、実際に授業で使おうなんて思わないと考えました。
スマホも縦画面表示でも横画面表示でも使い勝手がいいように設計しました。スマホの場合、名前のランダム表示後のリスト追加確認のたびに Window.alert()を表示すると、Window.alert()の表示制限を受けたり、Window.alert()の表示が名前表示と重なってしまい、使い勝手が悪かったです。そこでモーダルを使用することで、表示制限と表示場所を制御するようにし、スマホでも操作しやすいようにしました。
このアプリが私の初作品になります。作ろうと決心してからは様々な書籍や Progate などのサイトで勉強していました。「まだこのレベルでは、Web アプリを作れない」と思って勉強ばかりに時間とっていました。 そんな考え方ではいくら時間があっても完成しないと気づいてからは、実際に作り始めました。独学で、心が折れそうになる時もありましたが、分からないなりにできることを少しづつ増やし積み重ねてきた結果完成しました。たくさんの人に使ってもらえればと思います。(毎日 Google Analytics を眺めています。)
現在もフィードバックをいただきながら改良を重ねています。
Qiita も初投稿です。コメントなどのアクションをいただけたらとても嬉しいです。何らかの誤りや改善点もあるかと思いますが、ご指導ご鞭撻のほどお願いします。
Back to Top
©2025 Yu