Pensando el futuro de firefox OS para los desarrolladores de aplicaciones


(William Cabrera) #1

Mucho se ha escrito en diferentes sitios internet sobre el futuro de FFOS luego del anuncio de cambio de ruta para el sistema operativo pero la mayoría de la discusión se ha centrado en el futuro para los usuarios, los creadores de aplicaciones también debemos plantearnos que pasará, desde nuestro punto de vista.

Lo que me gustó del desarrollo de aplicaciones para FFOS y me motivo a hacerlo, fue la facilidad para todo el proceso, basado en un lenguaje que ya muchos manejamos, con un entorno de pruebas y depuración incorporado en el mismo navegador, dispositivos a precios accesibles, un market donde se puede administrar tus aplicaciones de forma sencilla, etc.

Con este nuevo anuncio comienzan a complicarse un poco las cosas, tal vez piensen que no debería afectar mucho porque, como dice la gente de mozilla, las aplicaciones deben ser compatibles entre dispositivos, pero todos sabemos que esto no es verdad, si bien hay aplicaciones que pueden funcionar en cualquier dispositivo (como juegos, reproductores de musica, de rss, etc) hay otros que no, estos son los que usan las WebAPI.

Para hacer aplicaciones específicas para los teléfonos, hemos tenido la necesidad de tener uno en físico a la mano, ya que el emulador no da soporte completo a WebAPI, esto ha sido un obstaculo que se ha podido sortear de manera relativamente facil, dado lo accesibles que fueron los primeros tlfs.

Ahora con la aparición de nuevos dispositivos se nos presenta nuevos obstáculos, como hacer aplicaciones especificas si no tenemos la oportunidad de probarlas y depurarlas? les pondré el caso específico de un dispositivo que ya se encuentra en el mercado, el televisor con FFOS.

En primer lugar está la usabilidad, las aplicaciones que se han hecho hasta ahora se han pensado para usarse con una pantalla tactil o con un teclado y ratón, con la TV se usa un control remoto, funcionará correctamente mi aplicación? tal vez si, pero no estoy en la posibilidad de saberlo.

Luego está el asunto de que el TV usa su propia API, si se quieren hacer aplicaciones específicas para el TV debemos tener por lo menos unos 1000 € para pagar lo que cuesta una.

Quizá es muy pronto para plantearnos estos temas, tal vez esto ya está solucionado de alguna forma con los dispositivos que vienen (como por ejemplo, el Firefox Stick para el TV), pero es algo que me preocupa y quería compartirlo con ustedes.

Saludos.


(Rubén Martín) #2

Nos movemos a la categoría de Firefox OS.


(Giovanny Andres Gongora Granada) #3

Raro, pensé yo que todo el anuncio se iba a tornar entorno a desarrolladores y no tanto a usuarios.

Todo esto sigue igual, nada de lo que has mencionado ha cambiado, y no se espera que cambie en gran parte.

Todo bien aquí :slight_smile:

Probablemente el emulador del navegador no ofrece soporte completo a todas las apis que se pueden necesitar de un dispositivo fisico, pero el emulador que puedes compilar desde los repos, hasta donde recuerdo, si provee todas las apis y funcionalidades de un dispositivo fisico.

Es el mismo obstaculo que se tenia al principio con el desarrollo para telefonos. La cuestion es que los Telefonos se pudieron proveer a un precio mucho mas bajo, que casi era accesible para todo el mundo. Un televisor es diferente, dudo mucho que un televisor de ultima generacion vaya a dar el mismo mercado de dispositivos a precios super bajos para que sean accesibles a desarrolladores. Por ahora se puede probar la interfaz de Firefox OS para TV desde el codigo que está en Github, y emularlo en una PC, no es tan complicado y funciona la mayor parte del tiempo como un TV normal a excepcion de unas cosas.

De igual forma el agregar soporte ahora mismo a TV debe ser algo sumamente estrategico para esa aplicacion o la empresa que lo desarrolle. Es decir, muchos de los temas de TV se manejan directamente con Panasonic, asi que si quieres agregar soporte a tu aplicación y quieres que esté disponible, seguramente tengas que hablar primero ciertas cosas y luego decidir que tan viable es. Si es viable, no deberia valerte mucho el adquirir un TV con Firefox OS.

Se que el tema aqui son los desarrolladores del común que no tienen acceso a 2mil o 3mil dolares para comprar uno de los TV con Firefox OS, pero el punto es que el mercado de TV es muy especifico, y hay ciertas cosas que se tienen que cambiar/mejorar/decidir dentro de Mozilla para que mas adelante sea accesible el desarrollo en este dispositivo y no sea un poco exclusivo.

Supongo el tiempo dará respuestas.

El tema con el contro remoto son los eventos input que se lanzan cuando se recibe la señal. Se que no hay mucha documentación al respecto, pero es algo que en Orlando ya se habló, y se supone en un tiempo deba normalizarse el tema de Firefox OS TV. Probablemente tu aplicación no funcione, pero por ahora para Mozilla no es una prioridad que todo el mundo agregue soporte para Firefox OS TV. Bien han salido TV de Panasonic con el, aún hay muchas cosas por hacer y muchas otras por probar. Yo no me desesperaría por agregar soporte a mi aplicación para Firefox OS TV.

Si, ya lo he dicho arriba, y he puesto un caso de cuando valdría la pena adquirir una para desarrollo o como probar emulando.

El Firefox Stick no es un dispositivo que se ha hablado dentro de Mozilla, los “leaks” sobre estos dispositivos se basan en unos slides que Hipertextual ha tomado de una lista de correo pública de Firefox OS. Los slide simplemente muestras casos de uso en los que se puede ver reflejada la nueva dirección de Mozilla respecto a Connected Devices.

Saludos


(stripTM) #4

Lo que comentas le veo equivalencia a lo que ocurre / ocurría con la gente de diseñaba páginas web para una resolución en concreto o un navegador en concreto.

La web está pensada para funcionar en cualquier dispositivo y luego somos los desarrolladores los que vamos incorporando cosas que hacen que no funcione bajo ciertas características, si se sigue una estrategia de enriquecimiento progresivo, no es la panacea, pero si te permite que cuando encuentras un problema en cierto agente de usuario la solución no sea dramática y tener que tirar todo abajo.

Una web que sólo tiene html válido sin css ni js es usable desde cualquier agente de usuario, es muy fea, feísima y poco intuitiva, pero si en siguientes iteraciones mejoras el diseño utilizando mediquerys para diferentes resoluciones, trabajas las pautas WAI para que funcione incluso en dispositivos sin pantalla, vas creando una aplicación sólida.

Cuando ya la pruebas en un dispositivo en concreto ves problemas que seguramente no habías imaginado, por ejemplo las primeras veces que te enfrentas a pantallas móviles te das cuenta que los elementos que aparecen tienen que ser bastante más grandes que en un monitor, porque el apuntador (tu dedo) tiene muchísima menos precisión que un ratón y su puntero, y en este caso habrá que trabajar el css para estas situaciones.

La idea de Mozilla es esta, y proporcionar herramientas que faciliten esta tarea, en las devtools se incorporó el modo de diseño adaptable con el que puedes simular diferentes resoluciones, no es como tener el propio dispositivo pero es una aproximación aceptable y bastante más económica.


(William Cabrera) #5

No necesariamente es así, como digo en el ter cer párrafo, el asunto más urgente son las APIs para dispositivos específicos, si bien hay aplicaciones que pueden funcionar sin mayor problema en todos los dispositivos, esto no será así si quieres crear aplicaciones espécificas, las WEBAPIs para los tlfs no son las mismas que para los tvs, y eso está bien, son dispositivos diferentes que tienen sus usos y funcionamientos diferentes, por ejemplo, si quiero hacer un juego de ajedréz en linea puedo hacerlo de manera que funcione en todos los dispositivos, si lo que quiero hacer una aplicacion que requiera usar la api Pointer Lock solo funcionará en el escritorio, siendo que en otros dispositivos no se manejan punteros de ratón, si quiero hacer una aplicación que me baje de internet un listado de series y que se autozintonice de manera automática, esto solo funcionará en el tv, que es quien soporta l as TVAPI.

En resumen, el problema el problema de diseño es el menor de todos, el problema es de funcionalidad y usabilidad.


(stripTM) #6

Efectivamente, si quieres programar para hardware específico se necesitan las webapis que lo manejen y el hardware para probarlo, pero siguiendo el ejemplo de la aplicación que saca la parrilla de programación y te permite sintonizar, lo que es exclusivo, la parte de tvapi de cambio de canal si lo tienes encapsulado podrías preguntar ‘¿el navegador implementa sintonización de tv?’ si es que si haces el cambio de canal y si es que no pues sacas el mensaje que no es posible se me ocurre que a lo mejor hay alternativas como enganchar una señal en streamig que ofrezca el canal.

Otro ejemplo, ahora mismo si programas una aplicación que utilice geoposicionamiento, durante el desarrollo no vas a estar cambiándote de ubicación mientras desarrollas para ver que va como esperas, lo que haces es aislar esa parte de manera que que puedas simular diferentes ubicaciones y luego al final ya lo pruebas con un aparato real.

Yo ahora mismo casi veo más urgente que las webapis pasen a ser estables y estándar; aquí el poder de Mozilla sería el impulsar en que el resto de fabricantes lo quiera adoptar, que es a lo que te refieres ¿no?


(Salva) #7

La verdad es que @willicab tiene toda la razón del mundo. Rcomiendo mover esta pregunta a la lista de correo de Gala. Igual están pensando en un emulador específico o hay otras soluciones en mente…