パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Sunのデスクトップシステム『Looking Glass』がGPLに」記事へのコメント

  • by Anonymous Coward on 2004年06月30日 0時17分 (#579010)
    結局、作業対象は二次平面でしかないように見えるのが 寂しいというかなんつうか

    立体にしとけば何かを為したような気になるのは プラズマライン世代の悪い癖ではないかと(自分も含めて)

    ドキュメントが二次元だから仕方ないんかな
    三次元ドキュメント・・・例えば攻殻2の漫画みたいな(笑)わけわからない ものなら、三次元で表現するといいのかもしれん

    • 3D CADの画面の「Window」を斜めにして見てみたら、やっぱり中身の3D Objectも「斜め」から見えるのかなあ?
      …と期待した俺は馬鹿でしょうか?それとも妥当でしょうか?
      てゆーか、それくらい出来ないと駄目(==リソースをドブに捨ててるだけ)でしょ。

      プロセスの壁と、「窓の壁」が、ウザイと近年思ってるのでG7

      窓のナニがどう「壁」なのかというと、
      少なくともWindowsとかXな奴らとかにおいて、Windowってのは
      画面を「強く区切る」道具なんですよね。
      その結果ナニが起きたかというと、
      たとえばWindowを「またいだ」線を引くための道具が用意されていない、
      という阿呆な状況になっちまってる。

      今回の3Dのを見て思ったのが、それと同じで、
      せっかく(?)3Dになった窓たちの「間」を線とかで繋げれへんのか?という発想です。
      …出来るんでしょうかね?出来て欲しいですね。

      窓はただの便宜的な枠(あるいはグループ化の単位)でしかなく、
      その中のObjectたちが、必要に応じてそのまま窓の外に出てきたり、繋がってたり、
      そういう風になっていて欲しいもんだと思います。

      てか、3Dなんだから、今更「窓」でもないでしょう。
      「木箱」とか「ジャングルジム」とかだと、3Dだから、まだしも許せるんですが。

      …あれれ?
      なんか今回のSunの奴が、妙に陳腐に思えてきたぞ?
      親コメント
      • >3D CADの画面の「Window」を斜めにして見てみたら、やっぱり中身の3D Objectも「斜め」から見えるのかなあ?
        >…と期待した俺は馬鹿でしょうか?それとも妥当でしょうか?

        マジレスすると、3D CADってのは3次元モデルを有するCADのことで、普通は3Dモデルを2次元の「窓」に投影して(=2次元に変換して)見せているわけです。

        G7さんがお望みの仕様を実現するには3次元CAD+3次元表示器(立体ディスプレイ)がいるんでしょうねえ。

        #2次元CAD+3次元表示機だと、空間に浮かんで任意に向きを変えられる平面(看板?)が表示されるだけ、かな
        親コメント
        • いや、MacがベクトルのラスタライズをOSにまかせることによってウインドウの内容の拡大縮小をしているように3DCADもラスタライズをウインドウシステム側にまかせることによってウインドウが傾いたとき中のオブジェクトを斜めから見たようににすることはできます。
          OpenGLとか使っているならそれをウインドウシステム側で理解してやれば良いだけで。
          親コメント
        • >普通は3Dモデルを2次元の「窓」に投影して(=2次元に変換して)見せているわけです。

          他の人も書いていますが、2次元に投影するタイミングを一段(?)遅くしてやりゃいいはずですよね。
          もちろんOS(に抱き合わせのGUIシステム)がそれを許せば、ですが。

          普通というか「旧来」は仰せのとおりでしょうけども、
          こういう新製品発表会において、古い話を考えても寂しいので。

          >3D CADってのは3次元モデルを有するCADのことで

          うん。そうですよね。だったら尚更、そのモデルがどう表示(ビュー)されるかは
          モデル自体とは「別問題」なわけです。

          んだから例えば、あるCADソフトが、あるバージョンから突然(?)、
          俺が言うような3D表示をサポートしてもいいわけです。

          >3次元表示器(立体ディスプレイ)がいるんでしょうねえ。

          3次元Displayが必要になるのは、
          「3D CADの画面の「Display」を斜めにして見てみたら」斜めから見える
          ようになるのを期待した暁、です。
          つまり2次元への投影を、我々の肉眼に映るときまで遅らせないとならなくなるわけです。

          要するに、
          モデル→窓への表示→Displayへの表示→肉眼
          という流れなわけで、
          どの矢印において2次元に落とすか?っていう話ですね。
          親コメント
      • 確に全てのものに矩形の枠があるのとないのとではユーザーのメンタルモデルがだいぶ変ってきますね。

        Macは視覚的効果だけとは言えかなり自由に枠を取り払っていています。例えばユーザー補助でキーロックができるようにすると今ロックされているキーが画面にオーバーラップして表示されたりします。
        これによりユーザーはその表示がシステム全体の状態を表わしていることが判ります。これが小さなウインドウに表示されていたとしたらそれはシステム全体の状態なのか特定のアプリケーションの状態なのか判りません。
        また、立派な枠を持っておらず半透明なのでそれがあまり重要な情報でないことも判ります。それでいながら大きく表示されるので視認性も良くなっています。

        他の例として今のMS-Officeのアシスタントが自由に画面の上で動いているのと比べて、昔のMS-Officeのアシスタントは枠に捕らわれていました。
        これではOfficeと分離した別のもののようです。枠の中からドキュメントが見えているとは思えません。

        これらはまだただの視覚効果に過ぎなくて枠がないと言っても機能的には独立しています。でも例えばSqueakなどでは結構うまく連携しているように見えます。
        MS-Officeのアシスタント一定の位置にとどまって言葉でアドバイスをしたりアニメーションをするだけではなくもっと積極的にドキュメントやGUI部品をいじるべきです。
        しかしたとえ視覚的なものだけでもユーザーはオブジェクトがシステムと一体となっているように認識できます。

        #MS-Officeアシスタントはやっぱミミーだよねぇ。
        親コメント
      • しかし、そのようになってくるとますますプログラミングはめんどうになってますます実装されなくなるかも知れません。

        例えばドラッグアンドドロップはGUIの基幹をなすもので、分かりやすく、複数のアプリケーションを連携させることができます。
        しかしその実装はめんどうで結局多くのアプリケーションではわずかにしか実装されない状態になっています。
        このような機能は全てのアプリケーションで実装されているのと1つでも実装していないアプリケーションがあるのとでは大きな違いとなります。
        ユーザーはその機能がアプリケーションで実装されているかされていないか気にしながら操作するよりも、全てのアプリケーションで実装されている古くさい機能を何も考えずに使う方が楽ですし、覚えやすいです。
        そうするとドラッグアンドドロップはますます使われなくなるので実装されなくなるというスパイラルに陥ります。

        OSベンダーがいくらすばらしいUIのシステムを作ってもアプリケーションがそれに対応しなければ絵に描いた餅となります。
        システムを作る側は使いやすいUIを作るだけでなく使いやすいAPI(古くさい方法を使うよりもそっちを使った方が簡単なほど)や開発ツールも作らなければなりません。もっとも良いのはWigetが新しい機能を実装して古いアプリケーションも自動でその機能が使えるようにすることです。例えばWindowsのテキストボックスはいつのまにかUnicodeが使えるようになってたりしますね。
        親コメント
        • >しかし、そのようになってくるとますますプログラミングはめんどうになってますます実装されなくなるかも知れません。

          >例えばドラッグアンドドロップはGUIの基幹をなすもので、

          やりたい事柄に見合ったプログラミングモデルが
          提供されてるかどうか、に(かなり)懸かっているでしょうね。

          それこそDragDropといえば、Squeakのが良さげです。
          前にもどっかで書いたけど、

          ○マウスポインタもまたWidgetだと捉える
              (ということは、Widgetはアプリ(Process?)に属するとは限らない)
          ○Widgetは、「親」を乗り換えることが出来る。
              (ということは、Widgetはアプリ(Process?)に属するとは限らない)

          こういうモデルを採用することにより、DragDropは単に、

          ○MouseDownされたら、Widgetが、最初に有った位置(の親)から、マウスポインタに、乗り換える
          ○MouseUp されたら、Widgetが、マウスポインタから、今そこらへんにあるWidgetに、乗り換える

          という動きに還元できちゃった。

          これと比べると、Winとかのだと、いかにDragDropに不向きなモデルしか
          用意してくれてないか、ってのがなんもとかんとも悲しいです。

          #ついでに言えば、これ、Window GUIにとってProcess壁は邪魔でしかない、ということの傍証の1つだったり。

          #あと、OOP自体が、多くのモデルをエレガントに実装するのに役立つような、良質なメタモデルなのでしょうね。

          さて、3Dですが、どんなモデルが3D GUIにとって自然なのか、を最初に考えるほうが
          良いのでしょうね。
          うーん。とりあえず俺の貧相な頭で思いつくのは、3D Widget版のVBみたいなRAD、ですかね。

          >しかしその実装はめんどうで結局多くのアプリケーションではわずかにしか実装されない状態になっています。

          そんなわけで、Process壁が、DragDropを邪魔してるんだと思っています:-)

          DragDropについては、
          Dropしたのだという「行為」を伝播しようと考えると、話がややこしくなるんだと思います。
          Drop「される物体」、という考え方をすることで、俄然スッキリするんだろうなと。

          >もっとも良いのはWigetが新しい機能を実装して古いアプリケーションも自動でその機能が使えるようにすることです。例えば
          >WindowsのテキストボックスはいつのまにかUnicodeが使えるようになってたりしますね。

          まあモノによりますね。Widget1つじゃ完結しない機能ってのも結構あるんで。
          親コメント
    • #もう一丁

      コンソール「エミュレータ」っていうソフトが有るじゃないですか。
      xtermとか、TeraTermとか。

      今回のこれもきっと、
      3Dグラフィック環境上に構築された、2D画面「エミュレータ」ソフトなんですよ(^^;

      で、寂しいのは、今回のこのOS(?)には、2D画面エミュレータというソフト「しか無い」という点(藁
      親コメント

日々是ハック也 -- あるハードコアバイナリアン

処理中...