AD | all

[006] 自社開発

Webサイト開発ツールが低価格化する中、自社開発で何かを作るとはどんな意味があるのだろうか。この Ridual を見せるたびにケゲンな顔をされる。しかも、何故 NRI が?、とも。

若い方と仕事をすると、少し違和感に襲われることがある。HTMLを書いているのに、出てくる言葉が Dreamweaver や GoLive の操作方法についてばかりの時だ。同じ操作を幾つも行うのならともかく、一箇所の修正や加筆であれば、自分でコードを書き足せばよい。両製品ともユーザのコードを優先する機能は備えている。何だか「製品」という殻に包まれてしか、考えが広がらないような閉塞感がある。

既存の(今でも生き残っている)製品はどれも素晴らしい機能を持っていると思っている。でも不満がある。それは、「何故その操作でこのコードが生成されるのか」といった原理のようなものが分からないことでだ。バグなのか仕様なのかも分からない。ツールを使って開発を進めるとき、効率的に見えつつもお節介にも思えるフルマイに出会う。「なんで、んなことするかなぁ」と思わずつぶやく。昔エンジニアだった性からか、開発者の想いを考えてしまう。私のこのインタラクション(操作)を、私がこのような意思をもって行ったと解釈して、そして彼(開発者)が適切だと思うフルマイ(コード生成等)が実行されるのだと。

こういったことをブラックボックスという。決められた入力(データや操作)をしてやると、何故だか分からないけれど決められた出力が得られる。何が行われているかを考えなくても良い品質(と思える)の出力が得られている時は、それで満足できる。でも一旦不信感をもってしまうと、色々と試したくもなる。こちらの操作に対しての挙動を見ては、「おぉ、そう来るか」と。それも楽しくもあるし、それがツールの理解にも繋がる。それらの蓄積を Tips とも呼ぶ。それらを使いこなせる者をプロと呼ぶとしても、何か引っかかるものがある。

今の時代の Web サイト開発に欠けている、あるいは追加しても良いツールはなんだろうと考えたときに、上流支援と解析機能を考えた。そして、それはブラックボックスでは辛いと思った。操作する者の意思をどのように汲み取って、それをどのようにデータ化していくのか。それが分からない状態ではツールにならない。しかも、サイト構築は手法論としても確立していない。コーダによって品質も変わるのが現実だ。自社ルールも存在する。そんな状況を抱えつつ、既存の有名ベンダーが製品化するのを待って、拡張するというのも気が乗らない。だから、自社開発するしかなかった。

勿論楽な道ではない。資金的にもアイデア的にも労力的にも。でも、可能性が広がっている。HTML はコメント等の活用方法はかなり自由度が高い。特殊タグを幾らでも追加して、解析エンジンが処理できるようにできる。社内でしか使わない情報を自由に組み立てることが可能だ。また、機能的な制限事項が明確なことも嬉しい。今のヴァージョンで何ができて何ができないのかが、説明できる。明記された制限の中で色々と工夫するというのは、不自由でななく、実は自由だったりする。

世の流れもあったと思う。オープンソースが取り上げられ、開発する者にスポットライトが当たった。Dreamweaver のエクステンションも真っ盛りだ。ちょっとした自作ルールを効率化するために何かを自作する人達が増えている。それは与えられたモノの、少なくとも初期状態では満足できない人達の動きだ。色々なモノが多品種少数生産になっているのに、ツールは決まったものしかない、というのも変な気がするし。せめてカスタマイズはしたい。そのカスタマイズの究極が自社開発。

でもその道のプロでもない者が自社開発をするということで、基本ポリシーを置いた。既存製品の得意領域にはなるべく踏み込まないこと。できる限り連携して動くようにすること。いいとこ取りを目指すこと。他がやっていないことに注力すること。競っても負ける。

幾つか既存製品領域をかすめている部分もあるが、Ridual はまさに他力本願的な製品に仕上がりつつある。ページリストを作りつつも修正は他ツールでないと行えない。サイトマップを作るが他ツール(Illustrator)でないと編集できない、見ることさえ専用ツール(SVGviewer)が必要だ。サイト構造は記述できてもページ内デザインには関与しない。表形式の情報(CSV)を生成するが、少し複雑なソート機能等は他製品(Office系)で行うことを前提にしている。情報の蓄積場所は作るが公開は既存技術(サーバ)で行う。

しかも、カスタマイズも考慮している。プロジェクトを新規に作るとき、実はテンプレートにあるファイルの塊をコピーしているだけである。プロジェクトの形はチームや部署によっても様々なので、その形が決まっているのであれば、テンプレートフォルダに置くだけである。それで新規プロジェクトからは新しい構造のプロジェクトが作られる。このテンプレートをコピーするという機能は随所に活用している。つまりカスタマイズの自由度がある程度はある。XMLとXSLTも使っている。XSLTでクライアントサイドでレイアウトを調整しているモノ(ページ/リソース/ドキュメント一覧)は、XSLTを変更すれば好きな見栄えに直すことができる。アイコンも単純に gif を置いて参照しているだけなので、その置き換えも追加も自由。シンプルに作った成果かもしれない。

では、何故 NRI なのか。弊社はどちらかと言えばバックエンド開発とコンサルテーションで知名度がある。正直フロントの領域で名を聞くことはまだまだ少ない。でも、フロントの大切さは痛感している。B2Cサイトを作れば、いかにバックエンドが強固でも閑古鳥が鳴いていては意味がない。いかに巨大なサイトを作ってもユーザを迷子にしては心苦しい。更に世はブロードバンド時代。コンテンツは益々大きくなり、その巨大コンテンツに辿り着くためのユーザが迷子になられたら、再びサイト不要論まで出てくるかもしれない。そして、今後その巨大なコンテンツの方に目が向いて、サイト構造思索が手薄になる可能性だって高い。やはり上流やデザインに目を向けざるを得ないのだ。

この Ridual プロジェクトは、かなり風変わりなスタートをしている。自分達(NRI)のコアユーザではない人達(デザイナ)にメッセージを送りつつ、製品化についてどう思いますか、と半分身を引きながら問いかけている。BB時代を前に今までのワークスタイルを変革したいと思われる方々の生の声が聞ききたい。

以上。/mitsui