拡張機能パソリッチ(PaSoRich)の開発は、2019年のゴールデンウィーク(GW)頃に始まりました。
いままでICカードリーダーPaSoRiの旧型を扱うアプリを開発したことはありました。しかし、新型をJavaScript言語で扱ったことはなかったので、2019年初頭は新しく登場したScratch3.0とJavaScriptの勉強とともにPaSoRiの最新情報集めをしていました。
GW連休にまとまった時間がとれたので、開発に使うためのローカルScratch3.0環境の構築から始めて、調べた拡張機能を開発する方法をもとに作業を始めたのです。
拡張機能の作り方
ローカルのScratch3.0環境を用意できれば、実は拡張機能の作り方自体は簡単です。
ネット上にアップされている情報を参考にしていけば、基本的なものはつくることが出来ます。
Scratch 3.0の拡張機能を作ってみよう Scratch 3.0 の拡張機能について話すトピック Scratch 3.0 の Extension(拡張機能) を試してみた Scratch 3 Extension の作り方
いまなら(上の4つ目みたいに)詳しい情報も共有されていますので、だいぶ助かりますね。
PaSoRichを公開する
こうしていろんな情報を組み合わせながら、開発していた拡張機能の原型が出来たのは5月18日頃でした。この日にGitHubというコードシェアサービスにpasorichを登録しています。
原型ができた興奮に浮かれ、熱気を醒ますのも忘れて、そのままテキトーにデモをつくって、そのまま個人のブログに書き込みをしていました。
PaSoRich – ICカードリーダーをScratch3.0で
この時点では単に、パソコンに接続したPaSoRiとの通信に成功し、識別番号が取り出せただけの状態。それ以外の細かい設計や動作の調整はしていませんでした。
ちょっとしたことでも想定外なことがあればエラーになりましたし、読み取り完了の待機をするようなタイミングの調整問題も未解決でした。
それでも「できた、できた」とドヤしたい気持ちは膨らんで、Scratch Conferenceのイベントで披露しようかと思ったのですが、その年、ロンドンで開催される「Scratch Conference Europe 2019」の参加申込み受付はすでに終了済み。参加は次年度へ持ち越すことにして、7月まで調整やデモ開発の作業を続けました。
学会発表する
拡張機能PaSoRich初期バージョンの完成とScratch3.0による買い物シミュレーションプロジェクトを作成して、そのまま勢いで学会発表をしたのは9月7日のことでした。
ネットで公開したといってもなかなか情報は伝わらないし、試し方も分かりにくいため、周りから反応を得ることが難しい状態。そこで学会発表してしまおうとなったわけです。
とはいえ、開発した拡張機能自体を発表しても「ふ〜ん、それで?」と言われてしまうので、消費者教育の教材を開発する中で作ったというストーリーで発表することにしました。
発表のためにChromeタブレット(ASUS CT100P)を購入して、会場には簡易なスタンドとともに持参してポスター発表とデモンストレーションを行ないました。
見てくださった皆さんは総じて「面白い」と言ってくださったので、その後の励みとなりました。
スプライトをつくる
買い物シミュレーションのプロジェクトを制作している間も感じていたことですが、Scrachは文字や数字を表示する方法が限られていて、少し残念なところがありました。
キャラクター(スプライト)の吹き出しセリフとして文字を表示することは出来ますし、変数の中の数字をステージに表示させることもできます。
大きい文字や数字を表示させたければ、たとえば、一文字ごと文字のスプライトを用意してステージに配置する方法もあります。
しかし、表示したい数字の桁数が決まっていなかったら?3桁かもしれないし、12桁かも知れないし、表示を消したいかも知れない。一文字ごとスプライトを用意する方式だと、桁数が決まらない場合に対応できません。
そこで、好きな数字を指定すればどれだけでも数字表示してくれる「数字スプライト」を作ることにしました。
こうすれば、買い物シミュレーションで、いろんな金額を表示するときに楽です。
スプライトを一つのモジュールのようにつくって、その数字スプライトに、表示したい数値と表示して欲しいという命令メッセージを伝えることで動作するようにしました。別のプロジェクトに数字スプライトを追加するだけで汎用的に使えるようになります。(→ダウンロード)
この調子で、数字を入力するためのテンキーもスプライトで作りました。(→ダウンロード)
これには元ネタがあって、beatnixさんの「数字入力用スプライト」というプロジェクトが大変参考になりました。スプライトをクリックした座標に応じて数字が入力されるアイデアはbeatnixさんのものを参考にしました。その上で、場所の変更だけでなく、サイズの変更にも対応できるように改良を加えさせていただきました。とはいえ、デザインをもっと見習うべきかも知れません。
こうして、2020年にMITで開催されるScratch Conferenceでの世界デビューを目指して、粛々と準備を進めたのでした。これで世界のScratcherの度肝を抜いてやる!待ってろよ、ドクター・レズニック&Scratchチーム!!…気持ちはそういう勢いでした。
残念、採択ならず。そして…
2020年2月初頭にScratch Conference 2020への応募をなんとか完了。
発表枠への採択が叶えば上出来で、仮にダメでも、参加者として会場の米国マサチューセッツ州にあるMITに行ってオープンな場でデモンストレーションすることを目論んでいました。とにかく認知してもらおうと。
そして、一月後の結果発表メールには、残念ながら不採択の結果が記されていました。
技術披露ばかりに終わらないように、会場で楽しんでもらえるネタを前面に出して申し込んだつもりだったので、個人的には内心「いけるんじゃね?」とほくそ笑んでいたのですが…残念無念。
あ〜、そうですか。まぁ、いいでしょう。MITがなんぼのもんじゃい。LLKがどんなもんじゃい。(当時の心の声をデフォルメしてお届けしています…)ならば結構、会場に乗り込んでゲリラ的にデモンストレーション活動を展開するまでよ。
…と逆に勢いづいていたところでしたが、この頃から新型コロナ(COVID-19)の影響が少しずつ世界を覆い始めていました。Scratch Conference 2020もまた、申し込み開始日を遅らせるとのアナウンス。
そして、ご存知の通り、イベント開催はおろか、海外渡航は全く出来ない世の中へと突入したのでした。
コロナ禍と電子マネー
こうしてPaSoRich世界デビューの野望は、あまりに大き過ぎる事態のためにその道が閉ざされました。
その後、PaSoRichは、Scratch3.0拡張機能の目抜き通りともいえる「Stretch3」という石原さんが公開しているサイトにもインストールしてもらうことが叶い、知られてないけど露出はしてる状態となりました。
そうこうしているうちに4月がやってきて、コロナ禍で始まる新年度の目まぐるしさや穏やかさの混ざり合った日々を送り始めます。PaSoRichの開発もしばらくは休止状態となりました。
世間的には自粛が続き、外出の際のいろんな活動や行為に制約が加わったり、その中で、現金をやり取りしない電子マネーの可能性に注目が集まったり。そういったことがPaSoRichの可能性をチラチラと垣間見せていました。
やがて、PaSoRichの可能性を見いだしてくださる方々が現われ、8月に厳しい中でもなんとか開催される消費者教育の子どもプログラミングセミナーでPaSoRichを利用してくださる実践が行なわれたりしました。
まさに私が思い描いていた活用事例を実現してくださった、本当に有り難い出来事でした。当日、私自身は他の用事が入ってしまい、悔しいながら参加が叶いませんでしたが、当日の様子を広報媒体や動画で拝見することが出来てとても嬉しかったです。
そうした実績をいただいたことも刺激となって、いよいよ、もう一つの重要なピースとなる新しい拡張機能の開発を決意することになるのですが…、それはまた別の四方山話で。