Saltar al contenido

Categoría: Planetas

Mi opinión de Firefox OS después de 15 días de usarlo

Gracias a un representante de Mozilla Venezuela y por pertenecer al equipo de lanzamiento en Venezuela, pude tener acceso a un teléfono de desarrollo de Firefox OS: el Keon de Geeksphone.  En este artículo no voy a hablar del teléfono pues existen muchos reviews en Internet y quiero enfocarme solo en el Software (sistema operativo  y programas), es decir, realmente sobre Firefox OS. También quiero expresar que lo escritó aquí representa mi opinión y no la de otra organización a la que pertenezco.

Sobre el sistema operativo

Firefox OS es un sistema operativo desarrollado por Mozilla y Telefónica, que utiliza la plataforma web para sus aplicaciones (si, todo lo que ejecuta es web) dirigido por ahora, al sector de teléfonos gama baja y media,  aunque Sony anunció que invertirá en el desarrollo de teléfono para gama alta. Por este motivo se debe evitar comparar estos teléfonos y software con el del iPhone o cualquier Android de altas prestaciones como el S4, pues están dirigido para diferentes usuarios. Mas bien es razonable con los teléfonos sencillos con Android, Bada, WebOs, o algo por el estilo.  Sin embargo, en unos años puede tener la capacidad de competir con todos pero por ahora no.

Primeras impresiones

Lo primero que noté al encender el equipo (al igual que cuando lo probé en mi Nexus S) fue el tiempo de carga del sistema operativo, es realmente muy rápido yo creo que de 5 a 10 segundos, algo muy bueno  porque se obtiene una respuesta rápida a pesar de ser hardware promedio. La pantalla principal me pareció un híbrido entre iPhone y Android, muestra un reloj, barra de notificaciones y dock de aplicaciones importantes (navegador, SMS, llamadas, etc) similares a las de Android, así que la curva de aprendizaje es baja para alguien que ha utilizado otro smartphone.

La pantalla se divide en tres secciones: la pantalla principal con la hora y el dock de aplicaciones como cualquier otro teléfono, a la izquierda de éste tiene una pantalla con la búsqueda personalizada, la característica mas innovadora de este sistema y al lado derecho pantallas con la lista de aplicaciones instaladas al igual que el iPhone.

La lista de aplicaciones se puede ordenar, acomodar o eliminar los programas presionando sobre el icono y arrastrando a la posición que se desea, para lanzar las aplicaciones simplemente se hace presiona sobre ellas y listo.

Aplicaciones

Todas las aplicaciones en Firefox OS son web, no hay que confundirlas con páginas web, pues son aplicaciones como cualquier otra pero utilizan las tecnologías de HTML 5, Javascript y CSS3.

La instalación es a través de la tienda de aplicaciones de Mozilla llamada Firefox Marketplace, es una tienda como cualquier otra pero con reglas mas permisivas hacia los desarrolladores. El proceso de instalación es sencillo, simplemente buscas una aplicación desde el buscador, por sus categorías o revisando los diferentes listados que se ofrecen. Una vez seleccionada, con la presión de un botón es descargada a tu telefono. Al ser web, el tamaño de las aplicaciones es muy reducido, (apenas unos KB para las aplicaciones que no son juegos) por lo que no gastas mucho tiempo en la instalación. Otra opción de instalar aplicaciones, es através de la búsqueda adapatable (mas adelante les comento de esta funcionalidad), en los resultados podemos ver varios programas listados y con arrastrarlos al escritorio las tenemos instaladas casi instantáneamente.

Sé que una de las dudas de muchas personas ajenas al desarrollo web, es sobre si al utilizar plataforma web, se requiere tener todo el tiempo conexión a Internet, y pues no,  Firefox OS consume tanto Internet como cualquier otro teléfono. Por ejemplo, al usar este sistema observé 3 tipos de programas:

  • Funcionan Offline: no requiere tener acceso a Internet para funcionar, tales como la aplicaciones para configurar el teléfono, la aplicación de música, galería de fotos, reproductor de video, cámara, etc.
  • Funcionan parcialmente Offline o Híbridas: gran parte del programa esta almacenado en el teléfono y accede a Internet solo para descargar actualizaciones, partes de la interfaz visual o la información requerida para funcionar, como cualquier otra aplicación de otro smartphone que requiere Internet.
  • Requieren Internet como cualquier sitio web: funciona como una página web móvil, toda la  información está en la nube y se requiere conexión para descargar todo,tanto la interfaz visual como la información que requiere.

Entonces dependiendo de la aplicación a usar pues podrás requerir o no Internet, por ejemplo, la de correo solo requiere para recibir y enviar correos obviamente, pero no para leerlos o navegar entre los mensajes. Facebook y Twitter permiten revisar la información sin conexión pero se requiere al momento de actualizar la información. Pero para usar la cámara, galería de imágenes o algunos juegos no es necesario estar conectado.

Aplicaciones intregradas

Las aplicaciones incluidas por defecto permiten realizar las tareas básicas de cualquier smartphone, las que mas me gustaron fueron las de correo y el reproductor música. La de correo permite administrar múltiples cuentas fácilmente, permite realizar las tareas básicas de correo sin problemas. La de música también permite realizar todo lo de una aplicación musical pero su organización está bien diseñada y me gusta mas que la incluida en Android, tal vez, el único inconveniente que note, es la lentitud al actualizar el listado de canciones almacenadas cada cierto tiempo, pero ya revisé y está reportado en Mozilla para ser arreglado pronto. La aplicación de radio es sencilla pero con buenas animaciones y buen diseño, realmente no hay mas nada que pedir allí, la de cámara permite tomar fotos, tiene opciones para aplicar filtros como Instagram, ediciones menores y editar pequeñas configuraciones para tomar las fotos(bueno la aplicación de cámara por defecto de Android y iPhone tampoco es que hagan mucho).

La aplicación de contactos es sencilla, parecida a la de Android y lo mejor es su capacidad para importar contactos de Google Contacts, así puedes usar la información almacenada en este servicio. La aplicación de Calendario y agenda funcionan muy bien, con posibilidad de aceptar varios formatos estándar de calendarios y al igual que la aplicación de contactos tiene compatibilidad con el servicio de Google. Respecto a las funcionalidades de teléfonos, las aplicaciones de mensajes, historial de llamadas y marcado hacen todo lo necesario al igual que en otros S.O. Algo chévere es la aplicación para chequear el consumo de datos de navegación y bloquearlos al llegar al límite, de esta manera podemos controlar mejor nuestro uso de la red y ahorrar dinero al evitar pagar tarifas extras.

Otra cosa que me gustó fue el navegador, en Firefox OS obviamente el navegador es Firefox Mobile y se ejecuta muy rápido, algo casi instantáneo, permite navegar en toda página bien diseñada para dispositivos móviles. Algunas que no funcionaron fue debido a que el User Agent utilizado es el estándar propuesto por la W3C: utilizar la palabra mobile para identificarse, pero algunos desarrolladores perezosos solo chequean por Android o iPhone en vez de usar la palabra correcta.

Aplicaciones de terceros

Aquí es donde está el verdadero éxito de un sistema operativo móvil y me parece una buena jugada de Mozilla  al utilizar la web como plataforma de desarrollo, pues permite utilizar aplicaciones web existentes en Firefox y la curva de aprendizaje para los desarrolladores web es practicamente nula.  Las primeras en probar fueron las de las redes sociales mas utilizadas por mí como son: Facebook y Twitter. Ambás se consiguen en la tienda y ofrecen la misma funcionalidades de la versión web, sin embargo, la de Facebook cachea parte del motor. La de Twitter es mas avanzada (técnicamente) y funciona realmente como una aplicación web, realmente es muy buena pero al igual que la aplicación oficial de Twitter en otras plataformas, es limitada. Google plus se puede instalar pero como un acceso directo pero no sé por qué no agarra la versión móvil, la de Sound Cloud es buena y puedes escuchar toda la música disponible allí sin problemas, la de Evernote si le falta pulir, Wikipedia funciona bien pero es igual de sencilla que en Android o iPhone, existe una aplicación para Reddit y funciona muy bien.

Para el caso de servicios como: Youtube, Maps, Diigo, Instagram. Utilicé el navegador para accederlos, las limitaciones son las mismas que poseen estos servicios para navegadores móviles, pero funcionaron bien en términos generales.

Búsqueda personalizada

Una de las mejores funcionalidades y única de este sistema, es la caja de búsquedas ubicada en el panel de la izquierda. Pues permite adaptar el teléfono a lo que estás buscando, por ejemplo, si buscas por Juan Arango el fondo se adapta a un foto del jugador y se listan una serie de aplicaciones con contenido del jugador, por ejemplo, puede aparecer la aplicación de ESPN para ver información de su carrera o noticias, la de Wikipedia para conocer su vida personal, la de Twitter para buscar tweets sobre el, entre otros. Lo peculiar es que busca las aplicaciones con contenido, no aplicaciones de él (bueno si existiera también la mostraría) algo que no hace otro sistema y realmente me parece un concepto innovador e interesante, porque te permite descubrir nuevas aplicaciones en base al contenido de ellas.

Conclusiones

Para mi Firefox OS es un buen sistema operativo para lo que está diseñado actualmente, es decir, no esperes funcionalidades muy avanzadas como teclados de predicción por voz o de arrastre, aplicaciones para reconocer personas y desbloquear tu teléfono, etc. Es un sistema con todas las funcionalidades de un smartphone: llamadas, contactos, redes sociales, agenda y correo electrónico, cámara, juegos entre otros. Para ser la primera versión, es muy avanzada y ofrece mas que las primeras versiones de Android y iPhone en sus tiempos, aún le falta algunos detalles por pulir pero se puede utilizar sin problemas en el día a día.

Ventajas de este S.O:

  • Es un sistema muy ligero, rápido, fácil de utilizar y de crear aplicaciones.
  • Es abierto, sabemos que no estás siendo rastreado, te extraen información sin permiso, tendrá soporte por la comunidad en un futuro, es hackeable para realizar mejoras, entre otros.
  • No te obliga a abrir una cuenta en algún servicio para utilizar sus aplicaciones (puedes registrarte en la tienda para mejorar la experiencia pero es opcional).
  • Los costos de los dispositivos son baratos.
  • Poca curva de aprendizaje para utilizarlo.
  • Las aplicaciones

Desventajas de este S.O:

  • Por ahora solo hay equipos de gama baja, sería interesante ver un dispositivo gama alta con este sistema.
  • Le faltan aplicaciones importantes, sobre todo de mensajería instantánea, pero con el tiempo mejorará.
  • Existen algunos detalles de usabilidad, al igual que con las primeras versiones de Android.
  • No permite configurar aspectos avanzados del S.O. como el proxy, velocidades del procesador, etc.

En general es buen sistema operativo, falta ver como avanza a medida que se lanza cada versión y como se comportan las demás empresas para desarrollar las aplicaciones para esta plataforma. Realmente, le veo futuro por estar enfocado a otro tipo de usuario diferente de Android y iPhone, por los precios competitivos, la facilidad de desarrollar aplicaciones y por usar los ideales de Mozilla. De hecho, está mas avanzada que las primeras versiones de iOS y Android por lo que le veo un buen futuro por delante.

Para finalizar, si están en Venezuela, y desean mas info, pueden seguir las cuentas de Mozilla Venezuela en Twitter y en el grupo de Mobilizers en Facebook, o deja un comentario con tu sugerencia, opinión o duda.

 

28 comentarios

Understanding the Linux Kernel: Entiende como funciona Linux o un sistema operativo

Desde aproximadamente un año, estoy dictando la materia de Sistemas Operativos en la Universidad Nacional Experimental del Tachira (UNET) y buscando como explicar el contenido prográmatico con el núcleo Linux, conseguí una recomendación de leer Understanting the Linux Kernel de O’Reilly, acto seguido, adquirí la versión digital y me puse a leerlo.

En mi opinión el libro se divide en dos partes, una sección introductoria donde explica toda la teoría de como funcionan los Sistemas Operativos, aquí veremos como es el arranque del sistema, el manejo de: procesos, memoria, dispositivos de entrada y salida; pero con gran nivel técnico y muchos ejemplos superficiales de como son implementados en Linux. Me pareció interesante porque a diferencia de otros libros de Sistemas Operativos, el contenido está dirigido a profesionales y no a estudiantes, por ello, si desconoces estos temas es mejor leer un libro académico antes de leer esta sección.

La siguiente parte (como el 75% restante del libro), deja de ser teoría general y se adentra en como Linux implementa cada una las cosas explicadas en la sección anterior, aquí leeremos sobre los algoritmos disponibles en Linux para manejo de procesadores, memoria y dispositivos de E/S. A partir de aquí el contenido se dirige a personas interesadas en el diseño de Linux o futuros colaboradores del núcleo, pues veremos secciones de código (no muchas), las diferentes estructuras y variables disponibles para utilizar cuando se desarrolla, ell autor explica muy bien a través de tablas, cada una de las estructuras disponibles con sus correspondientes atributos, los ejemplos son muy sencillos y cortos (bueno la naturaleza de un sistema operativo es así) sin rellenar con otras cosas y los conceptos pueden ser sencillos o muy complejos dependiendo de tu dominio del tema.

Understanding the Linux Kernel
Portada del libro

Este libro lo recomiendo si deseas empezar a modificar (fork) el núcleo de Linux, Firefox OS o Android, si te interesa como funciona el núcleo Linux con mucho detalle pero sin la complejidad que se suele conseguir en otras fuentes, si deseas conocer con mayor profundidad como son los sistemas operativos o eres curioso. Eso si, si no tienes bases en el área evita leer este libro, pues te costará entenderlo y no le sacarás provecho al libro.

 Así que consigue este libro y comienza a estudiar sobre Linux (literalmente).

1 comentario

Automatiza tareas de desarrollo web con Guard

Hace tiempo en una charla de Paul Irish, ví un programa llamado Live-reload para recargar automáticamente una página en el navegador cada vez que realicemos un cambio en ella. Pero nunca había podido configurarla en Linux, luego hace unos días en una entrevista de Addi Osmani vi un comentario que me hizo volver a tratar de instalarla, su comentario fue: «Ya en el 2013 nadie debería perder tiempo en recargar manualmente el navegador».

Así que me puse instalar el programa y descubrí Guard, una aplicación hecha en Ruby para chequear las modificaciones realizadas a archivos y realizar acciones en base a ello. Esto permite por ejemplo, que al realizar algún cambio en un archivo escrito con SASS o SCSS genere el CSS automáticamente, si modificas un archivo JS de desarrollo genere el archivo final ya comprimido, generar el archivo JS desde CoffeScript, entre otros. De esta manera automatiza gran cantidad de tareas que usualmente harías manualmente a través de comandos del Editor/IDE.

Instalación

Aunque existen instaladores para MacOS y Windows los desarrolladores prefieren instalarlo a través de Ruby GEMs, el proceso es sencillo y se aplica para todos los sistemas operativos que soporten Ruby, para ello en la consola debes ejecutar los comandos:

gem install bundle #facilita el proceso
gem install guard #el programa que estamos comentado
gem install guard-livereload #extensión para actualizar el navegador
gem install guard-sass #para pre-procesado de CSS

Configuración

Luego te diriges a la raíz del proyecto que estás elaborando, allí ejecutas el comando:’

bundle init

Nota: Si el comando falla es porque no tienes el comando gem en tu variable $PATH
Esto creará un archivo llamado Gemfile que contiene toda la información de los gems utilizados en el proyecto y las dependencias de lo mismos. Una vez creado con el comando mencionado, lo abres y agregas el siguiente contenido:

gem 'guard'
gem 'guard-livereload'
gem 'guard-sass', :require => false

Luego debes crear un archivo con el nombre Guardfile en la raíz del proyecto, en él se definirán las reglas que deben ocurrir para realizar las acciones. El siguiente ejemplo está diseñado para ser usado en un proyecto PHP con el framework Yii:

# Módulo para que al modificar un archivo SASS genere el CSS ya comprimido
guard 'sass',
:input => 'css',
:output => 'css',
:style => :compressed

#reglas para la recarga del navegador
guard 'livereload' do

#actualiza el navegador al ocurrir cambios en las vistas, modelos y controladores.
watch(%r{protected/views/.+\.php})
watch(%r{protected/views/.+/.+\.php})
watch(%r{protected/views/.+/.+/.+\.php})
watch(%r{protected/models/(.+)/(.+)\.php$})
watch(%r{protected/controllers/(.+)\.php$})

#Comprime los archivos de Javascript utilizando un script llamado compressJS ubicado en la carpeta js/
watch(%r{js/.+\.original\.js}) {`js/compressJs`}

#Una vez generado los archivos JS finales (ya comprimidos) recarga el navegador
watch(%r{js/.+\.js})

#Recarga el navegador cuando se modifica un archivo CSS
watch(%r{css/.+\.css})
end

La sintaxis es watch(%r{EXPRESION_REGULAR_DE_ARCHIVOS}) {comando a ejecutar}, con esto puedes jugar a detectar cambios en algunos archivos y realizar a través de una secuencia de comandos, tareas respecto a ese archivo modificado. También noten como por ejemplo al comprimir el archivo JS no se recarga el navegador, sino en otra regla cuando se modifica un archivo JS, es decir, algunas cosas deben hacerse a través de la definición de varias reglas.

Uso del programa

Para ejecutarlo debes iniciar guard con el comando:

bundle exec guard

A partir de ahora guard chequeará los cambios en los archivos y ejecutará las acciones configuradas. Para refrescar el navegador automáticamente, es necesario instalar LiveReload para Firefox o Chrome . Una vez instalada, ve a la pestaña donde estas visualizando el proyecto, presionas el botón de LiveReload y debería conectarse sin problemas a guard.

Complemento de LiveReload
Botón para conectarse con Guard LiveReload

Para probarlo, edita un archivo de vista  y debería actualizarse la página sin problemas. También al editar un archivo SASS (o SCSS) debería generar el archivo CSS y a su vez recargar la página para ver la nueva apariencia, al editar los archivos de Javascript deberían comprimirse y cualquier otra acción que hayas configurado.

Ahora depende de ustedes que utilicen estas herramientas todos los días, pues mejorarán su trabajo al automatizar ciertas tareas y enfocarse en otras mas importantes. Si alguien conoce otra utilidad para Guard, no duden en dejar un comentario.

1 comentario

Evento de Android en el Instituto Universitario de Tecnología «Antonio Jose de Sucre»

Este próximo jueves 23 y viernes 24 de Mayo del 2013 desde las 9:00am, se realizará una serie de conferencias y charlas sobre Android en el Instituto Universitario de Tecnología «Antonio Jose de Sucre», la asistencia es libre y gratuita. Si les interesa conocer mas sobre este sistema operativo líder de los dispositivos móviles no faltes.

Por mi parte, estaré dando una ponencia de las versiones de Android modificadas (ROMS personalizadas), la programación del evento pueden verla en el afiche oficial.

Se habla Android
Afiche del evento «Se habla Android»

Esperamos su asistencia y avisen sobre el evento a compañeros de la región.

Deja un comentario