【1986年12月~1987年4月】
かつて、パーソナルワープロというPCの時代があった。

(01)ワードプロセッサー

PCは、1973年、ゼロックスのパロアルト研究所(PARC)で開発された「Alto」に始まり、1981年には後継の「Xerox Star」、そして、この影響をたっぷり受けた「Macintosh」が1984年1月にApple 社からリリースされた。これらは現在では当たり前となっているグラフィカルユーザーインターフェース(GUI)で、その象徴がポインティングデバイスのマウスだ。また、これらで興味深いのは、現在のPCのような汎用機ではなく、基本的にはワードプロセッサー専用機であることだ。
この頃、日本でも東芝「JW-10」(1978年)、沖電気「EDITOR-200」(1979年)、シャープ「書院WD-3000」(1979年)、富士通「OASYS 100」(1980年)、NEC「NWP-10N」(1982年)、「文豪5N」(1984年)とワードプロセッサー(ワープロ)、そして低価格なパーソナルワープロの時代が始まった。その後パーソナルワープロは、1989年のピーク時には年間300万台近く売れたそうだ。
(02)ナルボ設立

1986年2月、Apple 社の Macintosh が発表された2年後、小型コンピュータのソフトウェア開発会社として株式会社ナルボは設立された。上記のとおり、やっと低価格なワープロが年賀状作成に利用される程度で、一般業務においては汎用機全盛の時代でPCやパーソナルワープロは、まだまだおもちゃ程度に扱われていた。
ナルボは設立からしばらくは、知人のソフトウェア会社から仕事を紹介してもらうなど、業務系システムの一部の請負開発で日々をしのいでいた。そこへ、某‐N社から某‐パーソナルワープロ文豪mini7のグラフシステム開発の仕事が舞い込んできた。上記のとおり、当時はまだ小型コンピュータの請負会社は少なかったこともあるが、ナルボにとっては、まるでシナリオがあるかのような話だった。(そしてこの仕事は、その後の経営、技術の基盤となった)
ちなみに、某‐R社経由の仕事だったが、この時お世話になる某‐中島部長とはその後もお付き合いは続く。(この辺りの話は、別のエピソードで)R社は当時、ソフトウェアのパッケージ製品でリードしていた会社でその中でもカード型データベースは有名だったが、現在では、合併吸収されて社名は残っていない。更に言えば、このパーソナルワープロメーカーも1999年に再編されて、その社名は残っていない。(時勢といえばそれまでだが、このような会社、人材、技術が継承されていないとしたら残念でならない)
(03)ワープロ‐アプリケーションの開発

このパーソナルワープロは、夏季賞与と年末賞与に合わせる形で新製品を発売していた。このため、グラフシステムの開発もこれに合わせて開発、バージョンアップしていくことになる。
パーソナルワープロのCPUは、NEC製でIntel 8086/8088互換のμPD70108(V30)だったかも。また、OSは、MS-DOS互換のOSでN社が独自に開発していた。(開発者の名前を取って某‐U-DOSなどと呼ばれていた)開発言語は基本的にアセンブリ言語だったが、ナルボはC言語による開発を提案し、成功させた。当時はこの頃普及していた「Lattice C」を使っていた。(その後、ナルボもボーランド製の「Turbo C」に切り替えていくことになる)また、パーソナルワープロは、インクリボンによるプリンタ付きで、搭載されるアプリケーションはこのプリンタで出力することになる。
C言語はともかく、実はハードウェアの知識が乏しい。(乏しすぎる)当時は、当然インターネットはなく、フィットする書籍もない。ただ、どこから仕入れたかA5版で5cmほどの厚さのある不思議なマニュアルがあった。(おそらく非売品で、今は見当たらない。見たい)
この仕事はナルボとして絶対に成功させなければならない仕事だった。例えば打ち合わせなどで、それが普通に登場する言葉などは、「それ、何ですか」とは聞けなかった。(仕事がなくなる)あまりにも知識が乏しすぎるせいで、あまりに初歩的だったらと思うと聞けない。なので、ひとまず、メモしておき、帰っては、例の不思議なマニュアルを漁る。(必死だった)
この頃、N社では当時から優秀な女性プログラマを垣間見ることができた。先端の技術と会話、アセンブラ言語でバリバリ開発する様は、かっこよかった。そういえば、担当の某‐I主任も女性だった。当時、ナルボは新宿の職安通りにあった。(道の向こうは歌舞伎町だ)決して環境のよい場所ではない。ある日、技術資料を手渡すため、I主任の帰り際にナルボへ寄ってもらうことがあった。この時、一緒に旦那様と来られたのが印象深く今でも記憶に残っている。(やっぱり)
当時のワープロ専用機に搭載される基本的なアプリケーションはROMに書き込まれる。つまり、リリースしたら一切、変更も消去もできない。そして何万台も出荷されることもあり、なかなかのプレッシャーだ。完全に納得したソフトウェアに仕上げる必要がある。でなければ、気持ちが落ち着かない。結局、ほとんどの時間と神経はこのプロジェクトに向けられた。
(04)グラフシステムの開発

当時、このワープロにはポインティングデバイスが搭載されていなかったこともあり、いわゆるグラフィカルユーザーインターフェース(GUI)は採用されていなかった。また、アプリケーション開発に用意されている環境はOSとVRAM(ビデオRAM)への線と文字の描画機能だけで、テキストボックスなどの部品も自作する必要があった。1本1本VRAMに線を引きテキストボックス枠を描画して、キーボードによる文字の描画、編集制御をして小さなエディタを作ることになる。また、ボタン、メニューによるUIで、GUIぽいビジュアルにしたかった。(これが、後に「PC Pops Library」というMS-DOS上のGUIライブラリとして製品化することになる)
グラフの種類は、折れ線グラフ、棒グラフ、円グラフだったと思う。また、画面はモノクロでカラーは表示できなかった。このため、線とテクスチャのパターンを10種類程度用意して項目を区別した。棒グラフの棒や、円グラフのパイは項目別のテクスチャで塗りつぶすのだが、図形ライブラリなどは無いため、テクスチャの塗りつぶしロジックを考える必要があった。特に円グラフの各パイの塗りつぶしは、パイの線を先に描画し、その枠線をストッパに枠内を再帰的に塗りつぶす方法となった。面白いのは当時のパソコンの性能だと、塗りつぶしていくようすが目で確認できるのだ。
そしてなぜかこの時、早稲田の学生と塗りつぶしロジックを競った覚えがある。(どちらのロジックが早く塗りつぶせるかだ)それぞれのロジックで、塗りつぶし方に違いがあったのも覚えている。ただ、勝負の結果は覚えていない。(ということは、負けたのか)
(05)表計算システムの受注

グラフシステムの成功を受けて、表計算システムの話が浮上してきた。本当は、R社で開発したかったようだが、結局、ナルボで開発することになった。見積もりの打ち合わせの日のことは今でも覚えている。確か秋の溝の口で、当時社長だった藤原さんと待ち合わせたのだが、藤原さんが予定より遅れたことで、必死で走ることになった。そしてなんとか間に合ったのだが、二人とも汗びっしょりで駆け込んだ。そこには、I主任とその部長さんがいた。そして、その場で仕事を任された記憶がある。後日、I主任に、表計算システムという大事なアプリケーション開発をなぜナルボに託したのか聞いたことがある。そしたら「部長さんが熱意を感じた」ということだった。(確かに当日は走ったせいで熱っぽく息が荒かった)
(06)表計算システムの開発

表計算システムの受注はしたもののその開発は途方もないものだった。開発期間は半年もなく、メンバは高橋さんという経験1年の女性と2名だ。そして、その設計要素には、スプレッドシートのデータモデルと表示制御、計算式の解析・実行制御、データのシリアライズ、プリンタへの出力、そして、グラフィカルユーザーインターフェース(GUI)などがある。
上記に加え、限定的なRAMなどスプレッドシートの設計には厳しい条件が課せられた。グラフシステムの開発も気の抜けないプロジェクトだったが、この表計算システムの開発では何度も「できる」と言い聞かせながらもがく日々が続いた。(若さとポジティブな思い込みだけを頼りに)
(07)S氏のプロジェクト参加

覚悟を決めて、基本設計に取り組んでいた時、S氏が遊びに来た。S氏については、「エピソード 01」でも登場した天才プログラマだが、同じ年で最初の就職先で一緒に電話交換機のPL/Iライクなコンパイラを開発した経緯があり、先に退職してフリーで活動していた。そして、気が付くと発していた言葉は「これ、手伝ってくれない?」だった。そして、S氏も「いいよ」だった。
S氏にお願いしたのは、計算式の解析・実行制御ライブラリだ。彼は納得しなければ動かないが、納得したらその品質は完璧で、魔法のような速さで仕上げてくる。そして、性能にもこだわった。当時のC言語で生成されるコードが気に入らないと部分的にアセンブリ言語で調整し、性能を向上させる。(そこまでやるか)また、開発の終盤には実機を使ったテストをするのだが、突然、彼が実機をたたき出した。フロッピーディスクが廻っている時の例外を起こさせようとしたらしい。(やっぱり、そこまでやるか)
このS氏だが、このプロジェクト以外でもいろいろ驚かされた。彼の趣味は、業務アプリ、ゲームアプリを問わず、そのプロテクトを解除することだった。(もちろん悪用はしていない)だいたい1日で解いてしまう。3日かかるものは少なかったが、手ごわいものほど楽しそうだった。(日本にもハッカーがいたのだ)そういえばその頃、ボーランドジャパンの社長を打診されたとか。そして、あっさり「断った」とか。(ん~)
当時はDOSベースだったが、彼の作ったマウスドライバはWindowsのマウスのように画面に浮いて表示された。(通常のDOSのマウスは反転ベースだ)そのまま売れそうな気がしたが、彼はあまりビジネスには興味がない。また、彼はこの時すでに自作のリレーショナルデータベースを持っていた。今思えば、彼にジョブスのような営業マンがいたら、日本にも米国に負けないデータベースメーカができていたかもしれないと、ときどき思ってしまう。(この時、2人ともまだ20代)
(08)「オブジェクト指向」との出会い

さて、開発もまもない頃、表計算システムのデータモデルの基本設計が急がれた。そんな折、当時購読していた「インターフェース(CQ出版社)」という雑誌のわずか1ページだが「オブジェクト指向」というデータモデリング手法のコラムに目に止まった。「これだ!」と思った。表計算システムのデータモデルには、このオブジェクト指向がフィットした。もともとイメージしていた破片が次々と整理されていった。当時、開発言語としてC++などのオブジェクト指向言語はなかったので、C言語ベースにオブジェクト指向の基本原理だけ取り込んだスタイルで開発を進めた。今思えば、この出会いもラッキーだった。
(09)「ロータス1-2-3」の日本上陸

オブジェクト指向で開発を進めていた頃(1986/9/5)、表計算ソフト(スプレッドシート)の「ロータス1-2-3」の日本語版が日本市場にリリースされた。ちょうど展示会(確か幕張メッセ)で出品されていたので、さっそく観に行った。そして、そのユーザーインターフェイスは実に参考になった。これまで、「Multiplan」や「○○plan」などの表計算ソフトを見てきたが、どうもしっくりしなかった。ところが、この「ロータス1-2-3」は実に直感的だった。(今では当たり前だが)
そして、このタイミングも実にラッキーだった。
ちなみに、表計算ソフトでは、それぞれのマス目のセルはセル番地で識別されるが、その記述法は通常「A1」のように「列‐行」だ。しかし、概念的にも行がプライマリで言い方も「行列」だ。(「列行」とは言わない)そこで、この表計算システムでは、「行‐列」、つまり「1A」のように記述することにした。数式としては通常の「A1」の方が美しいのだが、こだわってしまった。(おそらく、この記述法は他にないもので、この表計算システムのガラパゴス的特徴となってしまった)
(10)「表計算ソフト」(スプレッドシート)について

Apple 社はGUIベースの「Macintosh」(1984年)で飛躍することになるが、その前にリリースされた「AppleⅡ」(1977年)がターニングポイントとなった。そして、これを牽引したのが、「VisiCalc」という世界初の表計算ソフトだ。この画期的なアプリケーションを使うために「AppleⅡ」は売れた。この「VisiCalc」だが、1978年、ハーバード大学の金融モデルの講義で黒板に表を書き、数式とパラメーターによる計算結果を交わるセルに書き入れていた時、この講義を受けていたDan Bricklin氏が表計算ソフトのアイディアを思いつき、その年「AppleⅡ」でプロトタイプを動かしたとのことだ。(これが、「VisiCalc」の原型となる)
そして、IBM PC/AT(その互換機)を牽引したのも「Lotus 1-2-3」という表計算ソフトだ。これをビジネスシーンで使うためにIBM PC/AT(その互換機)は売れ、事務作業は別次元ともいえるほど早く正確なものとなった。そして、表計算ソフトというアプリケーションによりパーソナルコンピュータは一気に世界に行き渡った。もし、表計算ソフトが無ければ、現在のパーソナルコンピュータはワードプロセッサーのカテゴリで足踏みしていたかもしれない。結局、その勝者となったのは「Microsoft Excel」なのだが。(「Multiplan」を作った会社のものとは思えない)
(11)「PC Pops Library」MS-DOS上のGUIライブラリ

さて、「グラフシステムの開発」でも触れたが、グラフィカルユーザーインターフェース(GUI)を自身で制作したことにより、これをGUIライブラリとして製品化することになった。これは、「PC Pops Library」として、ナルボ最初の製品となった。これを使うことで、DOS上でGUIベースのアプリケーションが開発できる。(ただ、当時はメモリが一般に少なかったので、ある程度リッチな環境が必要だ)価格は忘れてしまったが、800本ほど売れたと記憶している。