HTML5 Showcase: Apple nos está jugando sucio

HTML5 Showcase HTML5 Showcase: Apple nos está jugando sucio

A principios de esta semana Apple develo una página (HTML5 Showcase) en la cual, supuestamente, hacen una demostración utilizando varios ejemplos, siete en total, de todas las características y posibilidades que tiene HTML5 en el futuro desarrollo de aplicaciones web.

No me opongo a esto, al contrario, lo aplaudo, pero fue hasta darme cuenta que Apple está jugando un poco sucio que no me pareció la supuesta demostración.

Los demos funcionan… solamente en Safari

Si ustedes tratan de visualizar los demos en cualquier navegador que no sea Safari se encontraran con un pequeño mensaje que reproduzco a continuación:

Safari HTML5 Showcase: Apple nos está jugando sucio

Según Apple, es necesario que utilicemos Safari única y exclusivamente para poder visualizar los demos.  Y supuestamente es el único navegador, según ellos, que es capaz de visualizar las demostraciones. Por lo cual surge la siguiente observación: Si se supone que Apple está usando código 100% estándar entonces cualquier otro navegador que soporte los mismos estándares debería poder desplegar las demostraciones.

¿Por qué Apple llega a tal grado de utilizar un Javascript para detectar el navegador utilizado y así poder mostrarnos esa hermosa leyenda pidiéndonos que usemos Safari?

Probemos con Google Chrome

Técnicamente Google Chrome y Safari son la misma bestia. Ambos utilizan Webkit como motor con la única diferencia que Chrome es actualizado más rápido, es multi-plataforma, mucho más liviano, y en mi opinión, mejor que Safari.

Primeramente debemos de saltarnos el browser sniffer que Apple utiliza y esto lo podemos hacer de varias formas: Bloqueando la ejecución de Javascript o cambiando el user agent de Chrome.

Si bloqueamos Javascript es posible acceder a los demos pero nos encontramos con otro mensaje en cada uno de los demos: Es necesario tener Javascript activado para la ejecución de los demos. Extraño, ¿no se supone que era puro HTML5?

Cambiemos el user agent de Chrome entonces. Para hacer esto basta con crear un acceso directo a Google Chrome y añadir lo siguiente: –user-agent=”Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_2; en-us) AppleWebKit/531.21.8 (KHTML, like Gecko) Version/4.0.4 Safari/531.21.10″.

No era de sorprenderse que cada uno de los demos, con excepción de uno, funcionara a la perfección en Google Chrome. El demo de VR no es funcional debido a que utiliza CSS 3D Transforms, las cuales no están implementadas, aun, en Google Chrome.

Algo curioso es que el demo de video requiere forzosamente la utilización de quicktime; de no contar con quicktime el video no será reproducido, pero las opciones de Scale y Mask serán funcionales. A menos que me equivoque los archivos mov no se encuentran entre los formatos oficialmente soportados por la etiqueta de <video>, ¿o si?

Usan extensiones propietarias

Es normal que los desarrolladores de navegadores añadan algo denominado vendor prefix, que no es más que un prefijo específico para cada navegador que se antepone a algunas propiedades en CSS. Estos prefijos se utilizan normalmente cuando la propiedad aún se encuentra en pruebas o no está finalizada; el soporte está ahí pero no se ha implementado, por lo menos no de la manera propia.

Es así como tenemos -moz, para Mozilla, -o, para Opera y -webkit, para Safari y Chrome. Por ejemplo, la propiedad de border-radius, si queremos asegurarnos que funcione en Mozilla, Opera y Chrome, deberíamos de añadirla por lo menos cuatro veces: border-radius, -moz- border-radius, -o- border-radius y -webkit- border-radius.

Resulta que a Apple poco le ha importado utilizar la propiedad sin el prefijo y únicamente ha utilizado las propiedades con el prefijo propietario pertinente a webkit (-webkit). Es decir, si los otros navegadores soportan o no la propiedad, no lo han añadido, y mucho menos han añadido las propiedades con prefijos propietarios de otros navegadores.

Esto no es más que una campaña de adopción de Safari

El objetivo de este showcase es claro: limitar el uso de otros navegadores al hacerlos quedar mal en los demos de HTML5 y mostrar la supuesta superioridad de Safari; así mismo al fomentar el uso de Safari como el único navegador capaz de mostrar los demos trataran de incrementar su cuota de mercado.

El uso de estándares asegura que el contenido podrá ser visualizado por cualquier navegador, en cualquier plataforma, siempre y cuando el navegador soporte dichos estándares. No hay razón por la cual nosotros como desarrolladores debamos de utilizar browser sniffers y extensiones propietarias y limitar las opciones de nuestra audiencia.

Y curiosamente los chicos de Opera y los de OSNews se están haciendo las mismas preguntas que yo.

Si en verdad quieren ver demostraciones de HTML5 que funcionan y son mucho más impresionantes que cualquier cosa que Apple pueda mostrar hasta ahora los invito a visitar CanvasDemos.

Gracias Apple, pero seguiré usando Firefox y Chrome.

Social Media

Logit42, Rapidamente...

Para saber de qué trata este blog basta con dar un vistazo por la página principal o visitar alguna de las entradas al azar seleccionadas de nuestros archivos. También es posible seguirnos vía RSS, Twitter o Facebook.

Más: Acerca de Logit42Ale en TwitterFer en TwitterPeredo en Twitter