Hace casi 3 años ya de Simulador de Casio W-59 en Flash, llevaba un año o así dándole vueltas a programar un simulador, que además incluyera la funcionalidad del reloj.

Me puse manos a la obra, y tras cuatro días de trabajo, y más de 1000 lineas de código, finalmente os puedo presentar Simulador de Casio F-91W en HTML. Además de cambiar el modelo de reloj de un W-59 a un F-91W-1YEF, que no obstante comparten el módulo 593, incluye bastantes novedades en base a mi experiencia anterior.

Obviamente, y al dominar mucho más la plataforma, hay algunos refinamientos muy interesantes, como el uso de requestAnimationFrame en el caso de estar disponible, efectos CSS, manejo de eventos independientemente del navegador (tanto para dispositivos táctiles, como de escritorio o versiones antiguas de Internet Explorer), etc.

Lo que más me gusta es su concepción, muy basada en datos, que me permitiría tomarla como base para otras simulaciones de relojes digitales Casio.

Al mismo tiempo soy consciente de algunas carencias al respecto de la simulación. Por ejemplo:
– Los parpadeos en modo de ajuste, no tienen la frecuencia correcta en navegadores que no soportan requestAnimationFrame.
– La alarma, una vez empieza a sonar no se puede cancelar manualmente.
– El ajuste de fecha no es 100% fiel al modelo original, donde se pedía antes del día del mes, el mes.
– Los indicadores de PM y 24H, son tipográficos en vez de bitmaps, por lo que no son exactamente iguales.
– La tipografía usada, no es exactamente como la de Casio. Por ejemplo los 1 están alineados al centro en vez de a la derecha.

Otras cosas, se me han quedado en el tintero, y espero poderlas añadir pronto:
– Poder guardar el estado en cookie, y restaurar nuestras configuraciones de alarma, 24h, … cada vez que se cargue.
– Sincronizarlo desde un servidor público de tiempo.
– Optimizar los estilos CSS, y pegarle una limpiecilla al código.

Lo tenéis disponible gratuitamente en nikkhokkho.sourceforge.net/images/casio_f-91w_simulator/, y sea para probarlo, enlazarlo, o incrustarlo en vuestras páginas.

Incrustarlo es tan sencillo como agregar el siguiente código:

<iframe width="360" height="640" frameborder="0" scrolling="no" src="http://nikkhokkho.sourceforge.net/images/casio_f-91w_simulator"></iframe>