わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

Surface 2とChromeとzjsで学会タイマー

第3回「知識・芸術・文化情報学研究会」では,これまでと同じく,自作のzjsを学会タイマーとして使用しました.
動かすハードウェアには,昨年購入したSurface 2を起用しました.初期設定のあとはキーボードを取り外し,司会の方には,画面の「開始」「終了」「リセット」のボタンを押すことだけを伝えました.
発表・質疑の時間は,講演,午前の発表,午後の発表の3パターンがありました.講演はタイマーの使用を好まないだろうと思い込んでいまして,用意をしていなかったのですが,午前の司会の先生から要請があり,大急ぎで設定をしました.


それとは別に,zjsのソースファイルを修正する必要がありました.先ほど,masterのブランチに送りました.ファイルはhttp://github.com/takehiko/zjsより取得可能です.以下のURLで動かすこともできます.

今回,「ベルモード(ringMode)」の判別方法を変更しました.判別を説明する前に,値の意味を書いておかないといけません.各値は次のようにしていまして,それらの値に応じた処理そのものは,変更してません.

  • ringMode = null : ブラウザで判定
  • ringMode = 0 : 鳴らさない
  • ringMode = 1 : そのつどsound内に書き込む
  • ringMode = 2 : あらかじめsound内に書き込んでPlay()
  • ringMode = 3 : Audioオブジェクトを使用
  • ringMode = 4 : Audioオブジェクトを使用し,ファイルはchime1.wavのみ

URLの中に「w=値」と指定するか,ソースをいじってringModeにnull以外の値を代入していれば,その設定に従います.そうでないとき,すなわちringModeの値がnullのとき,従来(2011年*1)は,次の要領で判別していました.

  • ブラウザが"chrome"なら2,"ipod"なら4,Audioが利用可能なら3,いずれでもなければ2.

今回,これを以下のとおり変更しました.

  • ブラウザが"msie"なら2,Audioが利用可能なら3,いずれでもなければ0.

先週,学生の発表練習で,Surface 2を使用してスライドごとと全体の時間を計ったのですが,そこでベルが鳴らないことに気づきました.Internet Explorerでも,Google Chromeでも音が出ず,困りました.居室のメインPCではFirefoxを使っていて,問題なく鳴ります.Surface 2にはFirefoxをインストールしていませんし,今回のためにインストールするというのは本末転倒です.
「w=値」をいろいろ変えて,Google ChromeとrindMode=3の組み合わせが最も良いとなりまして,これで動かすよう,鳴らす時間の設定と合わせてHTMLファイルを作成し,会場入りしたのでした.
ソース修正前に,いくつかのブラウザで動作確認をした結果を表にしておきます*2

ハードウェア ブラウザ デフォルト w=1 w=2 w=3 w=4
PC※1 Firefox 27.0 OK NG NG OK ※2
PC Internet Explorer 10 NG OK※3 OK NG NG
PC Google Chrome 32※4 OK OK※3 OK OK OK
PC Opera 19 OK OK※3 OK OK OK
F-04E※5 付属ブラウザ OK NG NG OK ※6
F-04E Google Chrome NG NG NG OK ※6
iPad mini 付属ブラウザ OK NG NG OK ※6

(※1:Windows 7のデスクトップPC.※2:ベル2や3で1回しか鳴らない,※3:鳴り出すのが少し遅れる,※4:「QuickTime Playerを実行するにはユーザーの許可が必要です」のポップアップが出た,※5:常用のスマートフォン.※6:検証せず)


時間を前の土曜日,場所を研究会の会場に戻します.
後ろの座席から講演や発表を聞いておりまして,「あのタイマーは,司会者のためなのか,発表者のためなのか,聴衆のためなのか」という問題意識を改めて持ちました.
この疑問を解消するのに,“司会も発表者も聴衆も見ることのできるタイマー”を作るのはどうでしょうか.
サーバを立て,所定のURLに,司会も聴衆も,発表者に見せる画面からも,アクセスすればいいのです.司会・聴衆向けには大きな分秒表示は不要で,ブラウザ判別やオプション指定により,サーバからはリクエストに合った情報を送り,受信側で表示させることだって,技術的には可能な話です.
「所定のURL」の通知方法ですが,司会者には事前メールができます.他の来場者向けには,「番号x,○○さんの発表が始まりました」というメッセージとURLをツイートするのが一案です.アクセス先では「番号x,○○さんの発表」も表示するようにすれば…「時間管理」を超え,「セッション管理」のツールになりそうです.
自主演習のテーマとして,取り組んでくれる学生がいればいいのですが.

*1:前回pushして記事にしたのは:発表練習モードの強化

*2:今後もこんな風に,ハードウェア・ソフトウェアとオプションとの組み合わせで動作確認の表をつくる機会があるのかな?