2014年01月22日の日記です


ボタンの左右位置  2014-01-22 11:02:57  コンピュータ

現在お手伝いさせてもらっている仕事で話題になったので、メモ書き程度に。


そのお仕事では、スマホ向けのアプリを作っている。iOS / Android 共用。

なぜか、「OK/ Cancel 位置の入れ替え」という指示があった。


それまでは、OK/Yes/進む などが右に、Cancel/No/やめる などが左にあった。

これを逆にしたいのだという。


なんでそんな指示が出たのかは知らない。

お仕事を手伝っている立場なので、上が決定したのであれば従って作業をする。


でも、その指示がどんなにおかしいものであるかは、ひとこと口を挟んでおいた。




Windows を使っていると、OK は左に、Cancel は右にくる。

恐らくは、指示はこれを踏まえてのことだ。普及している Windows にあわせよう、となったのだろう。


でも、作っているアプリはスマホ向けだ。

iOS では OK は右に来ることになっている。


ややこしいのは Android で、2.x までは OK は左に、だった。

でも、4.0 以降は OK は右に、と推奨されている。このため、アプリの作られた時期により OK ボタンの位置が変わり、使いにくいことこの上ない。


ともかく、スマホでは今後は OK は右だ。

今から OK を左にしたい、と言っている意味がわからない。

(ちなみに、今は締切1週間前だ。こんなことに時間を割いている余裕はないはず。

 もっとも、締め切りはもう何度も延長されているため、だれも1週間後が本当の締切だとは思っていない様子)





iOS で OK を右にする理由は簡単で、MacOS がそうだからだ。

じゃぁ、MacOS はなぜ OK が右なのか、といえば、初代 Mac (白黒のやつだ)が作られた際に、熟考の末そう決められたからだ。


Mac の元になった Lisa には、従うべきガイドラインは無かった。

Lisa のアイディアの元となった Smalltalk でも、特にガイドラインは無い。

(そもそも、Smalltalk はそれほど GUI ではない)


このため、操作が混乱することがあり、使いやすさを求めた Mac では、多数のモニタリングテストの末に、使いやすいガイドラインがまとめられたのだ。

(メモリ容量が小さく、同じ部品を使いまわさねばならなかったという事情もある)



文章は左から右に読む。(ここでは、アラビア語圏などのことは考えられていない)

これを前提にすれば、ボタンを2つ並べた時、左側のボタンが先に目に入ることになる。


先に目にしたボタンを押したくなったとしよう。

この時、2つボタンがあるにもかかわらず、最初に目についたボタンを押したのだとすれば、内容をよく理解していない。


そんな状態で先に進んでしまい、戻れない状態になってはいけない。

左側にあるのは、やり直しが利くボタンであるべきだ。


つまり、左はキャンセルにするのが良い。



ボタンは通常一番下に置かれる。

その中でも、一番右に置かれるものは、一番最後に目に入ることになる。


つまり、右側は「次の動作に移る一番最後のもの」だ。

ここに、次の動作を開始するためのものが来るのは、非常に自然なことだ。


そのため、OK ボタンは右側に置かれるのが自然だ、と言うことになる。


主にこれらの理由で、Apple は Mac の作成時に Cancel を左に、OK を右に置くことにした。


このガイドラインは非常に優れた論文でもあり、多くのことを考慮に入れて作り上げられた、素晴らしいものだった。

Apple もその後、このガイドラインを超えるような設計指針は示せていないし、後の GUI デザインの規範となった。




じゃぁなんで Windows は逆なのさ、と言う話。


Mac に対抗して逆にしたんじゃないか、という推測や、訴訟になった際に「似せていない」と主張するためだったという説、単にプログラマが何もわからずに間違えたんじゃないかという説もある。


でも、これは案外根が深い。


DOS 時代をご存知な人は、DOS でもテキストグラフィックでボタンを模倣することがあったのを覚えているだろうか?

なにも、ボタンデザインは GUI だけの特権ではない。テキストだってボタンを表示することくらいできる。


模倣だけでなく、テキスト画面でマウスが使える環境だってあったのだ。

マウスを動かすと、カーソルが文字単位で動く。慣れれば案外使いやすいものだ。



もっとも、これらは Mac 発表以降に作られたものだ。

Mac は 1985 年発表。マイクロソフトは、ワープロや表計算など、よく使われるソフトをまとめた「MS-Works」を発売。


その後、MS-Works は MS-DOS 用に移植されるが、この時に MS-DOS でも GUI を模倣している。

注目すべきはボタンの位置で、OK が左に来る。


なぜか? この時点では Mac のソフトを移植しただけで、Mac を模倣した OS を作ったわけではない。

対抗して逆にする理由もないし、もちろん裁判対策などではない。


プログラマが何も考えていなかったのであれば、Mac をそのまま真似して OK が右に来ただろう。



当時のこの手のソフトを使っていた人なら、もったいぶらずとも答えはもうわかっていると思う。


当時はマウスがないのが当たり前。

ボタンを押すのだって、キーボードでボタンを「選んで」リターンキーで「押した」のだ。



部品の移動は TAB で行われる。

多数ある部品を TAB で順次選び、「一番最後付近の」 OK ボタンまで進む…だけで一苦労だ。

ここで、ついうっかりよく読まずにボタンを押してしまう、と言う危険性は、まずないと考えてよい。


うっかりミスを防ぐ、という名目で Cancel が左側にある理由などないのだ。


もっとも、わざわざ TAB キーを押して部品間を移動しないでも、大抵はキーボードで動作を選択できた。

Cancel は、ESC キーに割り振られているのが普通だった。

間違えた画面に進んだな、とおもったら、いつでも ESC キーを押せばよい。キーの名前の通り脱出(エスケープ)してくれる。


問題は OK / 保存 / 次へ…などのキーだ。

大抵は、キーの機能の頭文字のキーを押せばよいようになっている。 OK の O 、Save の S 、Next の N など。

そこで、どのキーを押せばよいのかを、素早く探せる必要があった。


…つまり、目につきやすい左側にあるのが操作しやすい。



以上の理由により、MS-Works では左に OK を、右に Cancel ボタンを配置してあるのが使いやすいことになる。



実は、この操作系は Windows 1.0 でも踏襲される。

当時はまだマウスは普及しておらず、Windows はキーボードのみでも操作できるように作られていたのだ。


いや、今だってそうだ。

基本的に、Windows はいまでもキーボードのみで操作できる。

そして、キーボードで操作する前提においては、左側に OK が来ている方が使いやすい。


今ではマウスで操作するほうが多数派だろうし、そう考えると Apple のガイドラインに従う方が理に適っているように思える。

とはいえ、DOS 時代から続く伝統はすでに変えられないだろうし、キーボードでも操作することを考えるとこちらのほうが適切なのだろう。




初代 Mac 発売に当たり、Jobs はキーボードを別売りにしたがった、と言うエピソードがある。

Mac はマウスだけで操作できるようにまとめ上げた環境で、キーボードなどいらない、というのだ。


結局これは見送られたが、Mac がマウスだけで操作できたのは事実だし(文字を入力したいときは、ソフトウェアキーボードがあった)、キーボードで操作させてくれない部分もあって、面倒でもある。


Windows は、DOS から乗り換えることを想定していたため、マウスなどなくても操作できなくてはならなかった。

そのため、キーボードだけでも操作しやすいようにチューンされている。

マウス操作を前提とすると疑問に思うような(今回の話のような)ことも、キーボードで操作しやすいように作ってある、ということがある。



この違いをもっと端的に言うならば、Mac は当初何も持っていなかったが、Windows は DOS 資産の引き継ぎが義務だった。

Mac では理想を追い求めて設計できたが、Windows はそういうわけにはいかなかったのだ。


Windows がおかしい、と責め立てるのは、そもそもの出自を理解していないのだ。



マウス操作なら OK は右にあったほうが良いだろうし、キーボード操作なら OK は左にあったほうがよい。

それが、当時のユーザーが望んだスタイルだったことになる。

どちらも、ユーザーの要望に応えようと頑張った結果、正反対の結論が導かれている。


Mac に対抗したとか、訴訟対策だったとか、そんなちっぽけな理由で逆になっているのではないのだ。



同じテーマの日記(最近の一覧)

コンピュータ

関連ページ

バーベキュー【日記 17/07/02】

WEBページの検索順位をあげる方法(2/2)【日記 18/10/06】

Windowを閉じるボタンの左右位置【日記 20/08/17】

めがね【日記 21/11/09】

Programming Tips

別年同日の日記

03年 FCE Ultra for C700

04年 2冊のファミコン本

07年 ドーラと大冒険!

13年 Tweetの取得

16年 デビッド・ローゼン 誕生日(1930)

19年 SEGA TETRIS


申し訳ありませんが、現在意見投稿をできない状態にしています

あきよし】 指摘ありがとうございます。書き間違えていました。記事は修正済みです。 (2014-12-17 10:38:29)

【まのん】 >そして、キーボードで操作する前提においては、右側に OK が来ている方が使いやすい →文脈から見て、これって「左」ではないですかね? (2014-12-07 20:37:53)

【nix】 AndroidのOKボタンが左右どっちにあるべきか調べてただけなんですが思わぬ勉強になりましたw 記事の事実と右利きの人が多い+OKのほうが押す機会が多い⇒指に近いほうがいいこともあるので右にOKを配置しようと思います。 (2014-09-16 14:32:07)


戻る
トップページへ

-- share --

460022

-- follow --




- Reverse Link -