最近RAKUDO社内では、オブジェクト指向UIの話題で持ちきりです。
その理由を3DCGデザインとUIデザインを担当している瀧川が、シニアプログラマーの田中に質問しました。
瀧川「最近田中さんはことあるごとにオブジェクト指向UIと唱えてますね」
田中「最近ってわけでもないんだけど、RAKUDOの仕事って以前から単なるWebアプリやモバイルアプリに収まらないプロジェクトが多いじゃないですか。google glassとかHoloLensとかOculus QuestとかM5StackによるIoTとか、聞いたこともないようなデバイスとか。デザインしててどう?」
瀧川「面白いけど大変ですね。実際に使ってみないとどんなUIをデザインすればいいかわからないですけど、デバイスが一つしかなくて触れる機会が少なかったり、そもそもプロジェクトの途中まで本物にさわれなかったり」
田中「大変だよね。最近はWebページでも相当リッチなデザインが求められるから僕らもそれを学ばなきゃいけなかったんだけど、スマートグラスやスマートウォッチなんて本当に画面が小さくて、どれだけUIをシンプルにするかって逆なことを考えなくちゃいけない。M5Stackなんて大昔のラインエディタの時代に逆戻りだ。でもって、それらが連携して動くシステムを考えなくちゃいけない。さっきまでHoloLensのリッチなUIを使ってた人が今度はgoogle glassのシンプルなUIを使い始めて、それらに一貫性がなくちゃいけない。なかなかの難問だよね」
瀧川「それがオブジェクト指向UIに繋がるんですか?」
田中「オブジェクト指向UIって言うよりUI/UXの基本だよね。ちょっと前に出た『オブジェクト指向UI入門』を読むと「モードをなくすべき」「コマンドの選択は名詞→動詞の順番」とあるけど、実はアップルに関わったドナルド・ノーマンやジェフ・ラスキンの本とか、VBを作ったアラン・クーパーの本とか読むと、20年以上前からずっと同じことを言ってるんですよね。それに”オブジェクト指向UI”と名前をつけたら急に流行り出した気がするから不思議だよね。プログラミングでも良い名付けは重要だけど」
瀧川「オブジェクト指向UIは、操作を選んでから操作対象を選ぶタスク志向より、操作対象を選んでから操作を選ぶオブジェクト指向の方がUIがシンプルになる、と言う考え方ですね。またそれによって、場合によって同じ操作が違う意味を持ってしまうと言う『モード』が減らせると」
田中「ウェアラブルな端末のUIを考えるためにもシンプルなUIが作れるのは重要だよね。またそれだけじゃなく、HoloLensやOculusみたいなXRデバイスのためのUIも基本はシンプルにしなくちゃいけないはず。なんせ周囲の世界を全てUIにしちゃうわけだから、変なモードを作られたら大変だよ」
瀧川「今がどんなモードかを意識していないと、自分の周りの存在をどう触っていいかわからなくなってしまうわけですね」
田中「モードに反対する人たちは『現実世界にモードなんてない』って言ってたわけだけど、XRを使うといわば現実世界にモードを持ち込めちゃうわけだよね。自分の周囲にどう触っていいかわからないものがたくさん浮いているのは多分悪夢だよ」
瀧川「XRのUIはまだまだ世界的に模索段階ですよね」
田中「さっきあげた名前の人たちはみんなGUIの初期に関わった人たちだ。まだGUIについての考え方がまとまっていなかったから真面目に考えるしかなかったわけだ」
瀧川「その人たちの考え方がまた注目されてる、と言うわけですね」
田中「理想的には真面目に考えた結果がUIの方法論や実際のUIに結晶化されてればよかったんだろうけど、実際に起こったことはみんなGUIについて慣れちゃったからあんまり真面目に考えなくなっちゃったんだよね。でも、今はウェアラブル端末みたいなシンプルなUIや、XRみたいな自分を包み込む超リッチなUIが登場してきて、僕らはまだそれらに全然慣れてない」
瀧川「だから真面目に考えなくちゃいけない、と」
田中「今度はちゃんと真面目に考えた結果を結晶化させられたらいいな。RAKUDOは真面目に考えなくちゃいけない面白い問題がたくさん転がり込んでくる場所だから、面白い問題が好きな人たちにたくさんきて欲しいです。オープンソース開発者として有名なエリック・レイモンドの好きな言葉があるんだけど」
瀧川「なんですか?」
田中「正しい態度で生きてれば、面白い問題は向こうからやってくる」
瀧川「いい言葉ですね」
田中「でしょでしょ」