エディタ中心主義のソフトウエア開発

1 なぜ「エディタ中心主義なのか」

 一般にコンピュータで行う作業の大部分はテキストの読み書きである。原稿を執筆する時も、電子文書を読む時も、メールを読み書きする時も、ブラウザでウェブアクセスする時も、ほとんどはテクスチャルな情報の読み書きである。にもかかわらず、それらの作業ごとに異なるアプリケーションが提供されており、人々は、それらのアプリケーションを使い分けて読み書き作業を行っている。

 しかし、タスク別に道具を換えるより、一つの道具で大部分の作業を行うほうが作業効率はずっと向上するのではあるまいか。いつも同じ道具を使うことによって、道具への習熟が増し、道具は身体化するはずだからである。これは特にGUIよりCUIベースの操作について言えるように思う。GUIであれば、アプリケーションを換えても、基本的な操作はさほど変わらない。だが、CUIベースでソフトウエアを使おうとするユーザ、つまりキーボードショートカットを駆使しなければならないユーザ、視覚障害者や代替キーボードを使う運動障害者にとっては、一つのソフトウエアがエディタ機能、ブラウザ機能、メーラー機能を提供してくれるに越したことはない。一種類のショートカットの体系を覚えるだけで大部分の操作が可能になるからである。

 私はそのような考えに基づき、ソフトウエア開発を行ってきた。このコンセプトを「エディタ中心主義」と呼ぶことにする。もちろん、このコンセプトは私の独創ではない。かのGNU Emacsが正にそうである。技術者、研究者たちが、自分の必要とする道具を貪欲に開発し続けた結果、Emacsは最強のエディタへと進化していった。そして「Emacsをエディタと呼ぶことは、地球を大きな土の塊と呼ぶようなものだ」とまで言わしめるような存在となった。(1)

2 MS-DOS用エディタ&ブラウザVEGAの開発

 1995年からDOSスクリーンリーダー(2)のAPIを利用して音声表示と点字表示を自立的に制御するVEGAという名称のMS-DOS用音声・点字エディタの開発を行ってきた。

 一般のスクリーン・エディタは、ディスプレイ表示を見ながら編集することを前提に設計されている。そのためカーソル移動は画面と連動する仕様になっている。例えば、上カーソルを押すと、カーソルは画面上で一行上に上がる。また画面の右端で右カーソルを押すと、次行の先頭にカーソルが移動する。このようなカーソルの動作は画面という視覚的表示装置に出力する都合に規定されたものであることはいうまでもない。だが、VEGAはディスプレイを出力装置とするスクリーン・エディタではなく、音声と点字ディスプレイを主要な出力装置とする音声・点字エディタであるから、画面の物理的制約は考慮しないこととした。つまり物理的制約を考慮せず、論理行にカーソルを連動させる仕様としたのである。

 VEGAは、拙作の自動点訳ソフトEXTRA(3)の点訳エンジンを利用して、リアルタイムに変換精度の高い点字表示を行うことができる。音声だけでは難しい細かい作業も、編集中文書を点字ディスプレイに表示しながら快適に行うことができる。BESなどの点字エディタで作成された点字データファイルも、音声と点字で読むことができる。

 VEGAには当初からCD-ROM検索機能を組み込んだ。文章を書きながらEPWING規格や電子ブック規格の国語辞典、英和辞典、和英辞典、英英辞典、百科事典などを引いて、それらの検索結果を直ちに編集中の文章に挿入できることは、当時としては画期的であった。

 ブラウザ機能は、1998年にVersion 3をリリースする段階で実装した。ホームページの閲覧だけでなく、フォーム入力、クッキー、ベーシック認証などにも対応した。また、MS-DOSでは無理とされていたSSL(SSL2)にも対応した。

3 ALTAIRの開発:DOSからDOS窓へ、そしてフリーウエアへ

 1998年からは日本障害者リハビリテーション協会の委託を受け、WMAILという名称のメールソフトの開発を行ってきた。(4) このプロジェクトでは、MS-DOSとWindowsのDOS窓で動作するフリーのメールソフトを開発してユーザに提供するために、TCP/IPスタック、PPPドライバ、SSLライブラリ、FTPクライアントの移植も平行して行った。

 WMAILは、WATTCP, PCTCP, WINSOCKの各TCP/IPスタック対応、POP3およびSMTP対応、MIMEのマルチパート対応、UTF-8対応、MEWライクなメール管理の採用、スレッド検索などの機能と特徴を有する。

 WMAIL開発と平行して、VEGAのフリーウエア版であるALTAIRの開発も日本障害者リハビリテーション協会との共同プロジェクトとして行った。(5) ALTAIR開発プロジェクトでは、ALTAIRのWINSOCK対応をまず行い、WindowsのDOS窓でのインターネットアクセスを可能にした。SSLも、OPENSSLを使ってSSL2だけでなく、SSL3とTLSにも対応した。また、Word、一太郎、Excel、PDF、RTF対応も行った。これによって、インターネットからダウンロードしたPDFなどの電子文書も直接読めるようになった。さらにApacheサーバーのrange機能を利用したHTTPプロトコルによるDAISYコンテンツのストリーミング再生などの機能も実装した。

4 ALTAIR for Windowsの開発:DOSライクなWindowsアプリ

 Windows2000やXPなどのMicrosoft社の新しいOSでDOS窓内部の機能が変わり、DOSスクリーンリーダーでの読み上げが不可能になると、ユーザからVEGA/ALTAIRをWindowsアプリにしてほしいという要望が寄せられるようになった。そこで、2002年から、再び日本障害者リハビリテーション協会との共同プロジェクトで、ALTAIRのWindowsへの移植を行った。(6)

 ALTAIR for Windowsでは、他に例のない以下のような強力な機能を実装した。

5 メーラーモードとシェルモードの実装

 現在、ALTAIR for Windowsにメーラーモードを加える作業を行っており、まもなく新バージョンをリリースする予定である。これにより、念願の、エディタ、ブラウザ、メーラーの3機能をシームレスにサポートする「エディタ」が実現する。

 さらにEmacsが実装しているようなシェルモードも装備する予定である。シェルによってCUIベースの作業環境は飛躍的に改善されると考える。

6 ALTAIRの未来:次世代ブラウザの開発へ

 現在、音声並びに点字表示によるインターネットアクセスには以下の3種類の技術が用いられている。

1.スクリーンリーダー技術

一般の視覚ユーザーエージェント(Internet Explorer)を、スクリーンリーダーと呼ばれる汎用の音声・点字化ソフトを使って操作しようとするアプローチ。海外では最も一般的な方法である。

2.一般ブラウザのコンポーネントを利用するタイプの音声・点字ブラウザの開発

開発がもっとも容易であるため、我が国ではよく用いられているアプローチである。

3.独立の音声・点字ブラウザの開発

ユーザに対して最も効率的な作業環境を提供できるアプローチだが、スクラッチからすべて開発しなければならず、開発負担が大きい。また新技術への対応が後手に回る可能性がある。

 しかし、先にも述べたように、いずれのアプローチにせよ、国外と国内とを問わず、現状の音声ブラウザは目前の問題への対応に忙殺されており、とても次世代技術への対応などおぼつかない。

 なお3.のアプローチを採用しているALTAIRには以下のような弱点がある。

そこで、次世代インターネット技術を先取りした、次世代音声点字ブラウザの開発を進めたいと考えている。

開発の根幹部分は、HTML パーサ、XML/XHTML パーサ、DOM Level 2、XPath, XLink, XSLT, FO, CSS2 の各ライブラリである。

 またJavaScript言語エンジンの移植、JavaScript GUIの実装、CSS2音声仕様の実装、マクロ言語実装、PDFアクセシビリティ対応、Flashアクセシビリティ対応、複数言語混在コンテンツ対応、ローカリゼーション支援機能の実装なども行いたい。

7 WindowsからLinuxへ

 今日、電子機器の操作方法および電子情報の提示方法の「視覚化」は著しい。そのため視覚障害者(盲ろう者も含む)は、やむなくスクリーンリーダーと呼ばれる画面音声化・点字化ソフトウエアを用いてGUIベースのコンピュータを操作し、GUIベースの情報を処理している。だが、スクリーンリーダーを用いてGUIベースのコンピュータを正確かつ効率的に操作するのは至難の技であるためこの方法は視覚障害者に多大な負荷をかけており、多くの視覚障害者がコンピュータから取り残される状況にある。とりわけ盲ろう者は点字情報だけで操作しなければならず、直面している困難は視覚障害者よりもまた一段と大きい。

 GUIを大前提として設計されたOSに、後から視覚障害者向けの機能を追加するのは、OSやOS上で動作するソフトウエアがGUIを前提として開発されているために自ずと限界がある。これを考慮すると、非GUIの、文字情報を基本としたOSを用いて、視覚障害者向けのコンピュータ操作環境を実現するのが最も合理的である。

 そのような方向での先行開発として UNIXやWindows上でEmacsというテキストエディタを中心とする統合環境を音声対応させたEmacspeakというプロジェクトがある。また、Emacspeakを日本語に対応させた BEP (Bilingual Emacspeak Project)というプロジェクトもある。

 しかしEmacspeakは、あくまでも単独のソフトウエアであり、音声化されるのは Emacspeakの中だけである。このため、Emacspeakを起動するまでは別途スクリーンリーダーを使用しなければならず、OS全体をEmacspeakで使用するには至らない。また、点字表示機能がないため、盲ろう者は使えない。

 また、EmacspeakはEmacsというテキストエディタに対するプラグイン(マクロ)によって実現されている。Emacsは非常に高機能なテキストを中心とする統合環境であるが、使用には多くのコンピュータに関する知識や、Emacsに関する知識を要する。技術者でない一般のユーザにとって Emacsの使用は敷居が高く、視覚障害者にとってもEmacsspeakはメジャーなテキストエディタとなっておらず、日本でのBEPのユーザは10人程度と言われている。Emacsでは、コンピュータの専門知識を持たない視覚障害者に対して、GUIとは別の大きな負荷がかかってしまう。

 そこでLinuxをベースに以下の開発を行いたい。

8 ユニバーサルデザインと支援技術の共同作業

 アクセシビリティはユニバーサルデザインと支援技術の共同作業で実現すべきものである。どちらが不十分であってもアクセシビリティは実現しない。

 だが、現実には、最初からユニバーサルデザインの思想に基づいて開発されたオペレーションシステム、マークアップ言語、電子文書フォーマットなどは、一部の例外を除き存在しない。アクセシビリティ問題が顕在化してから、機能追加、修正、改訂という形でアクセシビリティに配慮した仕組み、構造、機能が付加されるのが実状である。Microsoft社のMSAAしかり、W3CのHTML/XHTMLしかり、AdobeのPDFしかりである。

 また、MSAAにしても、W3CのWebアクセシビリティガイドラインにしても、PDFアクセシビリティにしても、ソフトウエアベンダー、Webサイト、電子文書の作成者が高い意識を持ってアクセシビリティ対応に取り組まなければ、支援技術側の努力だけではいかんともしがたい。

 さらに、仮に電子情報通信機器、ソフトウエア、Webサイト、電子文書、マルチメディア・コンテンツなどがユニバーサルデザインを積極的に採用したとしても、電子情報通信技術のめざましい技術革新に支援技術が追随していくのは決して容易ではないという問題もある。市場規模が小さいため、支援技術側は、開発にそれほど多くのコストはかけられない。そのため、技術的には可能であっても、投入できるリソースが限られるために実現できないという事態は今後ますます増えるように思われる。わが国でも公的資金による開発助成がなされているが、その重要性は今後一層高まるであろう。

 アクセシビリティは、社会が高い技術と正しい思想を持つことによってはじめて現実化するのである。

(1) Chris DiBona, Sam Ockman, and Mark Stone(Ed.), 1999, OPENSOURCES: Voices from the Open Source Revolution. O'Reilly and Associates, Inc.=倉骨彰訳、1999『オープンソースソフトウェア―彼らはいかにしてビジネススタンダードになったのか』オライリー・ジャパン、におけるリチャード・ストールマンのプロフィールより本文に戻る
(2) 拙作のグラスルーツと斎藤正夫氏のVDMである。本文に戻る
http://fuji.u-shizuoka-ken.ac.jp/~ishikawa/devpgm.htm
(3) EXTRAは1991年から開発してきた日本語英語自動点訳ソフトウエアである。現在MS-DOS版、Windows版、UNIX版がある。
http://www.extrasoft.jp/本文に戻る
(4) http://www.normanet.ne.jp/~software/al_wmail.htm本文に戻る
(5) http://www.normanet.ne.jp/~software/al_wmail.htm本文に戻る
(6) http://www.normanet.ne.jp/~software/winal/本文に戻る

静岡県立大学国際関係学部
石川 准
ishikawa@u-shizuoka-ken.ac.jp
http://fuji.u-shizuoka-ken.ac.jp/~ishikawa/index.html