トップページ⇒tech
214コメント65KB

複雑化するUIについて考察するスレ

■ このスレッドは過去ログ倉庫に格納されています
0001AANGNG
多くのソフトウェアがGUI化されて久しいが、
最近ではサイドバー、タブビュー、ドッキングウィンドウなど、
かなり複雑なものを採用するのが普通になってきているようだ。

ソフトウェアの設計にかかる時間のうち、8割はUIに費やされる
という。

UIオブジェクトのコンポーネント化によっていくらか作りやすく
なっているとはいえ、UIには流行があるので2年もすれば古臭く
感じるようになってしまう。

UIと機能を完全に切り離してしまうことは不可能なのか
0002デフォルトの名無しさんNGNG
「くそジジイ」って言われるのと
「ジジイのクソ」って言われるの
どっちがいい?>>1
00031NGNG
>>2
2ゲットしてくれた礼にくそジジイに一票入れておく
0004デフォルトの名無しさんNGNG
>ソフトウェアの設計にかかる時間のうち、8割はUIに費やされる
>という。
ソースはどこ?

>UIと機能を完全に切り離してしまうことは不可能なのか
設計時にModel&Viewに分割してあるなら
フロントエンドを挿げ替えるだけで可能。
もちろん有る程度の工数は必要だが。
00051NGNG
>>4
ソースは覚えてない。すまない

まあバージョンアップなんかはいいが
最初の設計についてだな。
00061NGNG
補足だが、あとあと柔軟にUIを変更できるように設計するのはさらに
設計を複雑なものにするきがする。

CUIのシェルなんかだと標準入力とか標準出力というものがあって
それを使っている限りインタフェースに関する問題ないわけだが
GUIにはそういうものがない(or あるべきではない)のが原因なもかもしれない。
0007デフォルトの名無しさんNGNG
そういうもの=フレームワーク
0008デフォルトの名無しさんNGNG
そういうもの=DHTMLダイアログ
そういうもの≒スキン
00091NGNG
>>7-8
それでそういうものを使って、実際にUIデザインから解放されるのだろうか?
0010デフォルトの名無しさんNGNG
UIデザインは、デザインナーでも使えばいいじゃん。
プログラマの仕事じゃないよ
0011デフォルトの名無しさんNGNG
この辺に似たようなことが書いてあるな
ttp://www.fuka.info.waseda.ac.jp/~washi/m_html/node16.html#SECTION00053200000000000000
0012デフォルトの名無しさんNGNG
関連スレ
UIデザインガイドライン
http://pc3.2ch.net/test/read.cgi/tech/1028360166/
0013デフォルトの名無しさんNGNG
つか>>1の使えるGUIライブラリって何だ?
まずはそれを明らかにして欲しい。
0014デフォルトの名無しさんNGNG
UIだけしかない空っぽのプログラムを作って、それにプラグインとしてアプリケーションを記述するのはどうだろう

>>12
UIを統一するのもひとつの手だな。
00151NGNG
>>13
使ったことがあるのはMFC、AWT、Swingかな。
00161じゃないよNGNG
説明しにくいけど機能(UIを除いたもの)から簡単な選択だけで半自動で
UIを作成できるようになったら楽かと思う。

たとえばオブジェクトがあってそのオブジェクトにプロパティがあったとして
プロパティの型やその他の情報からUIの候補が自動的に決定されてあとは
どれを使ってどこに置くか決めるだけとか。
00171NGNG
>>16
そんな感じ。
最近せっかくいいアイディアが思いついても、まずUI設計をしなくちゃいけないので
二の足を踏んでしまうことが多い。
0018デフォルトの名無しさんNGNG
それは、あんたの能力不足だよ。マジで
0019デフォルトの名無しさんNGNG
MFC、Java周りのGUIビルダーなんて使ってるからだよ。
.NETかVCL使え。
00201NGNG
>>18
UI設計能力=プログラム能力なのだろうか?
00211NGNG
>>19
そういえば.NETも使ったことがあるが、
RADツールを使ったとしても時の流れにつれて時代遅れになってしまう
という問題は回避できないとおもうが
0022デフォルトの名無しさんNGNG
>>1
って言うか、あんたは色々とチャンポンにしすぎ。
ビジュアル的なデザインなのか(赤いとか、青いとか、丸いとか)
オペレーション工学的なデザインなのか(項目の順序や配置)
設計の話なのか、実装の話なのか
0023デフォルトの名無しさんNGNG
ソフトウェアなんて常に進歩・進化・変化し続けるものなんだから
それが嫌なら、ソフト屋廃業するか進歩の止まったロシアか北朝鮮にでも逝ってしまえ。
00241NGNG
>>22
ユーザインタフェースについてだが。

>>23
短絡的だな
0025デフォルトの名無しさんNGNG
>>24
あなたの言うユーザインターフェースの定義とはなんですか?
0026デフォルトの名無しさんNGNG
業務アプリなら大抵はWWWブラウザで間に合っちゃうんじゃないの。
もっと応答性が必要ならターミナル画面にすれば、
むしろ能率の悪いマウス操作が排除できて都合がいい。
オブジェクト指向不要スレの趣旨とも重なるが、
UIに時間をかけすぎるのは無駄だし、デスマーチの元だし、
ソフトの品質も落とす。
0027デフォルトの名無しさんNGNG
まぁ >>1 の言わんとしてるところは良く分かるな。そして結局 MVC とかに
行き着くわけだ。
0028デフォルトの名無しさんNGNG
>>25
おそらくあなたが今見て、操作しているものです

>>26
確かにそうですね。でもウェブアプリでもUI設計はいるんですよね。
CUIには確かに惹かれますが、それでは議論する意味がなさそうなので

>UIに時間をかけすぎるのは無駄だし、デスマーチの元だし、
>ソフトの品質も落とす。
まさにそうだとおもうんですが、利用者からすると高機能でカスタマイザブルな
UIは魅力的なんですよね。
0029デフォルトの名無しさんNGNG
1は厨房っぽいな・・・
ソフトウェア開発に万能解があるわけないだろ。

login-glue-ui以外の構造はありえないんだから
>UIと機能を完全に切り離してしまうこと
を目指すんならglueががんばればいいし
特定のプラットフォームの特定のバージョン上での開発効率を上げたいんなら
glueをuiに埋め込むしかない。全てはトレードオフの問題だ。

logicからuiを自動生成なんて
自然言語からコードを生成なんてのと同種の寝言でしかない。
00301NGNG
名前&メール欄入れ忘れました。もうしわけない

>>27
MVCをもっと徹底して実装されたものがあれば良いのですが。
ブラウザのテーマを取り替えるぐらい簡単にUIも取り替えられないものでしょうか

2ch用のブラウザとかを見てると、2chという機能とブラウザというUIがきれいに分離されてるなと
思ったりします。
0031デフォルトの名無しさんNGNG
Logic から UI を組み立てるのは Java の BeanBuilder 的発想だな。
まぁネタとしては良いんでないの?
00321NGNG
>>29
何かを求めてるわけではないよ
UIについて考察することで新しいアイディアがひらめけば良いなと思っているわけです

それにロジックからUIを生成するというのはちょっとちがいます
ロジックを作ったら、あとは流行のUIが勝手にくっついてくれればいいな
という感じですね
0033デフォルトの名無しさんNGNG
>>30
それは dat ファイル (だっけ?) というインターフェースがきっちり
切られているから。それをロジックと UI のきれいな分離というなら
SQL で DB 鯖叩くだけの VB アプリもそうといえる。
00341NGNG
>>33
そうですね。データと操作を分離するのはデータベースの標準化である程度実現できてる
ように思います。
データの操作を含むロジックと操作系(UI)の分離まで進まないのはどうしてでしょう
0035デフォルトの名無しさんNGNG
>>25
>おそらくあなたが今見て、操作しているものです
おまえ、ひょっとして厨房か真性バカだな?

操作しているって言っても

網膜で認識している要素 → グラフィックデザイナ
操作方法の考案 → オペレーションデザイナ
操作方法の決定 → プロダクトディレクタ
実装方法の考案 → システムエンジニアorプログラマ
実装方法の決定 → システムエンジニア
実装の実作業 → プログラマ

作業する人も、技術も、 みんな違うのに一色単にするなと言ってるのが分からないの?
0036デフォルトの名無しさんNGNG
>>35
作業する人も、技術も、 みんな違っても、それはユーザインタフェースという意味で同じですよ
0037デフォルトの名無しさんNGNG
>それはユーザインタフェースという意味で同じですよ
ここは、プログラマ板だぞ?
0038デフォルトの名無しさんNGNG
>>35
>>1 の話は UI を分離することだから、UI の分類を始めてもしょうがないだろ。
00391NGNG
>>37
それではあなたにとって>>25の質問の答えは何ですか?
00401NGNG
>>38
自分で話をわき道にそらすところでした。かたじけない
0041デフォルトの名無しさんNGNG
>>それはユーザインタフェースという意味で同じですよ
>ここは、プログラマ板だぞ?
ここは、2ch だぞ?
0042デフォルトの名無しさんNGNG
>UI を分離することだから
1は、UI全部と申していますが
00431NGNG
なんだか面白いな。

まあ、話を戻すとだ
たとえばいつも使ってるツールで、「こういう機能がほしい」と思ったときに、
その機能を実装して、UIはそのツールのものを使えるようになったら
良いなという感じでもあるかな
0044デフォルトの名無しさんNGNG
6:一見関係ありそうで関係ない話を始める
00451NGNG
>>44
6とは? 誤爆でしょうか
0046デフォルトの名無しさんNGNG
7:1はただの教えて君
0047デフォルトの名無しさんNGNG
>>43
悪い、言ってることわかんねぇ。
脳内寸劇じゃなくて何の話をしたいのか言ってくれ。
00481NGNG
>>45-47
が良くわからないが…
00491NGNG
>>47
寸劇を披露してるのは>>41-42じゃないか?
0050デフォルトの名無しさんNGNG
>>45-47はただの荒し。
気にすんな >1
0051デフォルトの名無しさんNGNG
>>47
要するに以前作ったMFCのアプリをノーコストで
.NETだかSwingにポートしたいんだとさ。
で、発生するコストをMSだかSunだか自分以外の誰かに負担して欲しいんだと。
0052デフォルトの名無しさんNGNG
>>51
分かった。グラフィックデザイナでも使えるレベルの .NET だか Swing だかの
スキンビルダーがあれば良いということだな。

いや、マジで欲しいよ、俺。
00531NGNG
ポートしたいわけじゃないが
新規に作るときに、既存のUIかもしくはUIのテンプレートのようなものを使いたいということ
0054デフォルトの名無しさんNGNG
>>1
ひょっとして、分裂症の毛が生えてます?ウチの会社の社長みたいですね
0055デフォルトの名無しさんNGNG
>>53
悪い、また話がわかんなくなってきた。
00561NGNG
どうもうまく伝えられなくてすまん。

新規に作るときに既存のUIかUIテンプレートのようなものが使えて、
それ以後テンプレートがバージョンアップしてもプログラムに変更を加えることなく
作ったものが使えるようにならないのは何が問題なのか
ということを考察したいわけです。

UIとロジックの分離について話してるのはそれを実現するためには最低限
必要な技術だからということです
0057デフォルトの名無しさんNGNG
>>55
要するにプラットフォーム非依存で
GUIフレームワーク非依存なGUI開発環境を使いたいんだとさ。
アフォか。
0058デフォルトの名無しさんNGNG
あー、AWTね。
0059デフォルトの名無しさんNGNG
8:結局1は何も考察していない罠
0060デフォルトの名無しさんNGNG
>>56
それは Swing が (もっと言えば AWT も) やってることだが、Java は
触ったことがあるのか?
0061デフォルトの名無しさんNGNG
さーて、そろそろ撤収して寝ますか?
徹夜したのに、ラーメン食べて2chしただけで、1行もコード書けなかったよ(w

お疲れさまでした!
0062デフォルトの名無しさんNGNG
このスレに居るのは >>1 を含めて 4 人と予想
00631NGNG
>>57-58
AWTがそうだが、AWTでは不十分なんだな

>>59
何かいやなこととかあったのか?
0064デフォルトの名無しさんNGNG
>ソフトウェアの設計にかかる時間のうち、8割はUIに費やされるという。

これって、画面構成とかメニューの構成とか、いつも画面に出てるとか、ポップアップにするとか、
ドラッグして移動するとか、タブで切り替えるのか、複数のウィンドウなのか、ダイアログなのか

と言うレベルで設計・検討してる時間で、プラットフォーム非依存とかテンプレートとかで解決する話じゃないと思うぞ
0065デフォルトの名無しさんNGNG
削除以来出してきました
00661NGNG
誰も現状に問題を感じてないんだろうか
00671NGNG
UIを設計&実装する時間がどうしても多すぎると感じてしまうのだが。
それを何とかしようと考察することは無意味なことだろうか
0068デフォルトの名無しさんNGNG
現状の問題ってなによ?
0069デフォルトの名無しさんNGNG
>>67
文章力無いのは分かったから、完結に箇条書きで書いてみろ。
0070デフォルトの名無しさんNGNG
1: 1に文章力が無さ過ぎる。
0071デフォルトの名無しさんNGNG
だから、UIの設計は、専門のオペレート工学を学んだヤツにやらせれば良いし、実装は誰でもできるでしょ?
実装に時間が掛かるのは、スキルの問題だし、次回に使い回し出来ないのは、コードの設計なり実装なり管理が出来ていない訳でしょ?
0072デフォルトの名無しさんNGNG
>>71
だから1みたいなスキルに問題のある奴でも
簡単に作れて使い回しのできるような開発環境を用意しろと。
0073デフォルトの名無しさんNGNG
オペレート工学って初耳だな。それを言うなら人間工学だろ。

http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=%E3%82%AA%E3%83%9A%E3%83%AC%E3%83%BC%E3%83%88%E5%B7%A5%E5%AD%A6
00741NGNG
うーん。問題を感じてない人と話してもしょうがないような気がするが
>>69-71とかは現状に問題を感じていて話したいを思ってるのか?
0075デフォルトの名無しさんNGNG
>>1 よ、悪いことは言わない。
君のレベルならここ↓で論議したほうが良い。
http://pc.2ch.net/test/read.cgi/php/990953955/l50
0076デフォルトの名無しさんNGNG
2: 1にコミュニケーション能力が無さ過ぎる上に逆ギレ。
00771NGNG
>>75
わるいがそれはすでに実装したことがある。
>>34で言ったように、データとUIの分離はすでに実現できる
0078デフォルトの名無しさんNGNG
オペレート工学ってのは、完全に造語でしたな。反省。
「人間工学」って言うと、「猫とか犬に対する差別」と言われそうだし。
実際、アプリを操作するのは鼠だし。
00791NGNG
UIの設計にかかる時間は妥当だと考えてる人が結構いるみたいだな

>>75=>>75=>>78
はちょっと自分のスキルの無さにたいしてコンプレックスがあるみたいだ
00801NGNG
結論も出た事ですし、削除依頼も親切に出してくれたようなのでこの辺で。
0081デフォルトの名無しさんNGNG
>>79
御託はいいからお前が思ってる問題点や改良ポイントを箇条書きで書いてみろ。
0082デフォルトの名無しさんNGNG
結局設計・実装・メンテのどのコストを下げたいのか訳わからん。
あんまりその場その場の思いつきだけで喋ってると会社でも相手にされなくなるよ。
0083デフォルトの名無しさんNGNG
終わったの?
0084おはやうNGNG
祭り?
0085デフォルトの名無しさんNGNG
もう終わったみたい
0086デフォルトの名無しさんNGNG
例えば,

[hello.program]
print "ハロー" /*//#%何言語でもいいけど*/

みたいなプログラムがあってさ,

$ build hello.program -link WindowsXP

ってするとWindowsXP風のハローダイアログが出るとか、

$ build hello.program -link かちゅ〜しゃ

ってするとかちゅ〜しゃっぽいハローダイアログが出るとか
(かちゅーしゃっぽいってなんだかわからんが)

1はそういうことを言いたいんじゃないの?
0087デフォルトの名無しさんNGNG
そんなもんのどこが嬉しい?
0088デフォルトの名無しさんNGNG
>>86
うーん、それなら起動後に Look and Feel を選べる Swing と何か違うのかという
ことになってしまうのだが。話の流れを見ると

1. ロジックと UI を分離したい
2. UI 構築に時間を掛けるのは無駄 (ロジックから自動生成またはテンプレート化したい)
3. UI を切り替えるようなスキンっぽい動きをさせたい

と言っているような気がするが、論点がころころ変わるのでよく分からない。
0089デフォルトの名無しさんNGNG
>>87
UIの実装にかかる時間が0になる。
0090デフォルトの名無しさんNGNG
>>1
板違い
0091デフォルトの名無しさんNGNG
>>88
そのSwingアプリのソースコードには UI に関するソースコードが多く含まれませんか?
0092デフォルトの名無しさんNGNG
>>89
だから、>>1がしたいのは、実装じゃなくて設計の話みたいだから
0093デフォルトの名無しさんNGNG
>>91
イベント通知を基本にすれば UI とは疎結合に出来る
0094デフォルトの名無しさんNGNG
>>92
あ,そうなんですか?
すいません。読み間違えてるみたいです・・・

>>1は
1.普通のコンソールアプリを書いて
2.ビルド時にUIを指定すれば
3.自動的にUIが付く
というものがあればいいなーと言っているものだと思ってました。
0095デフォルトの名無しさんNGNG
>>93
何度もしつこくてごめんなさい。

だから, 「UI とは疎結合に出来」ても,「UI 自身を設計&実装しなきゃいけない」んじゃないの?

# >>92で指摘されてなんか俺勘違いしているようなんですが。
0096デフォルトの名無しさんNGNG
このスレは >>1 の脳内を憶測するスレになりました。
0097デフォルトの名無しさんNGNG
複雑化する >>1 の脳内について憶測するスレ
0098デフォルトの名無しさんNGNG
分裂症の >>1 の脳内を憶測するスレになりました。
0099デフォルトの名無しさんNGNG
1 はユーザインタフェイスに関する文献はどれくらい読んでるの?
0100デフォルトの名無しさんNGNG
〜〜〜 ソースコード(browser.pro) 〜〜〜

string text = Http.Get("www.2ch.net");
Show(MakeDOM(text););

〜〜〜 ビルド&実行 〜〜〜
$ build browser.pro -link IE   → IEになる
$ build browser.pro -link Mozilla   → Mozillaになる
$ build browser.pro -link Opera   → Operaになる


こんなこっといいなーでっきたっらいいなー
0101デフォルトの名無しさんNGNG
>>95
完全に分離できればUI自身は一度作れば終わり
■ このスレッドは過去ログ倉庫に格納されています