ENGINEER BLOGPhone Appliのエンジニアブログ

アプリ設計者が読むべき良書「オブジェクト指向UIデザイン──使いやすいソフトウェアの原理」の感想

2020年7月15日

こんにちは。株式会社Phone Appliのプロダクトデベロップメント部でフロントエンドの開発を担当しています、くりきと申します。
最近、UIやUXについて考える機会が増えたので少し勉強しようと思い「オブジェクト指向UIデザイン──使いやすいソフトウェアの原理」という書籍を買いました。一通り読みましたが、まだ難しくて全てを理解できてはおりません(笑)

しかしながら、全てのアプリケーション開発関係者に必読の内容だと思ったので、今回感想を書くことにしました。タイトルに「デザイン」とありますが、グラフィカルな意味ではなくシステム設計におけるデザインについての内容になっております。
デザイナーやエンジニアはもちろんのこと、設計に関わる方からユーザーまで、全ての業務系アプリケーションに関わる人が読んで損はないのでぜひとも読んでいただきたいです。

目次

1.大まかな書籍の内容
2.オブジェクト指向UIとタスク指向UI
3.実践ページが豊富
4.GUIの歴史
5.最後に


1.大まかな書籍の内容

ざっくりとこんなかんじです。
1.オブジェクト指向UIとはなにか
2.オブジェクト指向UIの設計方法
3.実践
4.GUIの哲学


2.オブジェクト指向UIとタスク指向UI

書籍内では、タイトルにある通り「オブジェクト指向UI」と、対になる「タスク指向UI」というものが出てきます。
オブジェクト指向と聞くとエンジニアの方はプログラミング言語を思い浮かべるかもしれませんが、この書籍内では主にGUIのことを指しています。たとえば「コーヒー」というオブジェクトがあり、それに対してユーザーがお金を出して購入する、というタスクを行います。コーヒーという「オブジェクト」をメインにユーザーの行動を設計するのがオブジェクト指向UIと定義されています。

対してタスク指向UIというのはタスクを主にして設計されているUIのことを指します。たとえばCLI(エンジニアの方がよく使っている、黒い画面に文字だけ出ているアレ)のようなものです。CLIでは最初に「コピーする」というタスクを指定してから対象のファイルを選択して命令を実行します。CLIは単純なタスクを連続して実行するのに向いていますが、複雑なオブジェクトを操作するような処理をするのは難しいです。

scan-001.jpg

著者は、世の中にはGUIであるにも関わらずタスク指向UIで作られているシステムが多いと指摘しています。

この、著者が出会った「タスク指向UIのシステム」の例が面白く、自動販売機から牛丼屋の券売機まで、身近な「ダメUI」の例が挙げられています。さらに、現代のシステム(主に業務用)がいかにタスク指向UIで作られているか、ということも書かれています。なぜ業務系アプリケーションはタスク指向UIになりがちなのか。それは、設計者がまずユーザーが期待するタスクをヒアリングし、それを実現する機能を詰め込むために出来上がるものだそうなのです。
これを読んで、私が以前所属していた会社で受託開発をしていたシステムはタスク指向UIのものが多かったということを思い出しました。当時テスト仕様書を作りながら漠然と思っていた「なんか使いづらい」の原因はこれだったのかと思いました。

3.実践ページが豊富

前半は「オブジェクト指向UIとはなにか」「どうやって設計すればオブジェクト指向になるのか」などの内容ですが、後半では実際にシンプルなアプリケーションをオブジェクト指向で設計する実践ページがあります。

Webからスマホアプリまで、かなりサンプルが豊富です。シンプルな一覧画面と詳細画面を持つものから、複雑なデータベースを表示する業務用アプリケーションまで様々なサンプルがありますので、設計者はもちろんのこと、Web系スマホ系どちらのエンジニアの方にも参考になると思います。また、エンジニア以外の方でも、普段お使いのアプリケーションがどのような設計思想で作られているのかというのがわかるので読んでみると面白い発見があるかもしれません。

4.GUIの歴史

最後の方には、コンピュータが作られGUIというものが誕生してから現代のUIになるまでの歴史が書かれています。
先人たちの創意工夫によって、今のスマートフォンのように使いやすいシステムが作られていることがわかります。
初期のコンピュータはタスク指向でしたが、これは機械というものがそもそもタスクを行うことを目的として作られていたからです。そこからコンピュータが進歩し、グラフィカルなUIが誕生し、オブジェクト指向UIになって我々はよりクリエイティブな活動を行えるようになりました。

この章では私が生まれる前の時代のUIが多く紹介されています。今では考えられないような不便そうなUIですが、当時は革新的だったのでしょう。そういった歴史に思いを馳せつつ、より良いシステムを作るために工夫していきたいなと思いました。

5.最後に

今までたくさんのシステム設計に関わってきた方の中には、自分の中でやり方が確立されているというパターンもあることでしょう。
しかし、新しいやり方を取り入れるのもまた、より良いシステムづくりのために必要であると、この書籍を読んで思いました。
今お使いのシステムが、意図してその設計になっているのか、はたまたユーザーから要求されたタスクをただ並べただけなのか、我々は再考する必要があると思います。

繰り返しになりますが、デザイナーとエンジニアはもちろんのこと、システムの設計に関わりのある全ての方にぜひとも読んでいただきたい内容でしたので、今回こうして感想を記事にさせていただきました。
書籍のURLを貼っておきます。Kindle版もあります。
オブジェクト指向UIデザイン──使いやすいソフトウェアの原理

全ての技術書がそうですが、値段が少々お高めなので「買うほどでもないかな...」と思っているかたは著者のブログでも書籍と同じ内容が書いてありますので、そちらを読んでから購入を検討していただいてもいいかもしれません。下記にブログのリンクを張っておきます。
OOUI - オブジェクトベースのUIモデリング