振動API:誰がそれを必要とし、なぜですか?

2月10日、World Wide Web Consortiumは、振動を制御するためのAPIを記述する標準が推奨ステータスを取得したことを発表しました。 ブラウザーをデバイス自体で強制的に振動させる機能はしばらくの間利用可能になりましたが、ようやく推奨仕様によって最終的にフレーム化されたので、それを毎日どのように使用できるかを考える時が来ました。 ただし、すでに最初の段階で、標準の作成者は、APIは単純な触覚フィードバックが必要な場合に特化して設計されており、ユーザーに通知する一般的なメカニズムとして使用することを意図していないことを警告しています。 通知には、通知APIを使用することをお勧めします。



ニュアンスがすべて揃った公式仕様に参加したい人は、W3CのWebサイトでそれを行うことができますが、ここでは、これらすべての使用方法を簡単に確認し、ドキュメントに開示されていないいくつかのポイントを強調します。



当然のことながら、デスクトップコンピューター、ラップトップ、さらにはタブレットだけでも、必要に応じて振動することはできません。 また、システムユニットがガタガタして洗濯機のように部屋を動き回ったとしても、ユーザーはそれを評価しなかった可能性が高いため、後悔する価値はほとんどありません。 このようなデバイスの断片化の存在、および多くのブラウザーの一般的な利用不能性を考慮すると、振動制御がサポートされているかどうかを確認することから始めるのは理にかなっています。これは仕様にありません。 ただし、ナビゲーターにvibrate()メソッドがあるかどうかを確認するだけです。



if ("vibrate" in navigator) { //  }
      
      







振動自体は、navigator.vibrateにミリ秒単位の持続時間を送信することで設定されます。



 navigator.vibrate(1000);
      
      







ただし、すべてがそれほど退屈ではなく、配列全体を送信することができます。その値は、振動信号の持続時間とそれらの間の休止のシーケンスになります。



 navigator.vibrate([1000, 500, 1000]);
      
      







ここでは、配列の偶数要素が振動信号の持続時間を決定し、奇数要素がそれらの間の休止時間を決定します(配列の要素のカウントはゼロから始まり、従来は偶数と考えられていました)。 つまり、上記のコードは、デバイスを最初に1秒間振動させ、次に0.5秒間待ってから再び1秒間振動させます。 2秒半ですべてが終了します。つまり、スクリプトによってプロセスを手動でループする必要があります。



バイブレーションプロセスはブロックされていません。つまり、デバイスが振動している間もコードは実行され続けます。



バイブレーションを停止する場合は、値0を渡す必要があります。



 navigator.vibrate(0);
      
      







または、それが好きな場合:



 navigator.vibrate([]);
      
      







ゼロ値送信は、以前に開始されたすべての振動をすぐにキャンセルします。



基本的に、これがWebページの振動を制御するAPIについて言えることのすべてです。 そして今、ブレインストーミングを行い、これをすべて使用できる理由について一緒に考えるという提案があります。 手始めに、次のアイデアがあります。







そして今、正直に言うと、誰が、そして何がVibration APIの潜在的な能力を引っ掛けたのでしょうか?



All Articles