HTML5 Vibration API

Desde que los dispositivos móviles nos han invadido, los desarrolladores nos hemos tenido que adaptar a las nuevas necesidades e inquietudes de los usuarios de nuestros servicios.

Muchos han optado por desarrollar directamente en el SDK correspondiente a cada plataforma, Android, iOS, Windows Phone. Otros han optado por desarrollar completamente en la web, ya tenían una infraestructura montada y la han adaptado, mejor o peor, a los nuevos dispositivos.

Yo, como aprendí hace unos años en mi querida facultad y como suele ocurrir generalmente en informática, soy de la opinión que la solución intermedia o la combinación de ambas es lo más efectivo.

Si pensamos que todos los dispositivos ya llevan un navegador web, ¿por qué tengo que migrar todo mi desarrollo a un SDK concreto?.

Muchos me dirían que de forma nativa puedes explotar todo el potencial del terminal. Pero también es cierto, que yo podría tener mi desarrollo web tal y como lo tengo, adaptarlo a un dispositivo más pequeño y a través de mi navegador utilizar las funciones del dispositivo donde se esté ejecutando.

Si echamos un vistazo a las nuevas funciones que van implementando los navegadores, podemos prever que por ahí va a andar el juego.

Yo utilizo un aplicación nativa que cargue mi web, o directamente el navegador del cliente para acceder a mi servicio online, perfectamente adaptado a dispositivos móviles. A través del navegador del cliente puedo aprovechar todas las funciones del navegador.

Este es el caso que me gustaría comentar hoy. HTML5 ya dispone de un API que nos permite hacer vibrar el dispositivo cliente desde nuestras aplicaciones web.

Detectar si el navegador soporta vibración

Con una sencilla instrucción condicional podemos saber si el navegador cliente soporta o no esta nueva función.

codigo1

Uso básico

Para generar una vibración del dispositivo desde nuestro sistema web pasaremos el número de milisegundos que queremos que se produzca a la vibrate.

codigo2

A este método también le podemos pasar una lista de valores para establecer una vibración, una pausa y otra vibración.

codigo3

Estas listas comienzan en 0. Los números pares definen las vibraciones y los impares las pausas.

NOTA: Este código es no bloqueante por lo que podrás seguir ejecutando código JavaScript mientras vibra el dispositivo.

Conclusión

Esto puede ser una herramienta muy útil para que nuestras aplicaciones web se adapten y lleguen a los usuarios en sus dispositivos móviles sin necesidad de reescribir nuestro sistema de forma nativa, pero como todo se debe hacer buen uso de estas funciones.

Se me ocurre que podríamos utilizar la vibración como forma de alertar ante algún evento importante, por ejemplo, si el usuario va a eliminar algún dato que no podrá volver recuperar o similar.

La vibración del dispositivo consume batería y si nuestra aplicación está vibrando constantemente llegará un momento que el usuario no hará ni caso, es más cuando por utilizar nuestro servicio su batería se agote en menos de una hora, con total seguridad nunca más volverá y no hablará nada bien de nosotros.

Haced buen uso de esta nueva Vibration API y divertíos jugando con ella.

………

Referencias:

http://www.w3.org/TR/vibration/

http://www.sitepoint.com/use-html5-vibration-api/?utm_source=html5weekly&utm_medium=email

http://caniuse.com/#cats=HTML5