2018年11月02日に初出の投稿

Last modified: 2018-11-02

添付画像

毎日のごとく起きている事により、長年の間に渡ってストレスが蓄積すれば大きな不満になる場合もある。弱いストレスのまま、すぐに解消してしまうか、少なくとも生理的な変異が蓄積せずに忘れてしまえるならともかく、そういうわけにもいかない場合もある。そして、それは画一的に誰にでも起きるとは限らず、僕だけがストレスを貯め込むのかもしれないし、他の人なら全く何も苦慮しないか、あるいは僕よりも更に強いストレスを抱えている可能性もある。

その一例として、既に一度はここに書いたかもしれないが、ここ5年ほどの間に起きた「偽の揺り戻し」(あるいは偽のトレードオフ)に扇動された人々がユーザインターフェイスを JavaScript だけで実装するようになり、それどころか昔なら代替手段を用意するのがプロダクトデザイナーの常識だったものが、いまやデザイナーは Photoshop でビジュアルデザインを提供するだけの「絵描き」に分業化(あるいは一種の「後退」)し、コーダと呼ばれる設計思想の欠如したブルーカラーどもがユーザインターフェイスを実装するようになった。これにより、後方互換性のないページ要素によるユーザの切り捨て(しかし彼らはアクセス解析にも JavaScript に依存する GA などしか使わないので、切り捨てたユーザが存在しているということ自体を理解できないし、恐らくはマーケティングの素人ゆえに想像もできない)が頻繁に発生したり、まだブラウザごとにたくさんあるバグやスタイルシートのサポート状況などから生じる UX の低下も起きている。そして、恐らくは、僕だけではなく多くの人が、ウェブのデザインや開発の技巧がどれほど「進展」したと言われても、逆に「ウェブサイトは使いにくい」、「ウェブサイトは反応が遅い」、「ウェブサイトは挙動が信用できない」という不満を日増しに蓄積しているように思う。というか、少なくとも僕はそうだ。

そして、実は「UX」などという言葉が叫ばれた頃から、逆にウェブサイトやウェブページの UX 設計や実装はレベルが低下していると思う。たぶん、こういう流行語が叫ばれるようになると、得てして既存の利害関係において発言力だけはあっても限られた知見しかない人々が「専門家」を自称し、我々が考慮したり取り組むべき観点や注意点を矮小化してしまうからなのだろう。つまり、10年や20年も研鑽や経験を積んだわけではない人間が、急に或る分野の専門家を自称してものを書くというのは、その大半において当人の思い上がりの結果であると見做してよい。そして、このウェブサイトのデザインや開発に関わる話題というものは、業界そのものが20年ていどの歴史しかないため、3年や5年ていどの経験しかなくても、デザインや開発やマーケティングに関して流行のサービスや開発言語を知っていて扱えるというだけの人々が、表面的には専門家を自称して好き勝手なことを書いているのが実情である。

古来、学問でも宗教でも言われてきたように、良い師に学ぶことも研鑽を積むために大切である。もちろん師がいないからといって学べないわけでもないし、師のいない人が何事も為しえないわけでもないが、少なくとも凡人がバカに学んでいては、ロクな結果を生み出せないのは確実である。

*  *  *

さて話が大きくなってしまったが、冒頭の画像をご覧いただくと、これは僕自身が自分のブラウザで表示するスタート画面(もともと「ホームページ」と言われていたもの)の一部で実装している、英数文字だけで組み合わせられたパスワードを生成するツールのボタンだ。もちろん、誤解されると困るのだが、僕は JavaScript を20年くらいはプライベートなり業務で書いてきた経験があり、JavaScript を実装しているブラウザは仕事の大切なプラットフォームである。言語あるいはブラウザの機能として JavaScript が不要だなどと言ったことは一度もない。僕が日頃から JavaScript「で実装された」UI や SPA などを非難しているのは、単に設計・実装している連中がバカで無知無能だからだ。バカがアプリケーションを設計し、無能が実装すれば、使っている言語やフレームワークが Vue.js だろうと Node.js だろうと Rust だろうと Objective-C だろうとクズみたいなものができあがるのは当然である。

そして、このところ目に余るクズ実装が、こういうボタン一つに縮約して考えてもいいほど緻密なパフォーマンス設計の能力が欠如した人々の UI 要素やウェブページだ。JavaScript のような高級言語の開発者は「富豪プログラミング」などと言ったものだが、要するにメモリや GC といった基礎的なコンピュータの仕組みや仕様を知らない、コーディングとかプログラミングに関わるイベント屋とか学習系のベンチャーに騙されたまま IT 企業のブルーカラーになったサルどもが、サルなりの愚かな試行錯誤を繰り返して実装しているのが、現在のオンラインサービスの UI や SPA であると言っていい。

ともかく、こんなボタン一つですら、最近のオンラインサービスのサイトでは、何度かクリックし直さないとイベントハンドラが発火しないというケースが異様に増えている。JavaScript で実装された UI では、ブラウザがユーザの挙動を待機している状態にあり、これをイベントハンドラの "listen" などと言っている。ユーザがブラウザに何を指示するかを、聞き耳を立てて待っているイメージだ。そして、ボタンをマウスオーバーするとか、クリックするとか、ウィンドウのサイズを変えるとか、そういったブラウザ上で起きる色々な変化に対応して、ブラウザが対応できる種類としてあらかじめ決められているような変化が起きると、それを "listen" しているブラウザの JavaScript エンジンに、DOM と呼ばれる構造で決まっている場所と、起きた変化がメッセージとして伝わる。それを、脳神経科学などで何らかの原因により活動電位が変化する様を表現した用語に見立てて "fire"(発火する)と呼んでいる。パソコン教室のようなレベルの話はともかくとして、ここ最近はページのコンテンツを表示するのも何らかのイベントハンドラの発火として実装されているらしく、ページにアクセスしてもコンテンツが表示されるまでに10秒以上も待たされることが多くなった。

これは、ページを制作している当事者でも理解している人がいるようだ。一例として、GMO 系列のペパボが営んでいる「ムームードメイン」というドメインサービスのサイトは、2018年の夏にリニューアルされるまで、暫くそういうページだった。現在はアクセスするとページがすぐに表示されるようになったが、リニューアルされるまでは、サイトへアクセスしても10秒以上も待たされて、コンテンツが一斉に表示されるという状態だったのである。いくら僕のマシンが12年前のパソコンとは言え、ギガビットの通信で Core i7 のマシンがページを表示するのに、これだけ時間とマシンパワーを使うのは異常と言っていい。ムームードメインの利用者は非力なパソコンを使うエントリーユーザが大半なのだから、恐らく多くの利用者はこんなサイトのパフォーマンスに困惑したことだろう。

会社が上場すると、恐らく社内では太い専用線が引かれて、デザイナーやコーダには1台で30万円くらいするような業務マシンが配備されているのだろう(得てして上場した会社は、給与を大幅に引き上げる代わりにそういうことをするものだ)。すると、マーケティングの担当者ですら自社のユーザがどういう環境でサービスを使っているのか気にもとめなくなる。この手のオンラインだけで商取引が完結するサービスでは、頻繁に起きている問題だ。そして、マーケティングやデザインの部署に、元上場企業や元大企業の(通信や制作に無知な人間は言うまでもないが)人が加わると、もう最初から一般の利用者が何をどう考えてコンピュータやスマートフォンに接しているのか、まるで分からない人たちがサービスや UI を設計したり決裁することになる。この連中が他の会社に飛び移るていどの年数は、それでも会社は維持できてしまうのだが、後に残されたサービスは品質の低下が止められなくなる悪循環に陥り、やがては教科書通りのイノベーターの逆説という経緯をたどって、後発の企業に追い抜かれるか自壊するというのが凡庸な経営の末路である。いたずらに利用者をそのような愚行に巻き込むのは困るからこそ、経営者にはガバナンスなりコンピーテンシーなりコンプライアンスなりといったステークホルダーからの牽制材料があるわけだが、そんなものを真剣に「なぜ経営陣は牽制されるのか」と考える人など殆どいまい。

ふたたび話が大きくなったが、要するにボタンの実装一つを取り上げるだけでも、会社の経営方針や経営陣の資質というものが影響を強く及ぼしている可能性もあるのだ。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook