-shared-img-thumb-SAYA160312050I9A3455_TP_V

情報システムで用いられる「アプリ」(アプリケーションソフトウェア、応用ソフト)において、はじめから完全な機能を持った最終版が作られることはほとんどありません。たいていの場合、機能が最小限に絞られた初版が作られ、その後「バージョンアップ(版が上がること)」に伴いアプリ自体に機能が追加されていきます。

アプリがバージョンアップされると、アプリが高機能になり一見使いやすくなるように思えます。しかし実際には、アプリが高機能になればなるほどかえって使いにくくなるということが起こります。このようなことは、どうして起こるのでしょうか。

ここでは、バージョンアップに伴いアプリが使いにくくなるというメカニズムを説明し、なぜそのようなことが起こるのかについて考えていきます。ここで述べる内容を理解することにより、アプリの高機能化によってユーザーが離れていってしまうことのないアプリ設計の考え方が身につきます。

バージョンアップでの高機能化で使い勝手が悪くなるメカニズム

アプリのバージョンアップは、元のアプリのソースコード(プログラマーが作るアプリのプログラム)を改修することで行われていきます。この作業は、基本的に元のソースコードをなるべくそのまま残して機能を引き継ぐ方針で行われます。

例えば、【A】という機能があって、バージョンアップによって【A’】にするとします。「A’」という機能を作るときに、本当は「【A】の部分から根本的に作り直して【A’】を作った方が、ユーザーの使い勝手が良くなりプログラムのメンテナンスもやりやすくなる」という場合があります。

しかし、ほとんどのバージョンアップ作業では【A】の部分に手を加えて作り直すことをしません。そして、【A】をなるべくそのまま残して追加機能の【A’】を作ろうとします。

なぜこのようなことになるかというと、「【A】を作り直すと工数(プログラムの費用)がかかるから」「【A】を作り直したことによりデグレード(機能の欠落)のリスクがあるから」「【A】の機能テストの時間が取れないから」という開発側の意向が加わるためです。

要するに、バージョンアップの改修作業を繰り返し行うことで開発側の意向がだんだん強くなるのです。それによって、「アプリの使い勝手」や「プログラムのメンテナンスの容易さ」といったユーザー側の利点が失われていくのです。

その他にも、何回ものバージョンアップで多機能化したシステムは「プログラム構造が最大公約数的になり、使い勝手を良くするといった小回りが利かなくなる」「アプリを使うまでの環境設定が複雑になる」「過去のバージョンとの互換性維持のためにプログラムのメンテナンスが難しくなる」など多くの問題が出てきます。

これらの問題は、ソフトウェアのバージョンアップに伴う宿命であると言えます。そして、このことは「パッケージソフトウェア」(汎用的に作られた高機能低価格なソフト)の開発にも当てはまります。

パッケージソフトウェアは、高機能アプリの代表格です。しかも、バージョンアップが繰り返されるという性質があります。以上に述べた理由により、「使いやすいパッケージソフトウェアの開発は、大変難しいものである」ことを理解してください。よほどの開発能力がない限り、使いやすいパッケージソフトウェアの製作は難しいです。

高機能で、かつ使い勝手も良いアプリを作るには

それでは、高機能かつ使い勝手の良いアプリは、どのように開発したら良いでしょうか。その答えは、「アプリ本体の機能は基本的なものだけにして、追加の機能がほしい場合は機能別の小プログラムを組み込んでいく」という方式に転換することです。

このようなアプリを、「プラグイン」や「モジュール」と呼ぶことがあります。ユーザーがアプリを使うときは、アプリ本体に必要な機能のプラグインを追加して(または不要な機能のプラグインを削除して)いきます。

そうすることによって、ユーザーは自分の必要な機能だけをアプリに組み込むことができます。そして、機能を増やしたければプラグインを追加するだけですので、そこでアプリ全体の使い勝手が悪くなることはありません。

このように、アプリのバージョンアップを繰り返すことによってアプリの使い勝手が悪くなる傾向があります。そして、アプリの使い勝手を損なわずに高機能に育てていくには、プラグインの開発が有効です。あなたがアプリを開発する際には、プラグインをぜひ検討してください。