ExcelやOOoCalcなどを使ってキーボードの配列を表現してみるテスト。

 最近になってようやく(?)「段ズレの様子」を理解できるようになったので、それを表計算ソフトのワークシートで表現してみることにしました。
 最近シャドールームさんが役立たずのCapsLockキーを撲滅するキャンペーンについて紹介されていたので、その絡みで「Ctrlをホーム段に&Capslockをひらがなキーの左右対称位置に」デザイン変更したバージョンにしています(デザイン元は東芝ノートのキーボードです)。

 注意するべき点は次のとおり。

  • セルの「幅」に注意。幅は「高さ」の半分になるようにして、縦長のセルとなるようにする。
  • 一つのキーは、高さ方向2セル×幅方向4セルのセル集合で表現する。
  • キーの段ズレ量に注意。ホームポジション(ASDF……)とその上の段(QWER……)の差は1/4ズレであり、ほかの段は2/4ズレている。上段と最上段の間&ホーム段と下段の間はそれぞれ2/4ズレている*1

 ……と、こんな感じですね。


 ちなみに私は「CapsLock/英数キーは、自分では使わないけどシステム上は必要だと思う」立場をとっているので、英数キーとして使う場合に「ここにあると意図が理解しやすそう」と思える位置を探して、この図のとおりの位置に配置してみました。
 ……なんとなくやってみたかっただけの話でして、深い意味はありません^^;。
 #ただし、「ワープロ専用機を設計した人が、今のキーボードを再設計するとどうなるだろうか……」というあたりを想像しつつ配置してみたつもりではいます。

備考

 ひらがなの部分は飛鳥カナ配列21c345にしていますが……これは個人的な趣味です^^;。
 フォントは、さざなみフォントのうち半濁音(ぱぴぷぺぽパピプペポ)の半濁点部分をパーミル(‰)のマルに置換したものを使っています(考え方はM+とIPAフォントの合成フォントに倣っています)……フォントエディタにはTrueTypeフォントエディターを使ったので泣きそうになりましたが*2^^;、フォントを自作するよりははるかに楽とも言えそうです。
 配色については視覚テストをする余裕がないので適当に選択しました……が、もしかすると「マゼンタの中の黒(右親指シフトの例示に使用している)」が識別しづらいかもしれません。

*1:2007年4月15日23:23:02追記訂正、理由は記事コメントを参照願います

*2:コピペ自体はできるが、貼り付け先の絶対位置が固定なので、あらかじめ貼り付け先の文字を枠外ぎりぎりまで動かさないといけないんですよね……逆に言えば、それさえ解れば他に難題はなく、フリーであることを考慮すれば十分使えるフォントエディタだともいえます。

「トヨタ生産方式」=「立ち作業」?

 ……ちょっと気になることが。
 Uジローさんが取り上げていらしたプログラマの権利宣言」を見ていたら、こういうコメントにぶち当たりました。
http://slashdot.jp/developers/comments.pl?sid=358276&cid=1142739


 ……うーん、なんと言えばいいのか……。


 1.と2.は「古い機材をメンテナンスしつつ使え!」になるはず(設備改善の前に手順改善をする……というのがポイントの一つ)ですが、ITギョーカイではその理屈が通用するとも思えませんし……これは「トヨタ生産方式」の考え方をそのまま持ち込むことができない気もします。


 3.の解決策としてあげられていた「関数が一つのキーに割り当てられた専用キーボード」というのは、漢字を巨大鍵盤に割り当てた昔懐かしい方式を思い出しますね……。
 この手の方式はタッチタイプがしづらい(下手をするとタッチタイプできない)ので、結局効率は上がらないと思います。
 普通のキーボードでキー入力入れ替えツールなどを使って実現する方法もあると思いますが、そういう話を聞いたことはほとんどないですし、現実的に意味があるのかどうかは微妙かもです。


 4.の「仕事は立って行うほうが良い」という話は、だいぶ誤解されているのかもしれません……。
 立って作業するのは「リーチ範囲が広くなるから、徒歩をせずに用が済む範囲が広くなる」ので立って仕事をするという意味合いと、移動のために「立つ←→座る」の作業を繰り返すと時間がかかる(座っている→立つ→座るのシーケンスで4秒ぐらいかかる)ので、これを抑制するために「立って仕事をする」様になっているだけの話です。
 つまり、逆説的に言えば「立って作業しなければならないほど作業範囲が広い状態を放置しているようではダメで、座った状態でも全ての作業がこなせるようにしなければならない」とか、あるいは「プログラマは座り作業が基本なのだから、立つ動作を極力少なくする工夫が必要」ということになるわけです。
 立ち作業で長時間打鍵することほどナンセンスなことはない(=打鍵作業を効率よく快適に行うためには、立ち作業化は逆効果でしかない)だけに、これはありえません……というか、ほんとにこんなことを提唱したら「指差しで笑われる」のがオチです。


 6.は微妙ですね……。
 「トヨタ生産方式」で改善される対象は「スピード」でなく「手順」です。本気で取り組むのならば「入力速度を上げよ」ではなくて「入力速度を上げやすい入力法を採用せよ」になるはずです。「スピード」は一定レベルに達するよう監督者による「指導と訓練」が行われますが、監督者にもできないようなスピードを求められることはありません。
 それと、トヨタ式のアレは「ジャストインタイム」と「自働化」が二本柱なので……前者は「調べ物の必要がなく済むように監督者がアレコレ工夫する」ことになりそうですし、後者は「ハンドコーディングを減らす方法を考えよ!*1」という方向になるのではないかな……と。
 それと、私語・お茶は禁止にならないと思います。せいぜい「長時間かかる処理の合間に行くように」とか、そういう感じになりそう……ですけど、これもITギョーカイの実情を知らないので、正直言って解決策は浮かびません。


 ……何というか、こう……伝聞をそのままに「○○を食べれば〜〜」「○○を飲めば〜〜」と言ってしまうあたりと似たコメントのような気がして、そのあたりがとても気になりました。


 肝心なことは、どの業界であっても変わることなく「そこで何が起きているのかをしっかり把握する」「それがなぜ起きているのかを徹底的に突き詰めて考える」「それを回避する方法を考案し、実行し、評価し……というプロセスを継続的に実行する」というあたりなので、こういうプロセスの部分を軽視して「ほかのギョーカイでうまく行ったことを、そのままコピペして手順書を作ってしまえばOK!」なんてことは絶対にありえません。


 改善をするには「プロセス重視」、これは基本です。
 世間的には往々にして、なぜか「成果重視」で改善活動をしてしまいがちなのですが……「成果」は時代や時期や時の運などの「複雑な関数」を経由して結論が出るので、これを改善効果の指標として用いると「時代や時期や時の運などの影響を受けた評価」になりがちで、本当の意味での改善効果を推し量ることはできなくなってしまいます。
 一方で「プロセス重視」で改善を行えば、そこには時代や時期や時の運などの「複雑な関数」から影響を受けませんので、外的な要因に左右されずに本当の意味での改善効果を推し量ることができるようになります。


 「トヨタ生産方式」は、大野さんが「トヨタ自工向けに、プルプロセス生産方式を継続的によくする方法を練っていて至った結論」でして、これをそのままITギョーカイに適用しても無意味なのかもしれません。
 私はITギョーカイには勤めていませんのでうまい改善案などひとつも思いつきはしないのですが、

トヨタ生産方式――脱規模の経営をめざして

トヨタ生産方式――脱規模の経営をめざして

大野耐一の現場経営

大野耐一の現場経営

を読みつつ「ITギョーカイ向けに、コード&ドキュメント生成手順を継続的によくする方法を練る」というのも、あるいは効果があるのかもしれません。
 生産革新なり作業改善なりをするのはなかなかに難しいものですが、少なくともこの書籍には「設備改善」以前にできる「手順改善」のためのヒントが色々と詰まっていますので、参考になる部分は多そうな気がします。


 うーん……何を書きたかったのかが解らなくなってしまった気もしますが^^;、今いえることはこれぐらいでしょうか。

*1:これはエラーも検出できずに突っ走るような「自動処理」の推進を意味しません。起こりうるエラーを検出して、必要なときにきちんと止まる「自働処理」であることが重要なのです……たとえば「統合環境を使おう!」は必須ではなくて「コンパイラによるエラー警告レベルを一番上に上げて、それでも警告が出ないコードを書こうう!」が必須であったりする……と、そんな感じなのかも。ハンドコーディングをメタプログラミングに置き換える場合も、全く同じ発想で「(コンパイラのチェック機能を活用するなどして)エラーが出る可能性のあるコードを吐かないようにする」などの対策が必要……と。

懐かしい「2色成型」キートップの技術は、今ガンプラの世界で今生かされている……らしい。

 http://park16.wakwak.com/~ex4/kb/tech_mold.htm
 http://www2s.biglobe.ne.jp/~qwerty/pc/keyboard.html
 ……これは有名な話?
 本当は富士通のサイト http://magazine.fujitsu.com/vol48-4/5-4.html に素晴らしい説明があったはずなのですが、残念ながら消えてしまいました……。


 ……で、国内でこれを再現する技術自体がなくなったのか?というと、これはきちんとあります。
 どこで生きているのか?というと……それはプラモデル、しかもガンプラだったり。
 かつてはプラモデルといえば「キットの購入者が自身で色を塗る」とか「塗装済みキットを組み立てる」という方向性でしたが、高コストでもペイできるキットに関しては「多色成型によるキットを提供する」ことが可能になったようで、今はバンダイが2色成型どころか「4色成型」を実現しているそうです。
 http://journal.mycom.co.jp/articles/2006/03/23/bandai/001.html


 金型の製作に数千万円かかることは従来どおり……ですし、4色成型用の金型となるとさらに高額になるかもしれません。
 コスト重視キーボード用のキートップとして生産するにはさすがに無理がある(いまさらレーザ刻印や印刷方式に勝てるはずもない)のですが、趣味的なコスト高が許容される分野においては「やろうと思えば設備も技術も進化し、そして実稼動している」多色成型の技術を用いたキートップを持つキーボードをつくるというのも、案外とありなのではないかな……と思いました。
 キーボードメーカーから純正品として販売するというスタイルのみではなく、たとえばtanomi.comあたりで「特定のキーボードのキートップを差し替えるための、キートップのみの販売」というスタイルもありえるかもしれません。
 この場合はキートップの高さも自由に設計可能でしょうから、市販キーボードのうち評価の高いものを流用して「親指シフトキーボード化キートップ」をつくる……というのも、原理的には可能かな、と。
 問題は唯一「コスト」のみということで、このあたりは数が出るかどうかに激しく依存するだろうと思われます。


 今日の記事(?)【ExcelやOOoCalcなどを使ってキーボードの配列を表現してみるテスト。】に掲げたようなキーボードを、目にやさしいキーボードの考え方でカラーユニバーサルデザイン機構の指導を受けつつ作成する……なんていう贅沢も、場合によってはとりうるのかもしれないです。

交互打鍵率最優先の配列では「ダダダダダダ」が最適かも……で、交互打鍵率以外にも重点を置く配列はどうする?。

(参考: http://d.hatena.ne.jp/actbemu/20050203/p1 )
(参考: http://d.hatena.ne.jp/kettt/20070414 )

 今までずっと、打鍵テンポというものは、木村先生の表現による「ダダダダダダ」が「どの入力法においても最適」なのだと思い込んでいました……が、もしかするとこれは「時と場合によって異なるんじゃなかろうか」と思いつつあります。
 #交互打鍵率が高ければ高いほど、「ダダダダダダ」の定テンポ打鍵は有効性が増すはずです。


 一つ目の理由は……最近同じ本ばかりを取り上げているので食傷気味かもしれませんが^^;、こちらから。

トヨタ生産方式――脱規模の経営をめざして

トヨタ生産方式――脱規模の経営をめざして

 pp.223-224の主要用語辞典に、「バトンタッチ・ゾーンを作れ!」と、「離れ小島をつくらない」という語が載っています。
 前者は陸上競技のリレーをさして「速い人がバトンタッチゾーン中に頑張ることで、遅い人の分をカバーできる」ことを理由にあげ、後者は「作業者同士が助け合いをできる環境をつくることで、互いに助け合ったり工夫しあったりできるようになる」ことを理由にあげています。
 ……これって、日本語入力法の「設計」や「利用」とも密接に関わってくるんじゃないかな……と感じました。
 そして、この場合は対象が「人」から「指さん」に変わる……と。
 運動系競技において「瞬発的な速さ」と「持続的な速さ」は別々に訓練される&見出されるべきもの……という認識でいますが(注:運動は苦手なので怪しい見解ですけど^^;)、人の手が備える十本の指にも【十本十色の特性がある】上に、手のひら・腕・といった要素も絡んでくるだけに、このあたりの検討を端折るのはかなり危険かもしれませんし。


 以前「飛鳥カナ配列って何?」に余計な(?)追記をしたのですが、その追記部分をここに引いておきます(注:一部追記いただいているところがあります)。

  • 両手に対して仕事を均等に割り振ると、「遅いほうの手で入力する速度」が入力作業全体のパフォーマンスを決定し、早いほうの手で入力する速度が十分に生かされない可能性もあります(一般に、これは習熟していくことによってのみ(努力によってのみ?)解消されますが、飛鳥はこの問題を設計側で解消しようとしています)。
  • 遅いほうの手で入力する作業量と、早いほうの手で入力する作業量のバランスを適切に設定すると、片方の手にのみ極端な負担や要求をすることなく文字入力ができるため、結果として「素早く入力すること」と「疲れずに入力すること」を両立させることができる可能性があります。

(from http://www29.atwiki.jp/asuka-kana-layout/pages/13.html )

 この理屈が「どの入力法でも全く同じ」といえるわけではないものの、少なくとも飛鳥は配列としてこういうポリシーを「見かけ上は」採用している印象を受けました。


 もう一つは、ketttさんの配列記憶法より。

記憶方法が固定化してきたので一応ご紹介。


1.2文字の連続を重視する
  理由: 運動記憶は一打鍵ずつではなく、前の動作との接続をキーに記憶されるっぼいから。
2.片手の連続を中心にする
  理由:「どのキーか」ではなく「手のひらの動き」でやってみる方が覚えが早いので、2文字で動きを作って覚えさせてしまえばいい。結局は交互打鍵にも応用が利く。
3.すでに覚えている文字とつなげて覚える
  理由:覚えていない文字同士で「記憶の孤島」を作っても仕方がない。そういう記憶は脳が勝手に削除してしまうので非効率。
(from http://d.hatena.ne.jp/kettt/20070414 )

 ここで提示されている事柄はもちろん「記憶法」なのですが、この視点で実際の「打鍵法」を想像してみました。
 すると、厳密な意味で「ダダダダダダ」と定テンポに叩くよりも、「つづりに応じて速く打てる部分を圧縮し、速くは打てない部分によるロスを補う」という方法を取るほうがうまくいく入力法というのも、確かに存在するのではないかな……と、そういう感じを受けています。

  • 使用頻度の高い綴りほど習熟度が高く、したがって高速に打てる
  • 使用頻度の高い綴りを打ちやすい配列であるほど運指&打鍵コストが少なく、したがって高速かつ楽に打てる

 以上2点の前提が正しいのならば、最適な入力タイミングというのは「ダダダダダダ」から「ダダッダダッダダッ」にいたる間のどこかにある(→これは固定的なものではなくて、配列や入力中の文字列によって変化する)のではないかな、と感じました。


 ……以上、ketttさんの記事にある「記憶の孤島」という言葉にピンと来て、アレコレと書いてみました。

そういえば。

 ketttさんの記事で「ぬ」を覚えるための例として「ぬこ」を示されていましたが、ここにはぜひとも「いぬ」もセットにしていただきたいな……と。
 #あ、「ぬこ」は「L{uo}」だけど、「いぬ」は「k L{u}」だから、これは微妙なんですね……打ってみて始めて納得しました^^;。

(メモ)W-ZERO3用のポケベル打ちなど用アプリ、 ctrlswapmini が v0.26 にアップデートされました。

 http://hp.vector.co.jp/authors/VA004474/wince/wince.html#ctrlswapmini
 メモリ圧迫時に強制終了となる不都合(?)があって、その対策がなされた模様です。
 そういう状況に陥ったことがない(ctrlswapmini以外は特にソフトウェアを導入していない)ので、私にとっては特段変わったことはないわけですが……最近いくつかの報告があったようで、それに対応する形でのアップデートらしく。