[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 827] Re: タグシステム.



小柳です。こんばんは。

前回からかなり時間がたってしまいまして、すみません。

まず最初に、「初心者」という書き方をしたのですが、
私が書いていることを一番望んでいるのはやっぱり私です。
今では、普通にファイルを操作しているわけですが、
できるだけ、余計なものにわずらわされたくないという
気持ちは常に持っています。

Myurikaさん:
> 最初、初心者のためだけの機能を作るのはどうかなぁ、と思ってたんです。
>  でも、このグループ分けというのは、システム的に有用な気がしてきました。
>システム的に有用なことが、結果として初心者に優しいのなら、それはそれでい
>い感じです。

もっと言うと、ファイルをだけではなくて、フォルダ、アプリケーションも
含めてデータ種別で分類して統合して扱えるようにしたいのです。
例えば私のWindowsのスタートメニューは、こんな感じです。


|
+-Drive-+--(A)3.5インチFD
|       |
|       +--(C)Windows98
|       |
|       +--(Q)CD-ROM
|       |
|       +--エクスプローラ
|       |
|       +--スキャンディスク
|       |
|       +--デフラグ
|
+-音楽-+--演奏データ----+----Game Music
|      |                |
|      |                +----映画サントラ
|      |                |
|      |                +----フリコレMIDI
|      |
|      +--CDプレーヤー
|      |
|      +--マルチメディア(コントロールパネル)
      |
|      +--tmidi player
|      |
.......

「音楽」のデータの所在する場所である「Game Music」, 「映画サントラ」
のフォルダと、「音楽」を扱うアプリケーションは同じ「音楽」に属する
ものとしてまとめられないでしょうか。こういうのをオブジェクト指向という
のでしょうか。(私は詳しく知らないので外しているかもしれません。)

私はスタートメニューをこのように構築することで、自分が使いたい
アプリケーションを起動するのがすぐにできるようになりました。
「音楽を聞きたい」と思ったら、スタートメニューを起動して、
「音楽」のサブフォルダへ行けばいいのです。
でも、このやり方で目的のアプリケーションを起動することにおいては
使い易くなったのですが、実際にアプリケーションから目的となる
データファイルを開くのは全然楽になりません。その理由は、前にも
書いたように、どのアプリケーションのファイルセレクタも同じような
ディレクトリツリーで使用しないディレクトリまで見えてしまうからです。

データ種別ごとに、ディレクトリツリーを別々に見えるようにするのは
OSASKでは並列ディレクトリなので可能かと思います。
しかもシェルが自動的に賢く作ってくれたりするといいなあと思います。
実際私は、ある種類のデータのファイルを開く際には
・その種類のデータの自分の作業場所や保存場所
・リムーバブルメディア
を選択したい場合がかなりを占めます。

Hidemi KAWAI wrote:
>
>   こんばんは、川合です。
>
> Koyanagi Masaaki さんは 2000/06/06 22:22:39 の「[OSASK 765] Re:
> タグシステム(Re:  フォーマットについて).」で書きました:
>
> >(1)初心者ユーザにはそのファイルが画像であることしか分からない。
> >(であって欲しい―ファイルの種類が「画像」とのみ表示されるとか)
> >拡張子みたいなものは、存在して欲しくないのです。フォルダを開くと
> >サムネイルとタイトルしか見えない状態くらいが理想です。
>
>   こういう意見は重要です。僕の見解では、現在提案されている機構(
> タグシステムなど)を組み合わせるだけでこれを実現することは充分に
> 可能でしょう。
>
>   僕は、基本的に「仕組み」を提唱しますが、それをいかにして生かす
> のかは、アイデア貧困で、決定打が無いのです。それで、現時点ではそ
> れら全てを未定にし、シェルの設計だけで対応できるようにしてありま
> す(ようするに、アプリケーションからのシステムコールの全てをシェ
> ルがフックできる、ということです)。

これを利用して自分の最も使い易いシェルを作ることが、
根気があれば可能ということですね。

> >画像ファイルを開く時には、画像ファイルがないパスは表示して欲しくないで
> >す。
> >普通のツリー構造の場合なら、あるフォルダに画像がある場合は、
> >親ディレクトリに「画像」があることを通知していって各フォルダに
> >おいてそのフォルダより下位に「画像」が無ければ、画像を扱う
> >アプリケーションにはそのフォルダを見せないという仕組があるといいです。
> >もちろん、エイリアスやシンボリックリンクやショートカットがあると話は
> >複雑になるので、そう簡単にはいかないのですが。
>
>   これも、いい案だと思います。これは、僕が考えたことがない案だっ
> たのですが、けっこう良さそうだと思っています。OSASKでは階層ディ
> レクトリ構造にこだわることなく、複雑なディレクトリ構造をとること
 ができるのですが、それでも、これは実現可能でしょう。ただ、フォル
> ダーが見えないと焦ってしまうこともあるので、切り替え式の方が、僕
> には向いているかもしれません。

これですが、あるアプリケーションにおいてファイルセレクタは
・その種類のデータの自分の作業場所や保存場所
・最近使用したフォルダのうち、その種類のデータを存在する場所
・その他全てのツリー
を分離したいと考えます。

それで問題は、どうやってあるアプリケーションに関係無いディレクトリを
除外するかですが、逆に考えることもできます。つまり、
自分のディレクトリ配下では「画像」のみを扱っていると宣言するわけです。
ディレクトリのタグを用いれば可能です。このタグは、
ユーザが自発的に設定する場合もあるし、シェルやアプリケーションが
設定するかもしれません。そしてアプリケーションでファイルを
選択する際にこのディレクトリを強調表示したり、属性が設定されていない
ディレクトリを非表示や薄表示したりします。

ディレクトリに例えば固定長の格納データ種別ヘッダがあって、
#define 0x00000001 IMAGE
#define 0x00000002 MOVIE
#define 0x00000010 MIDI
#define 0x00000020 WAVE
を組み合わせるというのを考えていたこともありました。
しかしタグ形式の方がこれよりも柔軟でいいですね。

> >(3)アプリケーションがシェルに自分が理解できる画像形式を通知すると、
> >あたかもそこには、その画像形式のファイルがあるように見える。
>
>   これは、僕がフォーマットコンバーターで説明したことを、具体的に
> 書いてくださったのですよね?(それ以上の何かを主張なさっていた場
> 合は、是非付け加えてください)。

これは川合さんの説明したことそのままです。

> >(4)しかし(3)は旧来のOSのアプリケーションのファイルの扱い方であって
> >OSASKのアプリケーションならその画像(ファイル)を読み込もうとすれば(2)
> >の全てを得ることが可能なはず。あるいはシェルがBMPという画像ファイルでは
> >なくて(2)の属性を持つ「画像」をアプリケーションに引き渡すことができ
> >る。
>
>   これは、アプリケーションと実際のファイルの間に、存在しないタグ
> の情報を必要に応じて生成する、「ドライバー」のようなものを置くの
> でしょうか?

この部分は、シェルが「画像」を扱うためのライブラリを提供するという
イメージでした。アプリケーションが使用するファイルを選択した後に、
アプリケーションが、使用したい情報を標準化されているタグで指定すると
その情報が得られるという感じです。ファイルの情報を一度に全て読み込む
だけではなく必要に応じて動的にすることができてもいいかもしれないと
思いました。それでこの部分は、

>   たとえば、ある画像ファイルは、イメージをパックドピクセルで保存
> していたとします("packed_pixcel_data"タグ)。しかし、アプリがプ
> レーン形式のイメージ("plane_data"タグ)を要求したら、誰かが変換し
 なければいけません。こういう場合は、どのケースに分類されるのでし
> ょうか?
>
>   ファイルの属性はタグシステムによって管理されているのですから、
> いくらでも増やして構わないわけです。それならば、「file-type」と
> いうタグと「format-type」というタグを作り、
>
>     file-type:"picture"の場合:
>       format-type:"packed_pixcel"
>       format-type:"plain"
>       format-type:"jpeg"
>
>     file-type:"text"の場合:
>       format-type:"plain-text"
>       format-type:"MS-word"
>       format-type:"taro"
>
> などがあるようにするわけです。それで、シェルは、format-typeがア
> プリケーションからの要求と異なる場合、コンバーターを呼び出し、コ
> ンバートしたものをアプリに渡します。

こんな感じです。

> >(5)タグシステムを他のOSと現在標準的な技術で表現するとすると多分XMLという
> >ことになるでしょう。グラフィッカーが、絵を描いてBMP形式で保存して
> >(A.BMP)、作者名とかコメントとかをタグ付けしてXMLで保存して(A.XML)
> >でOSASKのファイルシステムに取り込むと「画像A」という一つのファイル
> >になる(見える)というように他のOSとOSASKのファイルの対応付けができるかと
> >思います。
>
>   これについては、僕がXMLについて詳しくないので、詳しい方のご意
> 見を伺いたいです。

私も詳しくはないのですが、OSASKのファイルから他のOSへファイルを
復写する際にそのファイルフォーマットが実装していないタグは
パイナリダンプではなくてXMLのような
<comment>コメントです。</comment>
テキスト形式でもいいかもしれないと思ったのです。

--
小柳 雅明(Koyanagi.Masaaki !Atmark! nifty.ne.jp)