月額課金のスマホ時代に、フィジカルコンピューティングのために人は金を出すか?

前の日にIchigoJamしこたま絶賛しておいてからのこの記事とか....あまのじゃくですごめんなさい。


1チップマイコンの高性能化により、チップと電源回路程度の基板でも、大昔のマイコン程度のことはできるようになってきた。
フィジカルコンピューティングとは、このようなデバイスを利用して、単純明快なコードと簡単な接続程度の電子工作にてなにかしらのものを作れる環境のこと、もしくはそれらを利用しての制作のことを指します。
世界標準といっても過言ではない有名なところではAruduno。
国産でテレビにつなげて使う前提のものがIchigojam
どちらも素晴らしい。


でも、電気電子やプログラミングに関心があるナードキッズや、私のように子供時代に電子部品と戯れて育った電子部品のスペースが心の中に確保してあるオッサンならともかく、一般の人が電子部品売ってるサイトからこういう基板を買うだろうか?
また関心があっても、最近ニュースにもなる朝飯が食べられないような貧困家庭の人間なら、母親に買って買ってとねだることができるだろうか?
私んちみたいに子供本人が興味があっても、父親が肉体労働者の文化の中にいて『くだらんおもちゃ』『ゴミ』『捨てろ!!』の三段論法でパワハラしてくるような家庭では、買って手元に置くこともかなわないかもしれない。
父親が寛大だとしても、母親が『そんな汚いものこんなとこに置かないで!』と宣う、自分の棲む空間を素敵で埋め尽くしたい系の面倒くさい人だったら?
そういう人に囲まれた子供たちでも、お手軽にプログラミングして、なおかつ成果物を手軽にみせっこするにはどうしたらいいか?

やっぱり既存のPCとスマホを活用するのが現実的

コストだって、PCとスマホをつなぐUSBケーブル一本ありゃokみたいな感じ。
そういう『既にみんな持ってる』ハード環境で、なおかついかにもフィジカルコンピューティングな、コンピュータを操作している感覚のあるプログラム実行環境を整備していくべき。

実際に作るとしたらどういう風にするのか

PCベースのアプリで、BASICなりC言語風簡単言語が動くIDEを制作する。
IDE上でプログラミングすると、PC上に表示されたウィンドウに仮想画面を表示して、そこにBASICの画面が映る。
スマホつないどいたら、スマホ側に表示することももちろん可能。
キー入力やスイッチ入力に相当するものは、スマホのタップ。
音もBeepや単純波形のシンセはソフトウェア合成にて鳴らす。


プログラム書いてF5押したらプログラムが走るが、IDE上の画面でもスマホ上でも走る。
完成したコードをスマホ側アプリに転送しとけば、スマホ単体でももちろん走る。


加えて、スマホを持っていなくても*1使えるように、PC側IDEでも同様に走るように作っておく。
IDE抜きでも動くようにRUNタイムアプリもあると完璧だね。
そういう感じで、PC一台でもフィジれるようにしとく。

あまりに上を目指すと苦しくなってきたり高性能PC/スマホが必要になっちゃうんで

スマホの方もFHDの高解像度が表示できたとしても、QVGAの解像度を4倍にしたり色数を指で数えられるくらいに制限して、8bit感を出す方向性で環境の整備をしたらどうだろう?
ツタヤのToneでまともに動くようでなければならないと思うし。
それ以上を目指す人はXperiaZ5とUnity使えばいいよ...。

なんでこういうことを思いついたのか

androidでソフト組んで、実際にスマホで動かすまでのハードルが高すぎる。
PCでアプリ組むのも、まともにやる気になるとMS-VSのインストールから始まってのなかなかの苦行がまっている。


インストール数分で即開発、一時間後には結果がスマホでだせる。
おんなじ物がPCでも走る。
PCならIDEで録画もできる。
そんなフィジカルコンピューティングな環境があるといいよね。



IchigoJamでやってくれんかの....

*1:最近は社内学内に個人所有のスマホやPCの持ち込みも禁止されつつあるそうな