eps_r

不思議の謎を解かねばならぬ

スムーススクロールのWebサイト独自実装をやめろ

これはすごく説明しづらいんですが、ブラウザのホイール回転を勝手にスムーススクロールに置き換えてしまうWebサイトを時折見かけます。はっきりいって右クリック禁止並にダサくてユーザー体験を毀損していて友達に噂とかされると恥ずかしいサイトだと思っているんですが、不満に思う人が少ないのか、あるいは地味で説明しづらい事象なのをいいことに実装しているやからがいい気になっているのか、一向に消滅してくれません。

自衛策

いやだ、いやだと言っていても仕方ないので、ごく簡単なUserScriptをChrome版Tampermonkey向けに書きました。

gist.github.com

環境によってはrawがインストールのリンクになります。

動作としては、

  • なるべく早い段階でwindow.addEventListenerを上書きしてイベントを選り分け、ホイールイベントにメソッドが紐付けられないようにします。このためページ製作者の意図しないホイールスクロールが発生しデザインや動作が崩れることがあります。
  • なるべく遅い段階でhtml要素のoverflowプロパティをautoで上書きします(独自スクロールバーを併用している場合などでは通常のスクロールが無効化されることがあるため)。このためページ製作者の意図しないスクロールバーが出現しデザインや動作が崩れることがあります。

わたしの環境では現時点でコルクのブログで良好に、マンガ図書館Zでまれに失敗する程度の動作をします。これで対応できなかったり不具合の出る例も大量にあるでしょうから、もっといい拡張や参考資料があったら教えてください。

もっといい拡張や参考資料があったら教えてください。(わりと切実なので2回書きました)

余談

ここで言っている独自実装のスムーススクロールとは、特に理由もなくユーザー標準のマウスホイールの動作を殺害し、手前勝手なスクロールの量と速度を押し付ける仕組みのことです。

以下は批判の対象外だと思っています。

今回はこれらの是非は問いません。

勝手なスムーススクロール実装を嫌う理由は上の「手前勝手なスクロールの量と速度を押し付ける」でほとんど説明がつきます。わたしはWindowsChromeのスムーススクロールをオフにしていますが、にも関わらず、無神経なWeb制作者たちはSmoothScroll for websitesのようなプラグインを使ってわざわざ遅いスクロールを強要するわけです。クライアントから「Macみたいになるようにしてよ」とでも言われているのか。

というかスムーススクロール自体を嫌っているわけではありません。この手のスクロールはPageUp/PageDownを置き換えているものも多くありますが、単発で大きく動くこれらのキーとの相性は悪くないと思えるし、あるいはブラウザ/OSなどで操作が一貫していればいいでしょう。私がChromeでオフにしているのは、単にある日突然スムーススクロールの中でもとりわけ出来の悪いものが載って耐えられなかったというだけの話です。

一貫性を欠く、という話でもあります。あるWebサイトではノッチ式(段階的)だったスクロールが、別のWebサイトではヌルヌル動くようになることがあっていいのか? 何のためにユーザーはOSやブラウザの設定でスクロール量と速度を決められるのか? 特に工夫のないホイールの挙動*2なんてものを決めるのはWebサイト制作者ではなくユーザーの方です。つまり、ユーザーのスムーススクロールをノッチスクロールに変えるWebサイトがもし存在すれば、これも同等にクソです。

W3Cアクセシビリティガイドラインでも言われているでしょう。

ガイドライン 3.2 予測可能: ウェブページの表示や挙動を予測可能にすること。

Web Content Accessibility Guidelines (WCAG) 2.0

いや、これは強引でした。

アクセシビリティガイドラインで言っているのは文書構成や入力フォームが主ですので違いますが、まあ考え方は似たようなものです。マウスはユーザーにとってキーボードと並んで主要な入力機器であり、その動作はなるべく予測可能とするのが望ましいでしょう。右クリックやステータスバーを阻害しないことが世間の常識になっていったように、ホイール回転のフックもある程度慎重に扱うべきだと個人的には思っています。ここでダサいということにしておかないとVAP公式サイトにおける右クリック禁止のようにいつまでもバカが変な所で残し続けるかもしれませんし。

大上段からまとめると、勝手スムーススクロールからは「世間の皆が同じマシンを使っていないと分かった上でなお同じ使用感を強要する」というエゴイズムを感じますから、今どきそんなことやめてほしいなあ、という話です。そのように思った発端であり、記事とUserScriptを書く原動力になったコルクのブログコードを紹介して今回は終わりです。

if (navigator.userAgent.indexOf('Mac OS X') == -1) {
    (function() {

        /* ********** 中略 スムーススクロール実現部分など ********** */

        function T(e, t, n) {
            window.addEventListener(e, t, n || false)
        }

        /* ********** 中略 removeEeventListenerなど ********** */

        var P = /chrome/i.test(window.navigator.userAgent);
        var H = "onmousewheel"in document;
        if (H && P) {
            T("mousedown", b);
            T("mousewheel", g);
            T("load", h)
        }
    })();
}

Mac以外のChromeを狙い撃ちしてスムーススクロールを発生させます。さすがに余計なお世話だと思いませんか。

*1:どこに飛ぶか分かりやすくなるので、ページ内リンクに適用する分にはそんなに嫌いじゃない。速度次第

*2:勝手スムーススクロールがもたらすのはユーザーの使用感の変化であって、サイトに必要な機能では一切ありません。必要なギミックであればそれは先に述べているように批判の対象外です

2016年に買ったコンピュータ

個人的にPCやタブレットなんかは1台も買わずに終わる年の方が多いわけですが、今年は珍しく複数買っていたので少し書いておきます。

Surface Pro 4

前に使っていたサブノートEC1400-31Kがいい加減古くなってきて外で使う時にストレスだったので、年初にi7版が出回ってきた頃に買いました。薄い、けっこう軽い、GPUが(オンボードにしては)強い、液晶の発色がいい、キータッチもカバー式にしてはマトモと、高価なだけのことはあってほぼ隙がありません。

しかし低輝度の時にLEDのフリッカー(点滅)症状が頻発し2回も交換対応にしてもらっていて、のっけから とても つらい。交換の度に保護シートを買うのが馬鹿馬鹿しくなり、液晶保護ガラス→液晶保護フィルム→裸と遷移しています。

発売当初はグラフィックドライバと電源周りのファームウェアの出来が非常に悪く、しょっちゅう画面が切れたりバッテリーが無茶苦茶な早さで減ってたりしたのもスリリングでした。2月、5月と段階を踏んだアップデートで改善してきましたが。

電源について、これは致命的ではないものの、ACアダプタのケーブルにマジックテープのようなまとめる仕組みがないのと、ACアダプタのUSB側(給電専用)に2A以上流そうとすると数秒おきに電流のオンオフを繰り返すのは今でもちょっとな。

ACアダプタまわりはともかく、交換してフリッカーの薄い*1個体になりドライバ・ファームも改善されて安定したあとは何もかも自然に使えてしまっているので、先に書いたように高いレベルでまとまったマシンではあると思います。

Fire TV Stick

Fire TV Stick 音声認識リモコン付属(2015年発売モデル)

Fire TV Stick 音声認識リモコン付属(2015年発売モデル)

これコンピュータか。うん うん それもまたコンピュータだね。間もなく日本でも新型が出るとみられているので、購入を検討されているかたは考え直してもいいと思います。

7月頃、「仮面ライダーアマゾンズもあるしAmazonプライムに入り直してビデオでも見るか~」と思っていたら友人が譲ってくれたので、月1~2回帰る実家のテレビに挿してアニメやら映画やら見ています。そのあと気に入ったので別室用に1本買い足しました。

最近のファームウェアだとKodiの導入に面倒がなく、App2Fireで突っ込むだけでアプリケーションランチャーに出て来るのでLAN内のメディア再生にもいい感じです。これでバンダイチャンネルさえ公式に対応していればもっといいんですけどね‥‥。

ハードウェアとしては発熱がかなり酷くて、冬場だろうがヒートシンクを貼り付けようがどうにも熱い。熱いだけならいいんですが稀に動画デコードに影響してピーとかブーとかノイズを発しながら一瞬停止するのには閉口します(交換しても出る)。高速で無線通信して動画を再生するようなマシンをフリスク棒サイズの筐体に収めようとすること自体おそらく無理があるので、Amazon Fire TVの方がいいかもしれません。

GOLE1

Atom x5 Z8300(Cherry Trail)搭載の5インチ液晶付きWindowsマシン。VAIO VGN-U50よりも小さくて、体感的には初代W-ZERO3を少し大きく厚くしたようなサイズです。夏頃にクラウドファンディングで出資募集していた頃は怖くて金を出せなかったのですが、気付いたらGearbestとかAliexpressとかで一般販売されてたので9月末に手に入れました。

一般的なWindowsタブレットの2倍から3倍くらいの厚みがあり、つまり厚みさえあれば5インチ級のフットプリントでも現代的なPCが成立してしまうことがわかります(あと小さいバッテリーを選んだというのもある)。まあスティックPCとかあるしな。その厚さを活かしてHDMIだの有線LAN(100Mbps)だのフルサイズUSBだのと、タブレットやスティックPCではありえないインターフェースを備えているのも特徴です。

用途としては時々「ながら見」的にテレビやら動画やらを流しっぱなしにしているだけです。もうちょっと常時起動サーバ的用途を思いついたら何か仕込んでもいいですね。たとえばVPNサーバでもいいですが、NICが内部USB接続なのでファイル転送なんかにはあまり信用できない感もあります。

余談ですが、いわゆるPCというかIntelアーキテクチャ機はHDMI-CEC*2に本当に特殊な例外を除いて非対応なので、セットトップボックスやAmazon Fire TVのようなメディアプレーヤーを置き換えるのにはそれほど向いていないというのが今のところの持論です。これが例えばRaspberry Piや上記のFire TV StickあたりだとHDMI-CECを備えていて、KodiみたいなメディアプレーヤーがTVのリモコンで使えて便利ですね。

GOLE1の話に戻ると、低価格なりの点として液晶画面*3とタッチパネルの質が明らかに悪くて、これはWindowsが5インチタッチパネルに向いているか向いていないか以前の問題です。うちの個体では画面上端のタッチ感度が劣悪でロクに反応しないので、設定など込み入った操作の際はChromeリモートデスクトップでなんとかしています。というか画面が非常に小さいのでリモートデスクトップはどのみち有用です。

InstantGoからの復帰で高確率でブルースクリーンを出すので、コイツは買い物として失敗か‥‥としばらく思っていましたが、ふと思いついてUEFIからMAX C-StateをC7からC1にしたらウソのように安定しました。去年買って再起動に時々失敗する症状に悩まされていたN3700-ITX機も同じ設定で完治したので、Airmont世代のC7ステートは何かおかしいんじゃないでしょうか。

Chuwi Hi12

Atom x5 Z8300(Cherry Trail)に2160x1440という分不相応な解像度を盛った2in1タブレット。見た目や重量はだいたい初期のiPadで、キーボードドックと合わせてノートPCっぽくできるのが特徴。これは10月末ごろ調達して、無線アダプタを付けて実家に置いています。

選んだ理由は、予算の枠内でFullHD以上の解像度で12インチ以上のコンバーチブルタブレット、かつキックスタンド型ではないものでストレージは64GB以上、という条件を満たすのがこれくらいしかなかったので。

先の通りAtomに2160x1440液晶という組み合わせなせいかブラウザのスクロールですらカクつく有様ですが、液晶画面の質はiPadあたりと同規格なのか妙に良いので、重量に目を瞑れば電子書籍も読めます。デュアルブートAndroid側にするとKindleを全画面で使えて快適(有効ストレージは小さいが‥‥)。

個人的にAirmont(BraswellやCherry Tail)機の電源制御でハズレを引きまくる中、Hi12は標準設定でもちゃんとスリープや再起動をしてくれていて、これはありがたい。ありがたいというか、それくらいは当然であるべきなんですが‥‥。

別売りの専用キーボードドックはあまり良くなくて、重い(本体との重量比的に仕方ない)、触感がショボい、タッチパッドのセンサがノイズを拾いまくる、画面角度を変えると接続が一瞬切れる、あたりが厳しく、まあキーボードスタンドと割り切って無線マウスを使うし、据え置きにするならフルサイズのキーボードとマウスを調達してもいいと思います。

VersaPro PC-VK12CSKE56FK

あきばお~で投げ売りされ話題になってた、Core M-5Y71(Broadwell)搭載、スタイラスペンも標準添付されているFullHD 11.6インチタブレット。これも実家のIT化用に11月に買いました。

さすがにNEC(またはLenovo)の名前でそこそこ高額で売ってたマシンは違うなー、あんまり困らないなーと思いながら触っていました。そこそこの液晶に正常なタッチ感度というだけで良くて、正直あまり長く触ってないです。

同形機というかOEM元のThinkPad Helix向けにチルト機構のないデタッチャブルキーボード(ThinkPad Helix ウルトラブック キーボード)がオプションにあって*4、Chuwi Hi12と違ってチルトしないおかげで比較的安定感があります。ただ、個体差のせいかHomeキーが効かないので、予備を調達すべきか迷っているところ。スタンドとフルサイズキーボードでもいいし、そっちのほうが安いですね。

GPD WIN

3DS LLサイズの筐体に5.5インチディスプレイとQWERTYキーボードとゲームパッドを載せたクラムシェル端末。またindiegogoか。はい。これは前に書いた通り出資しており、10月末頃に出荷が開始され12月に届きました。

まずは半信半疑で投げた$330が本当に能書き通りの品になってやってきたという驚きがあります。1ヶ月ちょっとの遅延なんて誤差みたいなもんです、注文順も結構あとの方だったし。

ウルトラモバイルやモバイルインターネットデバイスのようなものは過去にもありましたが、ポインティングデバイスゲームパッドを積極的に兼用させてゲーム機と言い張るデザインは見たことがありません(NVIDIA SHIELD、あれはまたちょっと違う)。1週間ちょっと触っていて思いましたがやはり、サイズなりの無理は出てきます。

まあ、能書きにある点は能書き通りでした。その上でこうあってほしかった点や事前に分からなかった点など気付くところは多いので、これはまた今度別枠で書きます。

*1:皆無ではないがもう諦めた感がある

*2:HDMI機器の電源がモニタ側と連動したり、TVリモコンの操作をHDMI経由で外部機器にスルーしたりできる機能。レグザリンクなどメーカーによって呼称が異なる

*3:パネルよりも表面がやばい、アクリルっぽい

*4:チルトするやつは5万くらいする

仮面ライダー1号 (2016年) 雑感

こないだの3月後半あたりから4月にかけて公開されていた映画の話です。

当時のTVシリーズの主人公である天空寺タケル=仮面ライダーゴーストを「現代の軟弱な若者」サイドに置いて頑固な老人と対面させるという枠組みは、ともすれば老害を不当に持ち上げる不快な映像にも成り得ますし、今回の映画がそうでないとは言い切れません。しかし、なにぶんここで言う老人とは仮面ライダー1号こと本郷猛なので、弘の言うことなら仕方がないという納得が優先してしまうのも事実です*1

本郷猛が主役となっているこの映画で、我われ(1名)は序盤から「この黒く険しい顔の老人は一瞬のちに何か突拍子もないことを言ってしまうのではないか」という謎の緊張感に支配されます。そして、学生相手に本当に突拍子もなく生命の無情さとそれ故の大切さを説いては笑われる本郷猛のあたりから猛と弘の境界は曖昧になり、猛お手製のコーヒーが登場するに至って猛=弘であるという確信に至ります。本郷猛は長い戦いの中で藤岡弘、のように成長し、自然と生命とコーヒーを愛するよくわからんカッコよさを身につけたわけです。

仮面ライダー」からの四十年余の空白を、せがた三四郎以降の和製チャック・ノリスみたいになった「藤岡弘、」のパブリックイメージで埋めた、とも言えます。

物語としてはその藤岡弘のような人生を送ってきたことになった本郷猛が老境に至り、何のために生きて何を残すのかが描かれるわけですが、「春のライダー映画」のご多分に漏れず話の筋はちょっと強引です。これを成立させられるかどうかは本郷猛のキャラクター如何にかかっており、やはり、弘に牽引される感覚に乗れるか乗れないかで評価が分かれるのかなと思っています。

わたしの中にも「すごく面白かったけど、これで良かったのかなあ、他にやりようは無かったのかなあ」と困惑する気持ちがある一方で、「ひろしが画面に映っているだけで面白いと思って映画を見に行ったら、本当にひろしが画面に映ってるだけで面白い映画が出てきたんだ。何も問題ないじゃないか」という面もあります。いずれにせよ例年のライダー共演映画とは趣の異なる、記念作品らしいものではないでしょうか。

*1:「弘」は誤字ではありません。