2015.11.18

「何でもできる」は難しい ~汎用性と専門性の狭間で~

仕事ノウハウ技術話

CMSやホームページ制作ツールは、各種ベンダーから様々な特色のものが提供されています。


これまで、いくつものサービス・製品を見てきましたが、技術者視点で見ると、これらは大まかに二種類に分けられます。


一つは、WordPressやMovableType等の、サーバーにインストールし、プラグインのインストールしたり、カスタマイズをしたりして、ユーザーが自ら機能を拡張出来るものです。
もう一つは、予め用意された機能・テンプレートが豊富にあり、用意された環境の中でホームページを作っていくサービスです。


どちらも一長一短あり、どちらが優れているという事は一概に言えませんが、選定基準としては、そのサービスで「自分がやりたい事が出来るか」という事が重要になります
いくら機能が豊富で、デザインテンプレートが充実していても、自分がやりたい事が実現出来なければ意味がありません。


無料(又は低価格)のホームページ制作サービスを使ってホームページを作っている途中に、あれもこれもとアイディアが出てきたのはよいものの、それを実現するには、そのサービスの機能だけでは実現できず、他のサービスを検索しているうちに時間がどんどん無くなっていくし、やっと実現できそうなサービスを見つけたのは良いものの、何だか使うのが途轍もなく難しくて自分では出来ない...orzという状況に陥るというのはよくある話です。


予め用意された枠組みの中でやりたい事が全て実現できるサービスを見つける事が出来れば、それは非常に幸運な事ですが、「やりたい事にかなり近いプラグインはあったけど、ちょっと違うから使えない」という事が往々にしてあります。


これらは、例えば、
・問い合わせフォームに、件名・本文以外の入力項目を追加したい
・会員登録させてメルマガを配信したい
・予約フォームを付けたい
等々の、主に動的な機能について発生する事が多くなります。


そうなってくると、何でも出来るWordPressのようなシステムを使う事になってくるのですが、ここで、大きな問題が発生します。
それは、「何でも出来るけど、実現するためにはそれ相応の技術を習得する必要がある」という事です。


Webに限らず、完全に要件にあったものを作ろうとすれば、出来あいのものだけでは不十分であり、自分で作るためには、技術・知識・工夫が不可欠なのです。
例えば・・・「塗り絵」を例にすると、これは予め用意されている、色が無い絵に色を付けて作品を作るというシステムです。でも、元々の絵を変えたいとなると、白紙の状態から自分で絵を描かなければなりません。
予め用意された機能を使うというのは、つまりはそういう事なのです。


汎用性を高めると、初心者には扱い辛くなり、専門性を高めるほど、簡単に出来るけど痒い所に手が届かない、というジレンマが発生します。


CMSやホームページ制作サービスは、コンピューター上で動作するプログラムなのですが、これらはいくつかのレイヤーに分かれています。


5.CMSで制作されたコンテンツデータ(ページやホームページそのもの)
4.アプリケーション(CMS・ホームページ制作サービスそのものです)
3.フレームワーク(存在しない場合もあり、アプリケーション=フレームワークという場合もある)
2.PHP等の汎用言語
1.Webサーバー、MySQL等のミドルウェア


下にいくほど汎用的なものとなり、上にいくほど専門性に特化したものになっていきます。
下のレイヤーを直接触る事が出来れば、より自由に色々なものを作る事ができ、上のレイヤーにいくほど、出来る事が制限されていくという構造になっています。


サーバーにインストールするタイプの、WordPress等については「4.アプリケーション」~「3.フレームワーク」を直接カスタマイズする事で比較的自由に何でも出来きますし、もっといえば「2.PHP等の汎用言語」を使って独自にアプリケーションを開発する事で、実質的にありとあらゆるWebサービスを作る事が出来ます。
用意された機能だけを使うという事は、つまり「5.CMSで制作されたコンテンツデータ」のみを弄る事が出来るという状況で、「4.アプリケーション」の仕様に大きく依存するという事です。


どの程度の難易度で、どこまでの事が出来るか、というのは「4.アプリケーション」が、どの程度汎用性があり、どの程度専門性があるかという事に依存するという事になります。
また、この汎用性と専門性のバランスを見る事で、そのシステムのコンセプト及び戦略が見えてきます。
現在流行っているサービスは、どちらかといえば汎用性を重視しているようです。
現在のWebを取り巻く環境が、多様性を求められる状況ですので、傾向としては自然かと思います。
WordPressについては、基本的な機能はシンプルな状態を保ちながら、専門的な機能はプラグインに任せる事で、汎用性と専門性を両立させようとしています。
JimdoやWix等も、基本機能はWeb制作に特化しつつ、プラグインで専門的な機能を追加するという方針のようです。


弊社のOWLetはどの立ち位置にいるかというと、どちらかというと汎用性重視のシステムに該当します。


OWLetは

5.OWLetで制作されたコンテンツデータ
4.OWLet
3.OWL
2.PHP
1.Webサーバー、MySQL

というレイヤーになっていますが、他のシステムとちょっと違うのは、OWL(Optimal Web Language)というオリジナルの言語が「3.フレームワーク」に該当するレイヤーにあり、この言語を使ってOWLetをカスタマイズする事で、専門性の高い機能を開発する事が出来ます。
このOWLによってOWLetを自由に(そして最低限の知識を有する者からしたら簡単に)カスタマイズする事が出来るのですが、これもやはり全く知識が無い人が扱うには難しいものですので、Web制作のプロの方にのみライセンスを提供させていただいています。
こちらは制作・開発フェーズにおいて、プロのWeb制作者の手によってホームページを作るという形態となっているため、エンドクライアントのニーズを妥協する事なく完全に満たしたホームページを提供する事が可能になっています。


とはいえ、やはり出費を抑えて自分でホームページを作りたいという方も大勢おられると思いますので、ガーディアンとしても、そのようなニーズに応えられるサービスを企画中です。
何でも出来る汎用的なサービスは、すでにOWLet Proがありますので、次は「専門性」に特化した(=初心者が自らニーズを満たしたホームページを簡単に作れる)サービスを作りたいと考えています。


久保 一也

取締役 最高技術責任者 CTO

久保 一也

OWLetの設計・開発