« twitbackrなるものを試す。 | トップページ | 調子に乗ってubuntu10.04用起動画面第3弾。ぷりますもみっくみく! »

GUIがいい。

PCを使うなら、やっぱりGUIがいい。
まあ、CUIとかCLIの方が、「慣れていれば効率がいい」のは事実かとも思うけど。
例えば、シェルの履歴の機能とか使う、補完の機能を使う、という多機能なツールを使うことで、キータイプの量は確実に、圧倒的に減らせるし、知っていれば、あるいは、慣れていれば、そっちの方が圧倒的に速い。
また、GUIに喰われるCPU、メモリ等のリソースも「圧倒的に」小さくできる。
コアなロジックの処理だけにPCのパワーを使えるのも間違いない。
言ってしまえば「本質」の部分だけに、「無駄なく」パワーを使える。

これがCLIの利点であり魅力。少々最新PCと比較してマシンパワーが落ちてようがGUIの最新PCと遜色ない効率でアプリを使うことができる。
あるいは、仕事をすることができる。

ただ、これには絶対の前提条件があって。
「知っていること」そして「慣れていること」。
例えば、コマンド一つとっても、補完が使えるとはいえ、そもそもコマンドを「知らない」と補完もへったくれもない。
コマンドだけはかろうじて解っても、やりたいことを実現するオプションってなんだっけ?みたいな。
もちろん、CLIにも、ヘルプはあるし、コマンドオプションを調べるための効率的な方法も用意されている。
知ってれば。(笑)

一方で。
GUIは、大抵の場合、アプリの起動はメニューからになる。
まあ、少し凝ったことをするひとでランチャからの起動かな。
で、このメニューってのは大抵の場合、用途別に分類されていたり、アイコンがついてたり、そもそもアプリの名称が表示されているので、「やりたいこと」に関係しているアプリを探すことが出来る。
もちろん、知ってる場合と比較して、効率は圧倒的に悪い。
でも、「知らないとできない」状態よりも「手探りだけどできる」状態の方が、大抵はマシ。(笑)
アプリを起動すると、GUIだと、設定したければ設定画面を開いて、自分の期待する形に選択をしてったり、チェックを付けたりする。
これも、知ってたら効率がわるい。
でも、知らないなら、知らないなりに、チェックを付けたり外したりして、試行錯誤できる。
さらに、ツールチップや、オプションなんかの脇に注意書きとか、例えばKDEのツールなんかだと、設定が細かく出来るぶん、その手のガイドも充実してたり。マウスカーソルが変わって、状態を知らせてくれたり、操作のガイドになってたりするし。

これ、この前松本さん向けにpygsconv作ったときに痛感した。(笑)
元々、CLIでオプション指定して使ってるから、まあ、解るんだろうな、と思って、そういう前提でGUIを作ったら、期待する動作をしなかった、って話で。
出力ファイル名を連番で処理するために、特殊な構文を指定しないとならなかったんだけど。
ワタクシとしては、前提がCLIのオプションを知っている、ってことでGUI設計してたんで、まさかそんなこととは思わなかったという。(笑)
#ま、普通ピンとこないわな、%dが数字に置き換わるなんて。
GUIでラッピングしているから、そのくらいプログラムがやってくれるんだろう、っていう思いもあったとは思うんだけど。
でも、こんなのはGUIで、最初からガイドを表示してあげれば全然OKな話なんだよね。
CLIでもヘルプ見れば解るかも知れないけど、知らないとヘルプも見れないから、CLIで使ってたら一生解決出来ないかも知れない問題を、GUIの場合には、「画面にガイドを表示する」ことで、変なエラートラップ組み込まなくても問題ない、ってことにできる場合もあるし。
#ま、そんでもバカよけは必要なんだけどさ。

つまり、GUIでも、CLIっぽいUIを構築してたのが失敗だったって話で。
結構あるけどね、GUIっても、画面が出るだけ、みたいなのが。
そんなのもはやGUIじゃないんだな、ってのを痛感した。
知ってれば、それでも使えるんだけど、知らないとどうしようもない。
そういう点で考えるとKDEは良くできてると思うな。ガイドが充実してる。
#設定細かすぎて使えないって場合もあるんだけど〜w

なので、できれば良くできたGUIで使いたいよね、と思う。

好きでPCを使ってる人は、よく覚えるし、どんどんエキスパートになっていくから、最終的にCLIで行く、ってのはありだと思う。
自分が使うなら、自分で使い易い方法でOK。もう効率求めてどんどん行こうよ、って話。

でも、それを他人に押しつけちゃダメだ。
世の中には「仕方なく」PC使ってる人もいるし、そういうひとは「覚えない」。(笑)
まあ、ね、Linux使ってる人は少なからずPCに興味持ってる人だし、完全な素人ってわけじゃないから、CLIで使ってよってお願いするのはアリなのかも知れないけど、他人に提供するプログラム書くんなら、そして、使い勝手を考えるなら、GUIの親切さ、わかりやすさを見習って、「覚えなくても使える」「知らなくても使える」ものを目指さないとダメだと思う。

まあ、ダメダメなGUI使うくらいなら、覚えてCLI使う方がいい場合も多々あるけど。
どうせなら、優れたGUIでPCは使いたいものだな。(笑)

|

« twitbackrなるものを試す。 | トップページ | 調子に乗ってubuntu10.04用起動画面第3弾。ぷりますもみっくみく! »

パソコン・インターネット」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事

コメント

いや、笑い話ですが、ほんとに、GUI画面に「複数ページのPDFを出力する場合には変換先ファイル名に%dを含めてください。」って書いてあるだけで、全然違うんですよ。こういうのはいっぺん覚えてしまえばそれで十分なんでしょうけど、普段使わないものは覚えられないし、あやふやに覚えていてハマってしまうということもあるし。
ユーティリティプログラムの多くがコマンドで操作する仕様になっている理由は、ようやく私にもだんだんわかってきました。かおりんさんが書いておられるようなことのほかに、スクリプトでCGIなんかに組み込んだりするときに便利なんでしょうね。GUIがあるプログラムでもコマンドで操作可能っていうのは、そういう用途で便利なんでしょう。けど、その機能を素で、しかもたまに使いたいようなときには、いちいちコマンドとオプションを調べてっていうのは、私のようなユーザーにはとてつもないハードルになるんです。
今回のpygsconvで助かったのは、オプションをプルダウンで選べるようにしておいてくれたことですね。こういう「やれることが限定されている」仕様というのが、余分な迷いを減らしてくれます。
ちなみに、このghostscriptの場合、アンチエイリアスの値もオプション指定できるのですが、これをGUIから省いたのも、いい仕様だと思います。通常、デフォルト値から動かすことはないらしいので、設定可能だと迷うところがひとつ増えてしまいますから。

ちなみに、コマンドでの補完って、タブでしたっけ? なんか、以前に使ったことがあるような気はするんですが、もう忘れてしまっています。素人に「覚えろよ」といったって、この程度です、現実には。

投稿: 松本 | 2010年5月 6日 (木) 19時32分

いや、これ冗談抜きで、全然違うんですね。>操作ガイド
プログラムの手間なんてほとんどないラベル貼るだけで、問い合わせとか、確実に減らせる。
仕事じゃわかってる話だし、公開ツールの方には、マメにツールチップも付けてるんですが。

まあ、そんでもファーストバージョンなんて、使い勝手変更のたたき台みたないもんだから、初回で問題摘出できたのは、良かったと思いますけどね。(笑)

いずれにせよ、使いにくいGUIって、ある意味CLIより悲惨なので、GUIが使いにくい場合には、きちんと文句言わないと直らないんですよね。
設計してる方は、これで正しいと思って作ってる場合多いし。

ちなみにコマンドやオプションの補完はタブキーですね。標準の端末でも、けっこう補完してくれるんで、端末使うときは覚えとくと便利ですね。

投稿: かおりん | 2010年5月 6日 (木) 20時19分

こんばんは、とても興味ある内容なので少し「たわごと」を聞いてください。
「ubuntu」とも「Linux」とも関係無いのですが、私は職場でMS社のACCESSを使って、異動先の業務内容に特化した業務アプリなぞを作っています。
一応設計段階から処理の流れをヒアリングし、最適なオペレーションで効率良く入力できるようにしてあるつもりです。
しかし、染み付いた癖でしょうか「キーボードUI」が抜けてないので、フォーム上では「Enter」キーまたは「Tab」キーで項目移動が基本です。コンボボックスも数値を入力してインクリメントするようにしてます。「慣れてくると」リズム良く入力できるのですが、そこで痛感するのが、最近のユーザはGUI(マウスオペレーション)が基本なので項目を一つ一つクリックし入力し、コンボボックスもクリック、プルダウンを繰り返すのです。そこで「キーボードUI」を伝えると入力が早い事に気がつくわけです。まさしく

>ただ、これには絶対の前提条件があって。
>「知っていること」そして「慣れていること」。

です。昔ながらの基幹系オンライン端末を知らないユーザーが大勢を占めた今日、GUIだけど実は「キーボードUI」の効率の良さを体験してもらいながら「UIとは?」等と自問自答してます。
以上長文にて失礼しました。

投稿: tori_3 | 2010年5月 7日 (金) 02時19分

GUIの良いところというのは、キーボードでも、マウスでも操作できるところ、だと思ってます。
これ、例えばキーボードだけで使い易い、マウスだけで使い易い、だとけっこうダメなんですよね。
最初は、使い方も解らないし、慣れもないからマウスで操作するけど、慣れてきたらキーボードショートカットで、手早い操作ができる、ってなってないと、実はよいGUIじゃないだろ、と。

特に入力項目の多い、しかも何度も使うような業務アプリだと、必須な機能だと思いますね。
「誰にとって使い易くあるべきか」ってのは、UI設計上は難しい命題で。(笑)
慣れた人を対象とすべきか、それとも、手間が掛かっても、誰でも簡単に操作できるようにすべきか。
最初は後者が重要ですが、何年も使う業務アプリだと前者をおろそかにも出来ない。
まあ、その辺考えるのもUI設計の面白いとこではありますね。(笑)

投稿: かおりん | 2010年5月 7日 (金) 06時22分

さて、毎度無関係にネタ投下ですが、Google日本語、Ubuntuで使えるそうです。
http://code.google.com/p/mozc/wiki/LinuxBuildInstructions

私は試していません。なんか難しそうなことがいっぱいかいてあるので。せめて.debファイルでもあればいいんですけど。

投稿: 松本 | 2010年5月11日 (火) 13時36分

今試してみている最中です。
ビルドそのものは、非常に簡単に行うことができ、debパケージも作成できました。
いやぁ、有用な情報、ありがとうございます。

投稿: かおりん | 2010年5月13日 (木) 12時43分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/500703/48283671

この記事へのトラックバック一覧です: GUIがいい。:

« twitbackrなるものを試す。 | トップページ | 調子に乗ってubuntu10.04用起動画面第3弾。ぷりますもみっくみく! »