2008-01-31-01-Inside Japonica - 16 - Palm OS 5 専用であること - project-enigma

2008-01-31-01-Inside Japonica - 16 - Palm OS 5 専用であること

>> Site top >> weblog >> 月別アーカイブ >> 2008年01月のlog >> 2008-01-31-01-Inside Japonica - 16 - Palm OS 5 専用であること

最終更新日付:2014/01/01 18:03:36


Inside Japonica - 16 - Palm OS 5 専用であること

2008 年 01 月 31 日

ながながと書いてきましたが、そろそろ終わりが近づいてきました。といっても予定では今回を含めあと3回あります。Inside Japonica の第16回は OS 5 専用であることについて。

そもそも、Japonica の開発の動機は、「 OS 5 の機能に対応した縦書き Doc リーダーが欲しい」 という要望に応えるというものでした。では、ここで OS 5 の機能とは何か。それは倍精度ディスプレイであるかもしれませんし、5Way ナビゲータ、あるいはワイド画面であるかもしれません。実際、そういった要素をフルに使えるテキストリーダーに対する要望があったわけです。ひとまずのところ、OS 4 以前向けには既存の素晴らしいアプリがある。だから Japonica は OS 5 に注力する...そして陰郎は手一杯になりながらもそれらを何とかしましたとさ。めでたしめでたし。

...いや、それで話は終わりません。なぜなら、これらの機能への対応は、Palm OS 4 以前をサポート外にする理由にはならないからです。実際、陰郎自身としては、Doc データベースのメモリ展開処理を書くまでは、「 少なくとも Palm OS 4 はサポート対象に入れられないか 」 という望みをつなごうとしていました。これをあきらめた理由は、パフォーマンスです。

圧縮された Doc データを展開する処理は、圧縮 Doc データ作成よりは速いとはいえ、68K コードではそれなりに時間がかかります。そのために、大きな文書では常に一部分しかメモリに展開しないアプリもあるようです。つまり、ページ移動のアクションによって小刻みにデータへのアクセスや圧縮データの展開などが行われるわけです。これは計算機資源の制約がキツい場合には致し方ありませんが、体感速度に影響する場合もありますし、なによりもプログラムの内部構造が複雑になります。最終的には、仮に OS 4 もサポートするとしても、文書全体をメモリに「一気読み」する仕様にしてしまいました。その時点で OS 5 専用に事実上なったことになりますし、またその決断をする前から OS 5 専用にせざるを得ない...という雰囲気があったことも事実です。

そして画面描画。以前にも書いたとおり、Japonica では極力自然な縦書き表示をするために、半角文字や記号類を回転したりズラしたりして描画しています。試していないので分からないのですが、これが 68K コードのみで動作していたらどうなっていたでしょう? 文書全体をメモリに読み込んでいても、ページ移動はもたもたして不快なものになっていたはずです。

このような、OS 5 の計算機資源ゆえにできるリッチな振る舞いは、OS 5 専用にするという選択を必要とするものでした。Japonica は 2008 年も明けようという段階で登場したテキストリーダーソフトウェアです( 本当は 2007年春の段階でリリースするつもりだったのですが)。個人的には、「もう後がない」とさえ思っていました。ひょっとしたら、Japonica が最後の日本語対応縦書きテキストリーダーになってしまうかもしれない。それを望んでいるわけではもちろんないにせよ、そんなはずはないと信じられる合理的な理由も見つかりません。そして、陰郎個人としても、同じことをもう一度できるとは思えません。だからこそ、OS 5 専用にしてでも、今の時点でできるだけのことをやる必要があったのです。

「 OS 5 でできるだけのことをやる必要 」 があると感じたもうひとつの理由は、Palm OS 以外のデバイスとの競合です。iPod Touch や iPhone、WM やその他のデバイス。こういった新たな「楽しきもの」たちは先進的で斬新なインタフェイスを備え、現代的なパフォーマンスを見せています。それができるのは、「 過去の資産 」 という、場合によっては足枷となる歴史が Palm OS に比べてあまりないからです。Palmware が OS 4 以前との互換性を維持する限り、ずっと 68K エミュレーションという重荷を背負わなければならないのです。しかし、他のプラットフォームに対抗するための武器として Japonica を考えた時、OS 4 以前との互換性を背負うことはできませんでした。

以前、この weblog で 「 陰郎も Palm OS 4 を切り捨てたでしょう 」 というコメントをいただいたことがあります。このときは、まさに Japonica の開発真っ最中だったため、非常に心が痛かったことを覚えています。内心忸怩たる思いがあったとはいえ、たしかに陰郎はいくつかの作品を Palm OS 5 専用としてリリースしています。今後も、どうしてもそうしなければならない理由がない限り、要らざる非互換性は持ち込まないように気をつけようと思います。

 

コメント

一匹の黄色い猿 - 01/31/2008 03:42:45 AM

> 「 陰郎も Palm OS 4 を切り捨てたでしょう 」 というコメント

つ[すまん。それは猿だ( ̄∇ ̄;;]

> 非常に心が痛かったことを覚えています。

つ[や、ホントーにすまんm(__)m]
つ[でも、じじt…(x_x)★?フォローにならんだろ]
_
っ[OS4で使えるアプリが欲しいのも事実なんだが(小声)]

陰郎 - 01/31/2008 12:31:38 PM

> 一匹の黄色い猿 さん

いえいえ、あのコメントを頂いたことについて、否定的な感情は一切持っていませんよ。たしかに Japonica は OS 5 専用にせざるを得ませんでしたし、まずこのエントリではその理由を説明しようとしていました。しかし、総じて OS 5 だけに目が向きがちになっていたことはご指摘のとおりと思っています。

モノを作るときにはつい高機能な方向に進んでしまいがちなものです。陰郎自身、すでに Palm OS 5 中心の生活になってしまっていますから、まだまだ Palm OS 4 以前のデバイス向けのアプリ需要もあるのだと言うことに目を向けさせてくださったと言う点で感謝しています。

一匹の黄色い猿 - 02/01/2008 03:16:57 AM
つ[JaponicaがOS5専用なのは、このエントリで納得]
つ[足かせになっとるのね<68Kコード]
_
つ[例のコメントは「時代と共に変化が起きてるよ」に続いた]
つ[「それは陰郎氏の作品にも出てるよ」と言いたかった部分]
つ[陰郎氏にはタイミングが悪かったかも知れないが…(^^;]
つ[全ユーザーがOS5に乗り換えた訳じゃないと気づいて欲しかった猿]
つ[や、忘れちゃ居ないだろうけどねw]
_
っ[3.1→3.5も壁だった様だけど、CPUの変更は崩せない壁]
っ[いくら無理させてもARMに勝てないDragonBall…orz]
っ[Super VZまで行ったのにねぇ]

陰郎 - 02/01/2008 08:38:11 PM

> 一匹の黄色い猿 さん

>> 足かせになっとるのね<68Kコード

そうですね...普通のアプリケーションを書いている場合はそれほど問題ないんですが、Japonica がやっている圧縮 Doc の一括展開や細かな画面描画みたいなのになると、68K エミュレーションが急に「息苦しく」なってくるわけです。

>> 例のコメントは「時代と共に変化が起きてるよ」に続いた
>> 「それは陰郎氏の作品にも出てるよ」と言いたかった部分

陰郎が palmware 開発を始めたのは 2005 年、palmware 開発者の中でもかなり後発組だと思います。Palm との出会いは Vx ( OS 3.5 ) ですが、開発を始めた時は TungstenT5 を持っていました。その意味では、陰郎が開発を始めた時点で、時代の変化の影響を受けているのかもしれません。

>> 全ユーザーがOS5に乗り換えた訳じゃないと気づいて欲しかった猿
>> や、忘れちゃ居ないだろうけどねw

忘れてはいないつもりですが、忘れそうになっていたことも確かです。Japonica には、他のデバイスへの対抗意識に駆り立てられたような側面が見えますからね。でもそのために OS 5 だけのサポートになっちゃったら、他のデバイスと選ぶところがなくなってしまいますよね。

過去の膨大なソフトウェア資産はたしかに Palm の強みですが、新しい Palm デバイスで古いソフトウェアを使い続けられるだけじゃなくて、古いデバイスでも新しいpalmware を使い続けられるってのが望ましいですよね。それは以前から陰郎が書いている「日用品としての Palm 」というテーゼとも関係します。ちょっと方針変更しないと。

このページにコメントする

 

このページのタグ

Page tag : Palm

 

 


Copyright(C) 2005-2017 project-enigma.
Generated by CL-PREFAB.