四十三庵

蔀の雑記帳

入出力(I/O)について

人類最初のパーソナルコンピューターであるAltairの入出力は、

入力:スイッチをパチパチやる
出力:ライトが光る

というショボイものであったらしい。

コンピューターというのは、CPU内部の演算処理は高速なのだが、
それにキーボードやマウスの入力を待たないといけないとなると、速度は極端に低下する。
同様に、出力も速度を低下させる。
1+1を20000回繰り返して、20000という計算結果を出すとする。
ExcelVBAを使って計算させたところ、一秒もたたない間に答えが出た。

Sub test()

Dim a As Integer
a = 0

Do While (i < 20000)
a = a + 1
i = i + 1
Loop

MsgBox (a)

End Sub

興味があれば、ExcelVBAにコピペして試していただきたい。

しかしこんな処理も、たとえば1+1を一回やるごとに計算結果を出すように変えると恐ろしく遅くなる。

Sub test()

Dim a As Integer
a = 0

Do While (i < 20000)
a = a + 1
i = i + 1
MsgBox (a)
Loop

End Sub

ExcelVBAだとメッセージボックスにOKをクリックするまで
処理が止まってしまうので、あまり面白くない。
10回くらいクリックしただけで相当なストレスになる。
仮にOK無視で延々演算結果を表示してくれるように書いたとしたら、
単純に20000個のウィンドウが開くことになる。
多分途中でExcelが固まるのではないかと思う。

  • 機械の論理 vs 人間の論理

本当に高速処理をしたいのであれば、I/Oなんて無い方がいい。
それがコンピューター側の論理だが、人間にとってはそうではない。
いくら高速で処理できるといっても、結果が人間にとってわからなければ意味がない。
I/Oがユーザビリティのすべてを決めると言っても過言ではない。

スティーブ・ジョブズがやったことというのは、I/Oの革命だった。
Altairが出た少し後にAppleⅡという(当時としては)洗練されたモニターとキーボードを持ったパソコンを発売したし、
iPodiPhoneiPadなんかも、サイズが違うだけで、
中で動いているソフトウェアは実はそんなに大差なかったりする。

  • 究極のI/O

スマホが出てきて、マウスとキーボードというのがタッチパネルに変わった。
昔はタッチパネルなんて感度が悪すぎてとても使い物にならなかったが、
スマホのタッチパネルはほとんどストレスがなく、初めて使ったときは大いに驚いた。

SiriやGoogleの音声検索も進化している。
昔から、「コンピューターが喋る」というのは、人類の妄想として強く存在したが、
技術的には難しくて、無理につくろうとしたものはたいていポンコツだった。
しかし、Siriで、「サカナクション流して」というと、マジでミュージックを起動して、
サカナクションの曲をシャッフル再生してくれる。

とはいえ、音声認識機能はまだまだ信頼性が低く、
はっきりゆっくり話さないと正確に認識してくれなかったり、
難しい・珍しい単語も認識してくれない。
同音異義語をどうするのかとか、課題は多い。

そうなるとやはり手入力せざるを得ないんだけども、
フリック入力だと長文を打つのが結構辛い。
Twitterやメールくらいならいいけれども、そこそこの長さのブログ書こうとするのはキツイ。
入力するのも大変だし、誤字脱字を確認するのも大変だ。

そうなるとキーボードをぺちぺちせなアカンわけだけども、
どんなにグラフィックがよくなっても、キーボードの操作性があがっても、
椅子に座って、モニターに向かいながらキーボードをカタカタする動作というのは、何をどうしたって陰鬱な作業でしかない。
目も疲れる。
それと比べると、紙とペンで何かを書くというのは、まだリアルなモノがある分、陰鬱さが軽減される。
コンピューターはどこまで言っても機械でしかないので、
スティーブ・ジョブズがどれだけ直感的に使えるように設計したとしても、人間の感覚を排除しようとする部分は残る。

最近ずっとベッドに寝転がりながら、モノを考えるような感じで、
アウトプットが作れないかなと都合のいいことを考えていたのだけども、これはかなり厳しそうだ。
音声認識がもっと正確性を増すと、寝ながら文章を書くことも可能なのかもしれない。

ウェアラブル端末が話題だけども、個人的にはあんま欲しくない。
寝ながら文章を書けるようなツールが欲しい。
椅子に座って机に向かう、ということもなかなか辛い作業なのだ。
(了)