Monthly Archives: August 2016

プロレタリア絵本

プロレタリア文学やプロレタリア児童文学というジャンルはあるが、プロレタリア絵本というのは聞かない。 そこで単なる思いつきではあるが、好きな絵本の中でそれっぽいものをとりあえず三つ挙げる。 3位 – 『みんなの世界』 マンロー リーフ(光吉 夏弥 訳) 「もしも、このひろい世界に、人がたったひとりしかすんでいなかったら」という問いかけで始まるこの本は、民主主義のコンセプトを、身近な事柄を例にしながら順序立てて、子どもに教えてくれる。(そこまでプロレタリアというわけではない…) 社会とはどういうものか、なぜ社会にはルールがあるのか、なぜ選挙で投票に行くべきなのか、といったことを、暮らしの中の必然として、やさしい言葉と無邪気な絵で説得していく。 2位 – 『絵で見る日本の歴史』 西村 繁男 巨匠西村繁男の歴史もの。各時代を見開きで描き、石器時代から戦後の高度経済成長までの、日本の生活風景を絵巻のように展開する。 普通、歴史ものというと、各時代の権力闘争や上流階級の文化様式が主題となる。しかしこの絵本の主人公はあくまでも市井の人々だ。 弥生時代に卑弥呼は出てこないし、安土桃山時代に戦国武将は出てこないし、太平洋戦争の時に兵隊は出てこない。描かれるのは、農民、古墳や城を築く労働者、空襲で逃げまどう銃後の人々である。 1位 – 『とべバッタ』 田島 征三 田島征三も名作ぞろいだが、これはもう歴史的大傑作と言わなければならない。「とにかく騙されたと思って読んでみな」と言われて読んだら、途中から瞳孔が開きっぱなしになった。 内容については、もう、「とべバッタ! とべバッタ! とべバッタ!」としか言えない。 以上。

左右論序章

Mac の Cocoa フレームワークには First Responder という概念がある。First Responder は、ユーザーのマウス操作やキーボート操作などのイベントに最初に反応するオブジェクト、つまり現在フォーカスされているUI要素を参照する変数である。ユーザーがアプリケーションを操作してフォーカスが別のコントロールに移ると、First Responder の示す先もそれに応じて変わる。これは GUI におけるポリモーフィズムを実現するための仕組みだ。例えば Finder のメニューバーには「File > Open」という項目があるが、現在フォルダが選択されている時にこれを実行するとそのフォルダが開き、アプリケーションアイコンが選択されているとそのアプリケーションが起動し、ドキュメントファイルが選択されていると適当なアプリケーションが起動してそのファイルを読み込む。このように選択されているものによって処理が異なるのだが、メニュー項目の「Open」が行っているのは、現在の First Responder に対して “Open” というメッセージを投げることだけである。フォルダ、アプリケーション、ファイルなどはそれぞれ種類の違うオブジェクトだが、いずれも “Open” というメソッドを持っているので、それぞれが自分の Open メソッドを実行して、それぞれの振る舞いをするというわけだ。Open 以外にも、Close、Save、Print、Select All、Find、Undo など標準的な名前のメソッドを各アプリケーションが実装していれば、キーボードショートカットも含めて、システム全体で操作が一貫する。 GUI におけるポリモーフィズムというのは、インタラクションデザインの上で重要な意味を持つ。GUI における操作シンタックスの基本は「オブジェクト選択 → アクション選択」である。操作の対象となるオブジェクトが画面に見えていて、ユーザーがそれをマウスなどで選択し、次にメニューなどからアクションを選択する。このシンタックスこそが GUI を GUI たらしめているのであり、CLI との最大の違いはこのシンタックスにある。CLI では先にコマンド(アクション)を指示するが、これはあらかじめユーザーが学習によって記憶しているか、あるいは操作の度にヘルプを参照しなければならない。GUI の最初の行為であるオブジェクト選択は、選択肢が目に見えていてそれを指し示すだけなので、事前の準備はいらない。また CLI においては、コマンドを打った後に引数となるパラメーターを指示することになるが、これもまた頭の中に記憶しているものかもしくは画面に見えている文字列を打ち直すことになるので、認知負荷が高い。GUI においては、コマンド選択はメニューを見ながら行うか、もしくはダブルクリックなどのジェスチャで行うので、認知負荷は低い。その際、ジェスチャやキーボードショートカットなどのグローバルなコマンドは用意できる種類と数が限定的だし、メニューにしてもある程度項目数を絞らないと使い勝手が悪いので必然的に、複数のオブジェクトが共通のアクションを持つことが望ましくなる。そのために、First Responder のような仕組みが役立つのだ。CLI では、システムの拡張はコマンドの追加によってなされるだろうが、GUI では、オブジェクトの追加によってシステムが拡張するのである。 この GUI のオブジェクト指向性は、CLI のタスク指向に対して、よりモードレスである。なぜなら CLI においては、引数を必要とするコマンドを打った直後は、続けて引数を入力することがシステムから期待されている。一方 GUI […]