[Studio Artifact Top Page] [Palm Computing Platform Top Page]
Studio Artifact

From 1000 to V
--- My life with Palm Computing Platform --- (Part 1)

Last Modified: Sunday, 06-May-2001 23:47:55 JST
Sorry. This page is Japanese only.
私が Pilot 1000 を購入してから、2年が過ぎました。 とうとう日本語版 WorkPad も発売され、いよいよ Palm も日本本格進出です。 2年前と比べると、本当に隔世の感があります。 そこで、ここらで今迄を振り返ってみるのもいいかな?と思い、ちょっとした 連載を始めることにしました。
[次ページ]
[最新の回(第13回)]

第1回

pilot との遭遇

平成11年3月30日(火)

私が Pilot 1000 を購入したのは 1997 年も始まったばかりの頃だった。 当時私は職場から派遣され北陸にあ る某大学院大学に通っていた。いつもの年ならば、お付き合いのある企業から (ネーム入りの)手帳が貰えたりしたのだが、職場から離れ、長期出張の身では 貰うわけにもいかない。 私自身、それほど、手帳を活用していたわけではないのだが、かと言ってまっ たくなしというのも辛い。 どうせ自腹を切って手帳を購入するのなら、予てから興味のあった PDA でも 購入してみようか、と思いいろいろ調べはじめた。それがきっかけだった。

当初は出始めの CE 1.0 マシンでも買おうかと思い、ごく内輪の Mailing LIst で "CE はどうか?" と、聞いてみた。しかし、逆に勧められ たのが、Pilot だった。

Pilot は ASCII の記事で、その存在は知っていた。その時の印象は"なんでモ デムメーカが PDA なんか作ってるんだ?"ということと、"小さいし魅力的な PDA のような気はするけど、日本語が使えないんじゃ話にならないな。"という 感じであり、特別強い興味を抱くものではなかった。ある種の"ひっかかり"の ようなものは感じていたが。

ところが、友人達の話を良く聞いてみると、驚いたことに、既に実用的なレベ ルの日本語環境が存在するという。さっそく教えてもらった 山田さんの Page を覗 いてみたところ、想像以上の完成度で日本語環境が整っていることが判った。 それじゃ、というので、これも友人に紹介してもらった Provantage に早速申し込んだ。 これが、私と Palm Computing Platform との出会いだった。


注文したものは、Pilot 1000, 1MB Upgrade, Mac Pac, Slim Leather Case の 4点だった。価格は...ちょっと忘れてしまった。注文の確認のメイルのやりと り等はあったが、特にトラブルもなく航空便でそれらはやって来た。 (海外通販では、軽微なトラブルにはしばしば遭遇しているが...)

実際に使ってみると、まぁ筐体はチャチなのだが、それ以外の点、特にソフト ウェア、は実に良く出来ている。それが第一印象だった。

最初に関心したのは、Graffiti の使い易さである。 それ迄 Zaurus 等を店頭で試用してみて、文字認識には絶望していたのだが (私が悪筆だということもあるが)、 これは使えた。計算機側で何か問題があっても、人間が簡単に歩み寄って解決 できるのなら、歩み寄ってしまえばいいのである。なにも完璧に文字認識でき る必要がない、というわりきりに非常に好感を持った。(私はわりきることが 好きだし、人間が歩み寄ることにより高速に動作するのなら、歩み寄ることに やぶさかではない。)

次に関心したのは、Pilot Desktop そして Hot Sync の出来の良さだった。 (プログラムの品質という点では Mac 版は良くはなかったが。) Pilot Desktop はそれまで使っていた Claris Organizer (現在の Mac 版 Palm Desktop だ!)に比べると非常に低機能ではあったが、私にとっては必要 十分のものであったし、逆にこのシンプルさは好感が持てた。 そしてなにより、Desktop のデータがそのまま Pilot に Sync できる。 それまで Zaurus などを見ていても、「(PDA 上での)入力が面倒そうだから PC 上のデータと共有できたらなぁ。」と思っていたのだけれど、 HotSync はまさに、それができる仕組だった。

そして、J-OS である。この時のバージョンは 1.7か 1.8 だったかと思う。 既に十分実用の域に達していて、山田さんという人の凄さに驚かされた。 OS の API をフックして日本語化するなど、並のことではない、と思う。 もっとも、私はプログラミングに関してはアマチュアなので、よくは判らない。 山田さんはプロなので、プロとはは皆こういうものかもしれないけれど...。 とにかく、J-OS を使うことで、pilot 上で日本語を使う上でほとんど不満も なく、幸せな pilot life を始めることができた。(本当に山田さんには、感 謝している。)


第2回

蜜月時代

平成11年4月11日(日)

J-OS を使うことで、噂通り pilot は手帳の代りを十二分に務めてくれた。 個人的には、内蔵アプリケーションは機能的にも十分。(現在もあまりヘビー な使い方はしていない。未だに内蔵アプリをリプレースするアプリは使ってい ないし、その必要も感じていない。) Graffiti にも慣れ、それでは、といくつかのアドオンアプリケーションも試 してみた。 この時期は、まだまだ日本製のアプリはまだまだ少なく、J-DOC 等の山田さんの 作品の外は J-Info 等の金井さん、 DigiPet といった福本さんの作品等、ま だ数えるほどしかなかった。海外では、例えば既に Edward Keyes の HackMaster や Dinkey Pad が登場しているなど、発売して1年未満のプラットフォー ムとしては、そこそこの数はあったが、 DateBK3 はまだ登場していな かった。 情報源としては、Nifty の 今はなき(?) Fenote の pilot の会議室やこれも 今はなきアダムさんのサイトが特に重要だった。特に fenote では、山田さん と直接お話ができ、なかなか有意義な所だった。 まぁ、そんな時代だった。

結局幾つかのアプリやゲームを試してみるも、あまり個 人的に使い続けたいものもなく、 あとはひたすらに、標準アプリを使って電子手帳として使う毎日だった。 それで十分に楽しい日々だった。

とはいえ、一つ重要な問題があった。pilot の売りの一つである pilot desktop で日本語が表示できなかったことである。 製品コンセプトを理解するにつれ、pilot での Graffiti による入力はあくま で補助手段、pilot desktop でのデータの入力がメインで、pilot 本体は基 本的に viewer というのが、この PDA の正しい(想定された)使い方だなぁ、 と判ってきたので、この点はなかなか痛かった。

当時 Windows 95 を使うのであれば、 KomeiLocalizer Emigrant といったソフトで日本語の表示が可能であった。しかしながら、私がメインの母艦と して使っていた、Windows NT や Mac では、これらのソフトが使えない。(現 在 Emigrant32 は NT に対応している) ひたすら我慢して Pilot 上で入力する日々が続いた。

幸い、しばらくして(3月頃だっただろうか) 鈴木幸成さん、見口智哉さん、そして福本修二さんらによる Mac 版の日本語 パッチが登場した。これで Mac では幸せになれた。pilot 本来の使い方がで きて非常に嬉しかった。

4月になり職場に復帰。職場へ LC 630 を持ち込んで、pilot desktop を使う ようにした。 予定の少ない国内留学時代に増して pilot は実に役立ってくれた。 しかし、今度は自宅でメインに使っている NT マシン上では日本語が表示でき ない。これでは、メイルで飛んでくる、遊び関係の予定が入力できない。 正直、かなりフラストレーションが溜る。何とかならないだろうか?


第3回

はまり道への第1歩

平成11年4月19日(月)

そんな不満から、誰もやらないならオレがやってみよう!一念発起して Windows 版 pilot desktop (ver. 1.0.4) の日本語表示パッチを作ることにし た(思い返すと、これが私が Palm に深くはまる、そもそものきっかけだった)。

いざ、と意気込んで調査を始めてみたものの、作業はなかなか進まなかった。 というのも、パッチ当てに必要な知識である、Windows Programming の知識や X86 のインストラクションといった基本的なことを何も知らなかったからだ。 (そもそも、プログラミングも国内留学先での課題の外は、5,6年間してい なかった。) コンピュータ一般に関する多少の基礎知識はあったとはいえ、 知らないことばかりである。そもそもパッチを当てて何とかなる問題かどうか も判らない。

それでもなんとか、プログラムの解析に使えそうなツールを捜し、 x86 のインストラクションを調べ、Windows API の解説書を立ち読み(:-p)し... と少しづつ知識を貯えていった。そして徐々に「なんとかなりそうだ」、 とういう感蝕が得られてきた。

結局、作業を始めて1月程で、日本語を表示できるようになった。(詳しいやり 方は、ここに書いてある。)この手法を編み出 すことは、Windows Programming 素人の私にはなかなか大変だったけれど、 パッチ当て作業それ自体は、やり方が判ってしまえば、非常に簡単にできるも のだった。 (実際、その後 IBM WorkPad (10U)を購入した時、手元に届いてから数時間後 には、WorkPad Desktop 上で完全に日本語が使えていた。:-p) Windows と x86 のアセンブラの知識がある人ならどうってことのない作業だ、 と思う。

それ故、当時既に沢山いるはずの pilot を使っているプロの Windows プロ グラマに対して、何故パッチを作ってくれなかったのだろう?と少々憤りも感 じないでもなかった。プロだったら、本当に簡単な作業だったろうに...。

ともあれ、パッチが一応完成し、まぁ、めでたしめでたし。

さて、次はいよいよこのパッチの公開である。


第4回

パッチの公開

平成11年4月26日(月)

ところが、公開の前にクリアしないといけない問題があった。 それはライセンスに関するものだった。 マニュアル内の Licene agreement を読むと判るのだが、 他の多くの商用ソフトウェアと同様に、Pilot Desktop にもリバースエンジニアリ ング禁止規定がある。 既に私はこの規定に違反していたわけだ。すでにヤバいことをしているのに、 ましてや公開するとなると、問題にならないようい ろいろ準備しておいたほうが良いだろう、と思った。

既に公開されている Mac 版のパッチの場合は、山田さんのほうから、一応 USR の方に確認を取っているようだったので、とりあえず山田さんに相談する ことにした。山田さんは、Rob Haitani 氏という人に確認を取ったとのこと。 なんでも日系人だという。こういう人なら話が早いだろうと早速メイルを送った。 が、しかし、いつまでたっても返事がこない...。

しょうがないので、丁度その頃催されることになっていた Nifty Fenote の pilot 会議室のメモリ増設改造オフ の場で、限定公開することにした。 Palm Computing の今迄の様子から見ると、あまり問題にはしないだろうし、 まぁ問題にはしないだろう。

さて、Nifty のオフ当日、パッチを収めた FD を自参して会場である NTT の ビルへ向かった(同時はまだ Note PC を持ってなかった)。 会場にいらっしゃった、Note PC を持っていた方にお願いして、 デモってもらうことにする。正直、自分の環境でしか試していなかったので、 内心上手く日本語が表示できるかヒヤヒヤしながら見守った。

作業のため、待つことしばし、「おー」という歓声があがる。 どうやら上手くいったようだ。ほっと一息つく。

結局その日は、希望者の方(10数人ぐらいだったろうか)にαテストという 形で配布することできた。当日会場にはライタの方などもおり、その内、何人 かの方から、メイルアドレスを聞かれたりもした。 また、何人かの開発者の方とも、これがきっかけで、技術的なお話ができた。 そして、その日、家に帰るとさっそくバグレポート なども飛び込んできた。まぁ、すべりだしは好調(?)といったところだった。 αテスタの方々の非常に適切かつ親切な バグレポート のおかげで、その後バグにもほぼ対応することができた。

結局、数日後には、バグの対応のためもあり、なしくずしで、自分の Web Page 上でのパッチの公開に踏み切った。 その後もあいかわらず Haitani 氏からは連絡はなかった。 山田さんは「忙しい方だから」とおっしゃっていたが...。

一方では、ユーザの方から、既に新型である PalmPilot 添付の PalmPilot Desktop にパッチを当てて欲しいとの要望がでていた。ただ、私は、もうライ センス上の問題とx86のインストラクションと Windows API と格闘するのが いやだったので、パッチの当て方を公開して、 パッチの作成は他の方に委ねることにした。 案の定、pilot-ml でその旨を宣言した数日後には S.P.C. の小瀬村さんがパッ チを作成、公開してくれた。

そんなある日、思いがけない方から思いがけないメイルがやって来た。


第5回

デベロッパーズミーティング

平成11年5月08日(土)

そのメイルがやってきたのは、patch の開発も一段落着いたころ、 丁度ちょっと調子にのって、pilot 1000 を職場の後輩に売り付けて PalmPilot Professional with Code Warrior を購入したところだった。 (その時は、特にプログラムの開発などする気もなかったのではあるが...。)

メイルの送り主は、NIfty のオフで知り合った某ライタの方だった。その方は、 当時あちこちの雑誌で精力的に pilot / PalmPilot を取り上げ、活躍してい た。その方が、今度渋谷の metrowerks 社で、 pilot の Developers' meeting を開催するので参加しないかと言う。 私はまだ pilot 用のアプリケーションを開発したこともないのに、こんなの に参加していいのか?という気も少々あったが、開発者の方々とお話ができる ことに非常に興味があったので、参加する旨の返事を出した。 (Metrowerks ってどんな会社なんだ?という興味もあったけど)

当日渋谷宇田川町にある Metrwerks の日本法人に向かった。 宇田川町界隈はレコードや CD を買いに良く行っていたのだが、こんなところ にソフトウェアメーカのオフィスがあるとは思いもしなかった。

定刻ぐらいに着いたのだが、オフィスの会議室に設けられれた会場で は既に簡単な立食パーティが始まっていた。 会場には、当時活躍されていた日本の開発者が多くいらっしゃった。 外にも、 Fenote のスタッフの方々等、総勢20名以上の方々だったろうか、 錚々たる参加者だった。 そしてその中に、あの山田さんがいらっしゃった。

山田さんは Nifty などでの会話から受ける印象通り、温厚な印象の方だった。 日本の pilot コミュニティがこのような良い形でもりあがりを見せているの も、彼の書いた J-OS というプログラムが素晴しかっただけでなく、 彼の人柄によるところも大きいのだなぁ、と改めて感じた。

折角の機会なので、 J-Doc の登録を無理を言ってその場で行い、J-OS の開発 の動向やら、出たばかりの Pilo Key の技術的なことについて、いろいろお話 しを伺った。また、他の数人の開発者の方からも、いろいろな開発に関する 刺激的なお話を聞くとができた。

そうこうしているうち、会場に metrowerks 日本法人代表のジョン・チャッ ク氏が一人の人物を伴なって現れた。 その人物こそ、US Robotics Palm Computing Division の Product Manager (当 時、現 Hand Springs 社)で、先日私がメイルを送った Rob Haitani 氏その人だった。

彼は堪能な日本語で、我々に感謝の意を述べ、自身がかつて某有名日 本企業に務めていたこと、今日は一日中展示会での説明のため日本語を使って いたので、非常に疲れたこと(彼は日本語を使っている限りは、まったくの日 本人にしか見えない)などを語った。 そして彼は、開発者一人一人に挨拶し、どのようなものを開発しているのか聞 いて回った。

さて、彼が私のところにやってきた。 私は、pilot のアプリケーションは開発してい ないが、pilot desktop にパッチを当て日本語を表示できるようにしたこと、 先日これに関してメイルを出したことを述べた。彼は「やりますねぇ」と一言 言っただけで、特段ライセンスの事は口にしなかった。これでまぁ、黙認するという ことだろうと勝手に解釈し、こちらとしてもそれ以上はつっこまなかった。

その後、別な会議室に移り、Haitani 氏から、 pilot の開発にまつわるお話し や、PalmPilot の今後の展望、日本市場への取り組みについて、簡単 にお話しがあった。また、それらに関して参加者とディスカッションが行われ た。

今になって思いかえしてみると、このディスカッションで交された議論の多く は、現在の WorkPad 日本語版に反映されているように感じる。 (まぁ、直接この時の議論の内容が直接反映されたのではなくとも、Palm Computing 内で、きちんとした議論が行われたことは間違いない。) しかし、その時の話では、日本語版の投入が、ここまで遅れるとは思わなかっ たが...。

最後に Haitani 氏から、開発者には、お土産として PalmPilot の US Robotics のロゴ入りのドライバ(デバイスドライバではなくねじ回し)と 透明筐体が渡された。 私は厳密には開発者ではないので、こんなもの貰ってしまっていいのか?とは、 思ったが、Haitani 氏は快く私に透明筐体を手渡してくれた。 また、Metrowerks 社からは Code Warrior の紙のマニュアルを頂いた。

そんなこんなで、刺激的な数時間はあっという間に過ぎていった。 「せっかくだから、まぁ、何か作ってみるか」、そんな ことを思いつつ、家路についた。


第6回

SDK との格闘

平成11年5月29日(土)

さて、「何か作ってみよう!」と思いたったのはいいのだが、例によって 右も左もわからない。当時は今と違って本当にアプリが少なかったので、 欲しい(作りたい)モノは山ほど思いついた。けれど、それが作れるものかどう かも判らない。 山田さんは Nifty 等で「Mac のプログラミング経験のある人ならすぐ Pilot の プログラムも作れる。」といった発言をしていたけれど、 私は Mac では Hyper Card のスクリプト言語 Hyper Talk をいじったこと ぐらいしかない(Pilot のプログラム開発では C 言語を使うので Hyper Talk の知識は全く役に立たない:-)。本当に作れるのか?

とりあえず、Code Warrior for Pilot は入手していたので、サンプルのソー スコードとマニュアルを眺めてみた。が、やっぱりちっとも判らない。 ちょっと専門的になってしまうけど Chunk ってなんだ?ってな状況だった。 (Chunk はこれが判らないと Palm のプログラムは組めないってくらい基本的 な(メモリ管理上の)概念だ。) しかたがないので、500 ページ以上にもなる英文のマニュアルと Memo Pad の ソースコードをプリントアウトして、地道に読むことにした。 当時(というか、この2月まで)通勤に片道1時間30分もかかっていたので、時間 の有効活用とばかりに通勤電車の中で来る日も来る日も読み続けた。週末も好きなライブやクラブ通いを 控えて、PC の前で Code Warrior の使い方を勉強した。

結局 API Manual を読破して Memo Pad のソースを理解するまで2-3ヶ月もか かったろうか?正直言って結構苦労した。もっともここまで時間がかかるのもめず らしいようで、その後何人もの開発者の方のお話しを聞いたけれど、 早い人でマニュアルを読み始めてすぐ、遅い人でも数週間でプログラムを 作り始めているようだ。 どうも私には才能がないらしい。:-)

まぁ、いろいろ苦労はしたけれど、これで Pilot で何が出来るか、やりたい 事をやるためには、どうすればいいか、といったことが、だいたい判った。

じゃ、「何を作る?」


第7回

SPad 始動

平成11年6月29日(火)

当時、私が PalmPilot を使っていて不満に感じていたことは、 ま、当然ながら幾つかあった。 どうせプログラムを作るのなら、それらを解決するようなものを作るの が筋だろう。

一つ欲しいなと考えていたのは、To Do リストならぬ To Buy リストだった。 当時(今もだが) To Do の中身は、圧倒的に「購入予定」のもののリストがな らんでいた。でも、これだと、新宿や渋谷の CD 屋めぐりする時や、秋葉で パーツの価格調査をしながら使うのには、ちょっと不便だ。 あと、お買物というと小遣い帳ソフトもあると便利だけど、PalmPilot の "Expense" は、出張清算用らしく、項目がどうも個人用ではない。それに、 文化の壁も大きくて使い辛い。まったく、小遣い帳向きではない。 だいたい Excel を使っていない私には無用の長物的な存在だった。

そんなわけで、To Do と 小遣い帳が一緒になったようなソフトがあれば便利かな? と思っていた。これなら、To Do のソースをかなり流用できそうだったので、 私のような、初心者でもなんとかなるだろう。 それで Get the Balance Rightなんて名前までつけて、 まずは GUI の設計からとりかかってみた。

さて、その一方で、別の不満も抱えていた。 それは J-OS の Input Method に関することである。 J-OS の Input Method はユニークで、PDA 用に良く考えられているものだと思う。 ローマ字入力のフィールドを持ち、そのローマ字をデリミタで区切り 各文字種に変換する点など、その最たるものだろう。 とはいえ、良いことは良いんだけど、ちょっとひっかかることもあった。 それは、辞書と変換方法に関わる問題である。

J-OS で使用しているかな漢字辞書は SKK という、もともと Emacs というテキストエディタ専用の Input Method の辞書を流用したものだ。 その SKK の特徴の一つに送り仮名を陽に指定するという特徴がある。 そして辞書もそのため、送り仮名情報を含むものであった。 具体的にどういうことかと言うと、例えば「走る」という単語は SKK 辞書では

はしr /走/

と定義されている。つまり、この定義だと「走ら、走り、走る、走れ、走ろ」 という送り仮名を伴なった動詞の活用がたった一つのエントリで自然に 定義できるわけだ。 おまけに、何らかの手段で "r" の音から送り仮名だよ、と教えてあげれば、 「箸る」なんて変な変換はしない。「箸」という単語に送り仮名は付かないこ とを、SKK は知っているからだ

しかし、J-OS では、送り仮名を指定する方 法がないため、この情報はあまり有効には活用されていなかった。 普段 SKK を使用している私は、この送り仮名情報を利用することで、 変換効率が非常に向上することを知っていたので、これはちょっと残念 に思えた。 山田さんに要望を出したこともあるが、山田さん自身は SKK を使っ ていないので、おそらくこの利点を肌では感じていただけないだろうなぁ、 たとえ要望が聞き入れられたとしても、中途半端なものになるかもなぁ? という気もしていた。(山田さんごめんなさい。)

そんなある夏の日、Sony CSL の増井さんが POBox という 全く新しいタイプの Input Method の Palm 版を発表した。 これは、Pen 環境に関する彼の数年に渡る研究をベースとした、 素晴しいものだった。(詳しいことは、彼のページを見て、ぜひ使ってみて欲しい) ただ、この Input Method はアプリケーションとして実装され、 (後に Hack 版も登場)POBox で作成した文書を Cut & Paste で 必要なアプリに流し込む形態をとっていた。 これは、ちょっと面倒ではあったが、長文であればそれなりに使える 方法であった。

そこで、私ははたと気がついた。「Memo Pad に SKK ライクな Input Method を組み込んでみたらどうだろう?SKK だって基本的に Emacs の中でしか動かない のだし、長文の入力は Memo Pad でしかしないのだから、結構使えるんじゃな いか?」 そう思い、Get the Balance Right の開発を中止し作り始めたのが、 私の最初の Palm OS 用アプリ SPad である。 (SPad というのは、 SKK ライクな Input Method が付いた Memo Pad という程度の、非常に安直な開発コードだった。 結局これが正式名称になってしまったが。)

前回書いたように Memo Pad のソースは熟読していたので、開発のとっかかり は、それほど大変ではなかった。どこをどう変えればいいかも、すぐ見当が付 いた。 (ちょっと専門的な話しになるけど Field 操作の関数呼び出し 部分からイベントをぶんどってやればなんとかなるだろう、とすぐ判った。)

そして J-OS 辞書も、非常に単純な構造であったので、他のプログラムからア クセスするのも非常に容易だった(この辺は山田さんのセンスが良いところだ と思う)。そんなわけで、かな漢字変換ルーチンもすぐ出来た。 ちょっと大変だったのは、 Code Warrior が SJIS コードを上手く 扱ってくれなかったので、ローマ字かな変換テーブルの作成に 手間取ったぐらいである。

そんなこんなで、お盆のころから作り始めて、 夏の終りには、最初のバージョンは出来た。 1997年8月30日のことだ。

しかし、本当に苦労するのは、これからだった。


第8回

修行僧?

平成11年8月08日(日)

というわけで SPad ver. 0.316 を実験的にリリースしたわけだが、 思いの外、反応があった。 どうもインラインでかな漢字変換入力できることが新鮮だったらしい。 私自身としては、インライン入力であることに、特に拘りはなかったのだが。 まぁ、ひらがなが特別な変換動作なしでもさくさく入力できる点は、 自分で使ってみても小気味良かったが。

一方期待していた SKK 使いの方からはあまり反応がない。 これは、SKK 使いの絶対数自体が少ないので、まぁしょうがないか、といった 感じ。

さて、リリースはしたものの、まぁ、予想はしていたのだが、案の定バグだら けであった。正直、使いものにならない。バグレポートがどんどん飛び込んで くる(とっても有難いことですが :-)。 特に Palm OS のマニュアルは記載が簡潔すぎて、 実験してみないと判らないことや、大丈夫だろうと思ってやってみたことが、 とんでもないバグを引き起すこともしばしばだった。 おまけに Palm OS 1.0 は、バギーだったので、対応するコードを書 いたり...と新米フリーウェアプログラマにはちょっと大変な作業だった。 SPad のページを見てもらうと判るが、 頻繁にバグフィックスのためにリリースを繰り返している。 そのために、仕事の昼休みや、帰りの通勤電車の中でデバッグしたり、 週末は、好きなドライブを控え、それでもに 乗りたいので、車でちょっと遠くのファミレスに乗りつけて、そこでコードを 書いたり...と時間を工面してコーディングしていた。 好きなクラブ通いも控え、デートもせず、まるで修行僧の ような生活がさらに続いた。

まぁ、それでも97年の末ごろには、大体出来あがり、 年を越した 98/02/07 には正式リリースに漕ぎつけることができた。 途中 SPad から派生して Link Pad なる 標準の Memo Pad に通信機能をくっつけたという、変なソフトまでリリースする こともできた。 (これも偏にユーザの皆さんからの協力や激励があってのことだと思う。 改めて感謝したい。特に Link Pad に関しては、私のこのアイディアを ベースに、高橋智さんが ST Pad という非常に気の効いたソフトを リリースしてくれた。こういう形の一種のコラボレーションは非常に 楽しく刺激を受ける。)

さて、アプリを2本もリリースしたし、これで修行生活も終わりか?


第9回

Hack a Hack!

平成11年10月29日(金)

さて、話はちょっと前後する。97年の終りごろから、POBox で 有名な 増井さんが、「インターフェィスの街角」という連載を、Unix Magazine で始められた。 その連載自体は、インタフェース一般についての内容ではあったのだが、 そこで彼は、 手始めとして Pen Computing 特に Palm についての話題を取り上げていた。 そして、ちょっと驚いたことに、その連載の中で、インタフェースの実例として、 ASearch という Palm 用のあいまい検索を行う Hack をソース付きで公開された。 今迄 Hack の作り方がいまいち良く判っていなかったので、これは凄く勉強になった。 記事が非常に判り易く書いてあったので、こりゃ、意外と簡単に Hack が作れ そうだ、という気がしてきた(結局気がしただけだったのだが ^^;)。 とにかく Hack を書くためのノウハウが ASearch のソースには詰まっていた。 真似すれば、なんとなく動く無意味な Hack :-) はすぐ作れた。 こりゃアプリケーション作るより簡単じゃん(と、その時は、そういう気がした のだが、やっぱり気がしただけだった)。

ということで、以前青柳さん(先生とお呼びするべきだろうか?)に SPad を Hack にしないのか?と言われていたこともあり、 SPad の Hack 化にとりかかることにした。

最初は、J-OS のようにウィンドウを表示して変換し、確定した文字列を下の アプリに流し込む方法を考えた。これなら簡単そうだ。 でも、J-OS を始めとしたそれ迄の Input Method は、Hack といっても、 起動のタイミングを得るために、Hack にしているだけで、 DA でも実装できるようなものだ。 (判りやすく、極端な言い方をすると、アプリケーションで作るのとあまり変りはない。) これじゃ、Hack で作る意味がちょっと薄い。どうせなら、J-OS のように OS の機能を 拡張するような Hack が格好良いよなぁ。 それに、(作者の予想に反して)好評だった SPad のインライン変換機能 も、なんとか実装したいし、それだと従来の方法だとちょっとツラい。 (当時すでに出ていた J-OS Pro のインライン変換機能は、従来 手法の改良で解決していたけど。)

幸い SPad での経験より、インライン変換にするにはどうすれば良いかは すぐ判った。そしてそれは、OS の機能を拡張するような形で実装するのが 適していることに気がついた。ここまで判れば、もうやるしかないよなぁ。 (あれ?修行生活はもう終わりじゃなかったのか?)

ま、そんなこんなでプログラミングにはとりかかった。 SPad の Hack 化とはいえ、Hack の書き方はアプリケーションの書き方と だいぶ違うところがあるので、スクラッチから書き初めた。

さて、コード書きの一方で、ネーミングにもちょっと頭を悩ませていた。 それ迄 SPad とか Link Pad とかなんかダサい名前ばっかりだったので、 ちょっと凝った名前にしてみよう、と思った。 名前が機能を表していて、それでいて音が美しい名前...そんなのを 考えていた。

考えてみると、Input Method の名前って MS-IME だの、VJE だの WXII だの ATOK だの Wnn だの SKK だの(失礼!)意味不明のものが多い。 Canna とかはまだいいけど。なんか違うという印象だ。

その中で異彩を放っているものに Mac の「ことえり」があるだろう。 まさに、「言」を「選」るものだし、なんといっても、 和語の響きが美しい。 日本語 Input Method なんだから、やっぱり日本語、特に 和語が良いよなぁ。 なんか、こんな綺麗な名前はないかなぁ...と 行きの通勤電車の中でよく考えていた。 (そして、だいたい帰りは座れたのでコーディング:-)


第10回

kanae & manae

平成11年10月29日(金)

さてそんなこんなで、名前も考えつつ、コーディングを開始したのだが、 そこでちょっとしたアイディアを思いついた。 以前 SPad の開発を初めた時、まず、ローマ字かな変換ルーチンを作り、 テストしたのだが、かな漢字変換機能がなくとも、 けっこう便利に使えることに気がついた。 特にメモ程度だと、あまり不満はない。 一方、今回新しく作っている Hack は私の最初の Hack ということもあり、 実装方法がこれでいいか、早目にリリースして色々な環境でテストしてみたかった。 そこで考えたのが、まずローマ字かな変換機能のみの Hack をリリースして 動作確認をしつつ、かな漢字変換機能も付加したものも別ソフトとして作成す る、ということだ。つまり「かな」バージョンと「漢字」バージョンの二つの ソフトをリリースしようということだ。

それで、この一対のソフトの名前を考え初めた。 すぐに「仮名」と「真字」(まな、古語で漢字のこと)という対の言葉が思いつ いた。そして、その名前を語幹としてバリエーションをいろいろ考えた。 さんざん迷ったあげく、結局「得」るや「選」るの意味を込めて、 それぞれ、kanae, manae という名前がよかろう、と思い至った。 まぁ、「ことえり」のマネといえばマネなのだが、語感がずいぶん 違うので、気が付く人はまずいないだろう。 あと、Kanae とか Manae と表記するとなんかすごく人名、特に 女性名っぽくて イヤ なので、UN*X のコマンド名よろしく、 すべて小文字で表記することにした。 (本当は固有名詞なので、英語表記としては、 最初の一文字は大文字にすべきなんだけど、これは英語じゃないしね。)


つづきは[次ページ]

注釈

友人

この方 (ご夫妻)とか、 この方 とか。しかしながら、 この方は、今や CE な人だが... (結構いるんだよね、Palm から離れてしまう人も。離れる人は静かに離れて いくので、ずっと使い続けている人は、 あまり気がつかないかもしれないし、その理由もよく理解できないかもしれな いけれど。特に Palm 用のアプリを書いている人は、そういう人がなぜ離れ たのか良く考えてみる必要があると思う。)

ゲーム

私はゲームそのものは好きだが、Palm ではほとんどやらない。 Game Boy Color はよく使ってるのだけれど... Palm はハードウェアの特性上、リアルタイムゲームに向かないし、 一方 Palm に向いているパズルゲームや RPG は逆に私が苦手なため、 というのが理由だろうか。(頭を使うのが苦手なもので) パズルゲームなら優秀な人一人でも作れるけど、その他の ジャンルでは、既に一人で作れる時代は終ってるよねぇ。

License Agreement

他の法律に違反していない限り、 License Agreement に違反してもそのソフ トが利用できなくなるだけで、それ以上の法的責任には問われることは ないんじゃないか、とは思う。ちなみに、日本の著作権法では、このようなパッ チを当てることは、許されている(と思う)。著作権法第20条第2項第3項及び第 47条の2あたりが関係するかと思う。(あー、歯切れが悪いなぁ、この文章。 ま、ちょっと本業との絡みもあって...)

Nifty Fenote のオフ会

この日は、pilot, PalmPilot のメモリボードを改造して増設しよう、 というのがテーマだった。 私は半田付けが苦手だったので、見てるだけだった が(その後自力でやったけれど。わざわざコテライザーまで買って^^;)。 日本の Palm のコミュニティでは、このようにごく初期から、ハード系のハッ キングは活発だった。

なお、この日の会場の提供は NTT の高川雄一郎氏。また氏の貴重なお話を聞 くこともできた。 また、この日はみのたんさんを始めとする Nifty FPalm のスタッフの皆さん や、トラミンさん等のソフト開発者の方々と会うことができた。

現在、どこでもプログラミングをする人ということで有名なトラミンさん であるが、この日も2次会の会場でプログラミングの実際を私にデモして下さ り、さらに開発中の AkibaMap を下さった。

バグレポート

この時のバグレポートは実に技術的に適切かつ親切なものが多かった。 当時の pilot ユーザの技術レベルの高さと、一緒に pilot コミュニティを盛 り上げていこうとするその積極的な姿勢には大変感銘を受けた。 この Palm コミュニティの良さが(多少薄まりもしたが)、今も連綿と続いて いることは特筆すべきことであろう。(この点に関しても、山田さんの功績が 多きいと思う。)

デベロッパーズミーティング

これが月刊 ASCII (平成11年4月号でしたっけ?) の記事にあった、 デベロッパーズミーティングである。なお、本文中では、プライバシの問題も あるだろうから、山田さん以外は、あえて参加者の名前は上げなかった。

pilot 開発話

Haitani 氏からは などのお話があった。

Get the Balance Right

Depeche Mode というイギリスの有名なエレクトロ・ポップ・バンドの 1983年のシングル曲から採ったものである。 (Mute 7BONG2, Mute 12BONG2 等)

私のソフトのβ版のバージョンナンバの付け方を見ると、何かに気が付く人も 多いじゃないかと思う。(その昔 Video Chip Maker である S3 社が、911 とか 924 といったコードネームのチップを作っていたけれど、まぁ、その真似みた いなものだ。けっして某大先生の偉大なソフトのマネではない (恐れ多すぎる...)。)

当時私の乗ってた車はその某メーカのラインナップの中で一番安いやつである。 '89 式で、形としては2代前。走行距離は少ないのだけれど、寄る年波には勝 てず、けっこうボロボロだった。エンジンなんかは、まだ調子良かったのだが、 樹脂系の部品が結構壊れる...。ま、しょうがないんだけど。

(2001/05追記)

その後、たびかさなる故障に耐えきれず、2000年夏に車は買い換えた。今度の車は...(最近また私のソフトのβ版のバージョン番号付与規則が変ったので、気がついた人は...いないだろうなぁ...)。また中古なんだけどね。

プログラムの擬人化

私はプログラムを擬人化して語るのが嫌いである。 何かを神格化するのも嫌いである:-p)。 共に対象との緊張感が失われるし、安易なアナロジーに思考が 陥りがちになるためだ。

その他の意見

「kanae って、妻、恋人、娘の名前ですか?」という質問が多かったのだが、 ストイックな生活を送っていた私には、娘どころか恋人もいなかった。 私はシャイな日本人だし:-p)、プログラムの擬人化は嫌いなので、 たとえそういう存在が居たとしても、プログラムの名前には決っしてしないけどね。 ただ、美しい誤解はそのままのほうが面白かろうと、 その点については当時はまったく言及しなかったが。
[次ページ]
[Studio Artifact Top Page] [Palm Computing Platform Top Page]
naoz-i@tt.rim.or.jp