2000.12 ついに MacOS X(Public Beta)リリース

わーくすてーしょんのあるくらし (36)

2000-12 大橋克洋

< 2000.11 札幌での MedXML ミーテイング | 2001.01 そして MacOS X(Public Beta)日本語版リリース >

やっと Apple 社の新しいOS である MacOS Xが、Public Beta す なわち一般向けのお試し版として9月13日に米国で正式リリースされま した。MacOS は国際版なので当然日本でも同時リリースだとばかり思って いたのですが、どういうわけか今回は日本ではリリースになりません。 米国の Apple 社へデベロッパーとして Web で登録すれば日本でも 手に入れることができます。

そういうわけですが OS 自体は国際化されており、漢字変換用ツー ルである「ことえり」も日本語フォントも標準搭載されています。 すでに日本でも正式販売されている X Server には余り綺麗な日 本語フォントが載っていないので、日本語はかなり情けない文字に なります。私は1年以上それで電子カルテを使ってきたので、それ なりに慣れてしまっていたのですが、OS X ではとても綺麗なフォン トが標準搭載されており大満足です。 したがって、日本語環境もほぼ問題なく使えます。プリンターへ の日本語出力が駄目のようですが、お試し版ですからこれは仕方な いでしょう。

○ Aqua 環境

今度の MacOS の、水をイメージした Aqua 環境はとにかく美しい です。以前より輝度が上がったのか、画面もずっと明るいというの が第一印象でした。 ウインドーの周囲をよく見ると、うっすらと影がついています。 ウインドーの周囲に半透明の部分があって、そこに影が乗っている のだと思います。NeXT 時代から半透明のオブジェクトがサポートさ れてきました。 ウインドー上部のタイトル部分は、他と重なると半透明になって 後のものが透けて見えたりします。これが使いやすいかどうかはち ょっと議論のあるところでしょう。

面白いのはアイコンなどの透けて見える部分は、マウスクリック してもマウスのイベントが通り抜けてしまい反応しません。たとえ ばドーナッツ型のアイコンなどは、真中のところをクリックしても 何も起こりません。 一番エクサイテイングなのは何と言っても、Dock と呼ばれる部分 です。画面下端にアイコンを置くと、それが Dock に登録されます が、沢山アイコンを置いて左右が画面からはみでるようになると、 左右がぴったり画面におさまるよう全体のアイコンが自動的に縮小 されます。

余り沢山のアイコンを置くと、微細なアイコンになってしまいま すが、心配することはありません。マウスのポインターをその近く へ持っていくと、ちょうど虫眼鏡で文章の上をなぞるように、ポイ ンター近くのアイコンだけが拡大されるのは、見ても面白く、使っ ても便利で、ユニークな機能です。これをマグニファイ効果とよん でいるようです(私が常々主張している「使い勝手をよくするには、 不要なものは見せない」の面白い実現方法と思っています)。

Dock 上のアイコンをクリックしてアプリケーションを起動すると 、そのアイコンが飛び跳ねるのはとても可愛いと評判です。「ユー ザがアクションを起こした時には、必ずレスポンスを返す」という 、正しいお作法を楽しくスマートに実現しています。 Windows などでは画面下端にボタンの形でアプリケーションを 置きますが、これより進化した楽しいインタフェースです。 ウインドーのタイトルをダブルクリックすると、ウインドーが「 ひゅるっ」という感じで、下の Doc へ吸い込まれます。「アラジン と魔法のランプ」に出てくるランプの精「ジニー」の挙動に似てい るので、これをジニー効果と呼ぶのだそうです。

この動きは大変面白いのですが、タイトルバーだけが画面に残る 「ウインドーシールド」機能も残しておいて欲しかったです。いく つかの文書などを開いて作業している時など、これは大変便利でし た。X Server まではサポートされていたのですが、OS X にはつい ていません。これも正式版に期待するところです。

○ 勝手の違うファインダー

ファインダーは、はっきり言って使いにくいです。これは私のよ うな NeXT ユーザ側だけでなく、Mac ユーザ側からもかなり使いに くいとの評判です。 NeXT 時代のものをベースに、Mac ユーザの好みに合わせてデザ インされたようですが、結局どっちつかずの使いにくいものになっ ています。きっと来年リリースされる正式版では、このあたりが最 も変わるところではないかと期待しているのですが。

NeXT 時代のものはファインダー上部にシェルフと呼ばれるスペー スがあり、ここにアイコンなどを臨時に置くことができました。こ こに置いたアイコンをクリックして起動するという「ランチャー」 代りにも使えますし、一番便利をしたのはファイルをコピーする時 です。シェルフに置いたファイルをどこかのフォルダーに放り込め ばよいのですが、現在のファインダーですと、そのファイルの入っ ているフォルダーしか選べませんので、もうひとつ別のファインダ ーを開き、そちらのフォルダーへ放り込まねばなりません。ファイ ンダー2つを開くには画面が狭く、とても不便です。

ベータ版では従来の Mac のようにデスクトップに一時的にファイ ルを置くことはできるのですが、NeXT の頃のようにsymbolic link と呼ばれる影武者でなく、実体が移動してしまうので私は使いにく く思っています。 現在私が仕事で使っている MacOS X Server ではシェルフは欠如 したものの NeXT 時代の機能がほぼ残っていてかなり使いやすいの ですが、OS X のファインダーは、旧 MacOS のものを元にモデイフ ァイしたようで、バグと思われる変な挙動も多いようです。ベータ 版だから仕方ないのでしょう。動作も X Server に比べ遅いことが ありますが、ベータ版ではデバッグ用のコードが埋め込まれていた り、まだチューンアップしていなかったりするので、これに文句を 言うべきではないと思います。

○ 旧 MacOS からのゆるやかな移行

従来の MacOS で作られたソフトウエアは Clasic と呼ばれます。 これから新規に開発されるソフトウエアは Cocoa と呼ばれる NeXT 時代に発達を遂げたオブジェクト指向の強力な開発環境が推奨され ていますが、旧来のソフトウエアを少ない手間で OS X へ載せるた めに Carbon という巧妙な仕組みが備わっています。前にも書いた ようにソフト屋さんほど頭の固い人種はいないのではないかと思う ので、最初からCocoa の素晴らしい環境で開発するのは新興ソフト ウエアハウスだろうと思っています。

しばらくの移行経過を経て、Cocoa の環境の強力さと柔軟性が理 解されて、ソフトウエアが Carbon から Cocoa へ移行してくるのだ ろうと予想しています。 私の方は、MacOS X を手に入れるとすぐさま、電子カルテ WINEの 移植にとりかかりました。MacOS X について書くことはようやく解 禁になったのですが、開発環境についてはまだ解禁になっていませ ん。従って詳しくは書けないのですが、ベータ版ということで全部 が整っておらずちょっと手間どったものの、順調に移行が進みそう です。

○ Aqua 環境の WINE

MacOS X Server で動いている現在の電子カルテ WINE をMacOS X へ移植するのを良い機会に、大改装を行うことにしました。プログ ラムは改良を繰り返すうちにツギハギになり、不要な部分や非効率 な部分が増えてきますので、時々サラから書き直した方が綺麗で合 理的なものになります。

私は BASIC から始まり、UCSD Pascal、Lisp、C そしてObjectiv e-C と色々な開発言語を渡り歩き、その都度自分の作ったプログラ ムを移植しなおしてきましたが、大切なのはロジックであって、ど の言語へ移植しても基本的には大きく変わるものではありません(も ちろん部分的には、ある言語で実現できて別の言語で実現困難とい うことはあるのですが)。

サラから書き直しても、基本部分の移植には一ヵ月ほどしかかか りませんでした。しかし今度はロジックから新しくした部分も多く 、細かいところはかなり時間がかかりそうな雰囲気もあります。 今回の大きなポイントは、更なる「モジュール化の促進」です。 今まで一体になっていた部分をさらにバラして、汎用の部品として 使えるようにしました。WINE のユーザが増えると必ず発生するであ ろう「予想もしなかった要求」にも容易に対応できるよう、色々 な機能を簡単にプラグインできる設計にしました。

Aqua で動く WINE は、ボタンその他のデザインがかなり変わった ので、そのような部分での変化はありますが、基本的には初代の WINE と大きなレイアウトの変化はありません。ただし、これは 私の使い勝手によるものであり、WINE はユーザごとに自由に レイアウトできるのが特徴です。 ということで、見掛けは大きく変わらないものの、中身はロジッ クから書き直したものもあり、随所に機能アップされています。昔 から私の好きな言葉「羊の皮を着た狼」に近づけたいものです。

< 2000.11 札幌での MedXML ミーテイング | 2001.01 そして MacOS X(Public Beta)日本語版リリース >