Graviness Blog

算数・数学・科学・電脳・雑記・アホの順の密度で記事が構成されます。
<< July 2018 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >> ブログランキング・にほんブログ村へ
 
RECOMMEND
ビッグバン宇宙論 (上)
ビッグバン宇宙論 (上) (JUGEMレビュー »)
サイモン・シン, 青木 薫
RECENT COMMENT
  • 豊臣秀吉と曾呂利新左衛門から学ぶ数列の和
    優乃 (07/12)
  • 【誰か解いて】漸化式 a_(n+1) = f(n) * a_n ^ g(n) + h(n) の一般項
    優乃 (02/18)
  • 【誰か解いて】漸化式 a_(n+1) = f(n) * a_n ^ g(n) + h(n) の一般項
    S.S.+ (02/16)
  • 豊臣秀吉と曾呂利新左衛門から学ぶ数列の和
    坂井昭 (03/19)
  • d/dx(x↑↑n): 高さが定数のテトレーションの微分 - 数学的帰納法を用いる方法
    (09/30)
  • 全ての三角形は二等辺三角形
    優乃 (09/28)
  • 全ての三角形は二等辺三角形
    亀レス (09/28)
  • 全ての三角形は二等辺三角形
    優乃 (09/24)
  • 全ての三角形は二等辺三角形
    亀レス (09/23)
  • 【未解決】新しい演算子を創る
    $_ (09/10)
RECENT TRACKBACK
MOBILE
qrcode
PROFILE
無料ブログ作成サービス JUGEM
 
自由度の高さと使いやすさ
下記問題に対する一応の結論が出ましたので,記しておきます.結論と書くと,異論反論あると思うし,勉強中で私自身も考え方が変わると思いますので,この場は軽く流して下さい.きむさん,Flimさん,(別箇で議論の場所を提供してくれた)夏風さんありがとうございました m(_ _)m

【結論】
自由度の高さは,ユーザビリティ的には良いことであると考える.ただし,ここでいう自由度の高さとは,ユーザ層に合わせて考えられた手段のラインナップの豊富さであり,闇雲にインプリしたものではない.
一般的に自由度の高さと冗長性は切り離せない関係があるが,ユーザビリティにおいてはそれは異なると考える.前述した想定される多数のユーザ層に合わせて個別に提供した手段は,各々のユーザの種類(層)からすれば,操作性を高める効果に見える(ようにする).
(少し話はずれるが,一般的な手段を初心者ユーザ層に合わせて提供するときの一つのキーワードは単純化ではないかと感じた)

冗長性については,自由度の高さからすぐに複雑性が導かれるが,これは開発側の考え方であって,開発側はユーザに複雑性を見えないようにする方法を考えればよいだけの話である.その方法は多くあると思われる.各々のユーザ層からすれば,自由度の高さと複雑性は必ずしも共存しない(ようにすれば良い).例えば,混乱しやすいであろう初心者ユーザに対しては多数存在する操作をラッピングして,一つの操作で提供することができる(例:ウィザード形式).中級者以上にとって,冗長性は,使い易い手段を選択できる能力があり,複雑性にはつながり難い.

【問題】
自由度が高いことは,ユーザビリティ的には良いことなのか
例えば,Kという目的を達成するために,ある人は,A→B→Kというプロセスを踏んだとしよう,また別の人は,X→Y→Kというプロセスを踏んだとする.このとき,

良く考えれば,自由度の高いアプリケーションであり,悪く考えれば,冗長性の高いアプリケーションと考えることができる.

前者の背景は,「中級者以上にとっては自分に合った方法を選択でき,使い勝手を向上させる余地がある」であり,
後者の背景は,「初心者にとって複数選択肢があることは,混乱を招きかねず,分かり難さを助長する」である.

スコープを定めてませんし,答えがあるのかも不明ですが,少なくともこのような視点(考え方)では,時と場合によるとか,一長一短となってしまい,答えは出そうにない.どう考えればいいのか・・・
コメント
from: きむ   2008/03/30 10:00 PM
「初心者」と「中級者以上」って、
「考えて行動しない人」と「考えて行動しない人」
でもあてはまると思う。
とすると、自由度が高いことは、人間が衰退しない
為に必要なもの。でも、効率化とは相反するもの
かな。
あ、使いやすさと結びつかない。。。orz
from: 優乃   2008/03/30 11:33 PM
私自身全くの無知の分野で,ユーザビリティ記事に関して,コメントもらえるのは凄く助かります.ありがとう♪
どんな意見でも結構ですので,これからもよろしくお願いいたします m(_ _)m

文明が進化し,便利になればなるほど,全体は怠慢になりますしw,人間退化かも知れませんねw しかし,それによって,人間がより高度でインテリジェントなことを考える余裕ができたことは,すばらしいことだと私は思います.

さて,それはおいといてw.世の中のほとんどの人は,「考えなくても使えるものを求めている」と思います.考えさせないためにはどうすれば良いのかを考えるのがユーザビリティなのかも知れません.それこそ以前の記事でFlimさんが言われた,「自然と誘導させるもの創り」が共通したキーワードなのかも知れませんね.
from: flim   2008/03/30 11:45 PM
必要が有るか無いか

(私の思う)理想は、前者の柔軟性を
ラッピングして後者で提供する(ウィザード形式とか)
慣れてきたら前者で操作する。

前者は「使いやすさ」というより、「効率性」かと思う。
(printfを100回書くのとfor-loopを使うように)


業務アプリケーションとしては
間違いがないようにガッチガチにするのが
使い易いのではないかと思ってます。
後者の立場です。
(チェックするってのが一番嫌ですから)
業務に自由なんていらない。と思ってたり。



逆にエンターテイメント要素が強かったら、
自由に何でもいじれるほうが楽しいです^^。
from: 優乃   2008/03/31 12:29 AM
効率性と使いやすさの違いが分かってませんf^^;

また語録できましたよ.「柔軟性をラッピングして,冗長性で提供する」

・・・意味不明w日本語として合ってないw

「初心者ユーザには,中級者向けの自由度の高さをラッピングし,固定操作で提供する」かな.

確かにウィザード形式は好まれますね.私が知っているもので,複雑な設定が簡単にできるようウィザード形式を用意して提供したのですが,それは好評でしたが,長年そこをバージョンアップすることでメインアプリ化し,やはり複雑で分かり難くなったという目も当てられないアプリケーションがありますw

定型業務は,(その名の通り)定式化可能であり,それをすることの利点はでかいですね.考えることを極力排除することができますし,理想は想像しやすいです.
from: flim   2008/03/31 11:26 PM
あ、ごめんなさい。読み違えてました。
前者が自由度(手段が多い)高くて、
後者がその逆の状態の事だと思ってました。m(_ _)m



優等生な解答をしてもあまり意味が無いと思うので、
私の偏った思いをブツケテミマス。

「使いやすさ」 ≒ 「操作性」 ≠ 「効率性」
という認識をしております。


「同じ結果を出力する手段」が複数提供されている場合、
その理由は作業量を減らすためだと思います。


PG的な例しか挙げれなくて申し訳ないですが、

  print("売上:400円")

で文字が出力されるとする。
これは単純で誰にでも使える。使い易い。

これを10回書く場合、

  print("売上:400円") ......(1)
を10回並べて書くより

for(ごにょごにょ)
  print("売上:400円") ......(2)

の方が効率的に出力できる。
でも、指定回数出すだけでいいなら
いちいちforを書いてもらうのも面倒なので
楽に10回出せるように、

  print("売上:400円") *10 ......(3)

で出せるように改良してみる。
10回出したいならかければいいんだ!と主婦も納得(?)な感じに?

A→B→K,X→Y→Kのように複数の手段があるというのは、
(1) と (2) のように、複数の書き方がありますぜという提供であって
使いやすさ(操作性)というより、楽さ(効率性)なのではないかと。

(2)だと、主婦に優しくないので、(2)を(3)で出来るようにする。
複雑 を 単純化 して分かりやすくするのが「使いやすさ」かと。



ビデオの録画でGコードなりタイマーなりで録画できるのは
あくまで効率性・利便性が良いのであって、それが「使い易さの提供」とは限らない。

最近のビデオはテレビのプログラムが出て、そこから選べるので
便利で使い易いと思う。
単一番組の録画では上記の機能で十分だが、
毎週の録画の設定をどこでどうやってさせるか。で使いやすさに差が出ると思う。


長文失礼致しました。
読み難いのはご愛嬌でお許しください。
ズレてたら、ズレテルゼ!と一蹴してくらさい。

わたしも興味あることなので、
優乃さんの結論出たらぜひ教えてください。m(_ _)m
from: 優乃   2008/04/06 3:25 AM
「これは操作性か?効率性か?」などと問われてパッと答えられるとは思えませんが,すこぉしだけ分かった気がします.操作性は,既視的な(常識的な)効率性の先の発想を転換したところにありそうなイメージがしました.

print("売上:400円") *10

この例はなるほどと思いました.プログラムの例ですので,それを用いると,言語開発者がこの構文の選択肢を取れるかというとポリシー等もあり,なかなか難しいような気がします.言語を使うユーザー層に合わせて(例ではITに疎い人),考えたからこそ出てくる発想だと思いました.

恐らく,効果としては等価であったとしても,環境やユーザー,ユースケースに合わせて,作られた冗長性がユーザビリティを高める可能性があるのではないでしょうか.

自由度の高さを上げることと,冗長性が複雑性を高めることは,ここでは切り離して考えても良さそうですね.冗長性が高まっても,複雑性を下げる手段はいろいろとありそうです.

私も聞いてばっかりで申し訳ないです.飽きずにお付き合い下さいませ m(_ _)m
from: アトム   2008/04/06 9:24 PM
ちょっと前にコメントを書きかけたけど、意味のあることを書けてない気がしたので投稿はやめました。
でも、また性懲りもなくコメント書こうとしていますが、やっぱりダメです。

経験から一つだけ言えるのは、多すぎる機能は返って混乱を招くということです。それで問題はどうやって、多種多様な機能を初心者に隠したままで、使い勝手の良い操作性をエキスパートに提供できるかという点ですよね。こういう物の成功例ってなにかな?そこから何か学べるかな・・と他力本願。
from: 優乃   2008/04/21 12:55 AM
成功例を観測して帰納的に答えを求めるか,理論から出発して演繹的に答えを求めるか.
ユーザビリティの場合,前者のほうが効率的かも知れませんね.

まったく関係なくてすみませんw
コメントする









 
トラックバック
この記事のトラックバックURL
http://blog.graviness.com/trackback/738671
 

(C) 2018 ブログ JUGEM Some Rights Reserved.