Jan 18 2010

Datos y no especulaciones

El día 5 de Enero (como regalo de la noche de Reyes, dirán algunos), Google presentó su propio terminal Android: Nexus One. Este móvil se lanzó con su propia versión de la plataforma Android, la 2.1.

Durante estos días se ha especulado sobre la cantidad de terminales vendidos (~20.000) en los primeros días, pero no se sabe a ciencia cierta cual es la cuota real de estos terminales o lo que han supuesto sobre el total del mercado.

Aparte, Google lanzó como recurso de programación el Android Dashboard, una página que muestra cual es la cuota del mercado Android, diferenciado por versiones del SDK. Los cálculos se realizan desde quince días antes de la fecha indicada, y muestra un sencillo gráfico para que los programadores calculen si les interesa o no soportar determinada plataforma.

Vista actual del Android Dashboard

Hoy muestra como fecha final de análisis, la del día anterior a la presentación de Nexus One, lo que quiere decir que pronto crecerá el sector de la plataforma 2.1, y veremos cuál es el impacto real de este pequeño aparatito.

Jan 14 2010

Android no significa “garantía de éxito” (II)

Ha pasado algo más de un mes desde el último post. No quería que hubiera pasado tanto, pero ha sido un mes Android bastante interesante. Han salidos nuevos dispositivos, aplicaciones interesantes, juegos divertidísimos, pero como se quedó colgando en el post anterior: “Android no significa garantía de éxito”.

El por qué tiene un nombre propio: Samsung Galaxy. Cualquiera que vea las prestaciones del aparato puede quedarse bastante impresionado: buena cámara, buenísima pantalla, batería de gran duración… pero, ¿y qué tal se comporta Android? ¿qué tal está integrado? ¿cómo es que no tiene esa serigrafía que dice “with Google”?

Bien, empecemos con un poco de historia. Este terminal fue puesto a la venta (aproximadamente) en Julio de 2008. Quizá muchos usuarios no tenían muy claro entonces de lo que era aquello de “with Google” pero la explicación es sencilla: ” ‘with Google’ marca aquellos dispositivos desarrollados conjuntamente con Google, y los cuales dispondrán de actualizaciones OTA”. OTA significa ‘over-the-air’ y quiere decir que estos móviles pueden actualizarse descargandose un archivo dentro del móvil y reiniciando. Fin de complicaciones.

¿Y si no tienes un móvil ‘with Google’? Pues entonces pasará como con Samsung Galaxy, que has de disponer de un paquete de software provisto por el fabricante que te permitirá actualizar tu terminal. Aquí empieza el calvario de Galaxy. El software provisto por Samsung:

  • Es una aplicación bastante pesada
  • Realiza muchas operaciones que no quiero (por ejemplo sincronizar contactos, tarea que ya hace Android con mi cuenta Google)
  • Sólo es para Windows. El resto de sistemas operativos pueden irse a plantar patatas al campo
  • Y la más divertida de todas…. La aplicación no soporta Samsung Galaxy! Por lo que por mucho que la tengas instalada, sólo servirá para el resto de los dispositivos Samsung, pero no para este móvil

Aunque la aplicación para actualizar el teléfono, no funcione porque no lo soporta, Samsung ha ido colgando firmwares en su web durante meses. Y la gente los ha usado… pero para ello han tenido que fabricarse una herramienta que pudiera “inyectar” las actualizaciones (más que necesarias) al teléfono.

Actualizar un buen móvil puede ser una tarea casi innecesaria, puede pensar cualquiera, pero Galaxy habrá tenido entre 7 y 10 firmwares distintos. Con éxitos y fracasos a partes bastante desiguales. En uno de los más sonados firmwares rotos, la fantástica batería que en reposo debería durar 450 horas, duraba 4 aproximadamente. Una centena de veces menos que lo que afirmaba el fabricante! Para asustarse…

Pero esto fue un suma y sigue:

  • ¿La brujula electrónica? Tiene un bug su firmware que hace que muchas aplicaciones tengan que adaptarse específicamente para este terminal
  • ¿Y el GPS?Bien gracias, siempre que no lo actives junto con la WiFi, porque entones la conexión inalámbrica empieza a fallar. No escanea redes algunas veces, muy alto consumo de batería… genial
  • Pero la pantalla es buena, ¿no? La pantalla es una de las mejores que he visto para un móvil, pero… nunca había visto que el módulo de telefonía haga interferencias y se pueda ver cuando se está asociando a la red o le llega un SMS porque la pantalla tiemble
  • El soporte de 3D está bastante estropeado
  • Incluso el botón para hacer fotos con la cámara integrada tiene un bug, por el cual, aunque esté bloqueado el móvil, si el botón se pulsa parcialmente, el teléfono se activa perdiendo batería. Si a esto le sumamos que la funda del móvil, por diseño, deja pulsado parcialmente el botón de la cámara…
  • También se puede disfrutar de una capa de telefonía a la que le faltan partes por terminar de implementar y fallos en cosas como el teclado de teléfono, el cual muchas veces no puede ser utilizado durante la llamada para enviar tonos DTMF (los contéstadores de Telefónica nunca oirán un Galaxy)

¿Ocurre todo esto en los terminales de HTC? Pues no lo sé ciertamente, pero lo dudo, porque se han desarrollado ‘with Google’ ;-)

Mirando las tripas que corren dentro del móvil, también se pueden observar procesos extras. Por ejemplo está el que ayuda a la comunicación con la suite de la que antes hablábamos… que lógicamente no funciona, por lo que sólo sirve para gastar batería del terminal. O buscando por las trazas del sistema, puedes encontrar “explosiones” de demonios del sistema operativo, o incluso de la capa de telefonía.

Si no supiéramos que es Android, y fuera un firmware X desarrollado por el fabricante, este terminal no tendría más de un 2 sobre 10 en su calificación. Y es lo que tienen las cosas a medio hacer, que por muy buen hardware y software base que exista detrás, si no hay una cuidadosa labor de integración entre ambas partes, no sirve de nada.

Por suerte, las cosas cambiaron hace muy pocas semanas con la aparición de dos nuevos firmwares (abreviados como IK4 e IK5) que resuelven el 90% de los problemas… pero segun los rumores que corren, Galaxy no tendrá actualizaciones posteriores a Android 1.5, cuando la mayoría del resto de terminales si.

Por tanto, por mucho Android que se pueda disfrutar, queda un sabor bastante descafeinado y muy lejos de ser un terminal “de éxito”. Aunque de todas formas, no tiene por qué ser todo tan malo en el mundo de Android si uno no va de la mano de Google, ¿no?

Dec 07 2009

Android no significa “garantía de éxito” (I)

Hablar de Android hoy en día ya no resulta raro para casi nadie. Hace dos años y un mes, Google desveló el proyecto en el que estaban trabajando desde hacía ya tiempo: un sistema operativo para móviles basado en GNU/Linux. Ya entonces, y antes de que apareciera ningún dispositivo móvil liberaron un juego de bibliotecas y una extensa documentación para el desarrollo de aplicaciones. Desde entonces y hasta casi un año después, cuando apareció el HTC Dream (el primer terminal Android), la gente ya había podido comenzar a desarrollar aplicaciones.

¿Cuál fue la mayor consecuencia de una acción así? Sencillo, facilitar el desarrollo de aplicaciones significó que los primeros terminales que salieron al mercado ya podían disponer de un gran número de aplicaciones.

Además del anuncio con el que comenzaba toda esta historia, se le dio la puntilla al proyecto: “La mayor parte de Android será un proyecto liberado bajo la licencia Apache 2.0″. Fantástico. Sencillamente, era díficil pedir más. Y comenzaron a dedicar recursos. Un sitio, un repositorio, listas de correo, etc.

En las listas de correo se pueden encontrar fácilmente las respuestas de ingenieros de Google. Uno de los que tienen más dedicación (por ser exactamente este su trabajo) es Jean Baptiste Queru, quien aguanta todas las preguntas que tiene la comunidad, y encima trabaja de sol a sol por que todo el mundo pueda construir la versión deseada de Android. Su trabajo es admirable. Otra de sus grandes tareas es mantener una sincronía entre los repositorios de Android; ya que existen dos repositorios: los internos, sobre los que trabaja Google, y los externos, para la comunidad. Tanto los arreglos que la comunidad envía al proyecto, como las nuevas características desarrolladas, son transferidas de un repositorio a otro por él. También existen rumores de la fusión entre ambos repositorios, aunque parece difícil que ocurra, y más cuando (por poner un ejemplo) la publicación del código de Android 2.0 se hizo solo dos semanas más tarde de la presentación oficial.

Aparte de todo este esfuerzo para la comunidad, Google también (es obvio) tiene sus acuerdos/contratos con los fabricantes para poder desarrollar terminales que funcionen impecablemente con este sistema operativo.

Resumiendo un poco algunos de los detalles del proyecto, tenemos:

  • Un nuevo sistema operativo basado en GNU/Linux
  • Disponibilidad de la mayor parte del código fuente con licencia Apache 2.0 (o la correspondiente, según el subproyecto)
  • Muchos materiales disponibles para que se pueda crear un amplio abanico de aplicaciones
  • Posibilidad de modificar el propio sistema operativo según las necesidades concretas de cada caso
  • Recursos dedicados por la empresa para que cualquiera pueda adquirir conocimientos, modificar el código, adaptarlo, etc
  • Trabajo directo con los fabricantes para fabricar terminales modernos, y así completar el único hueco al que “todavía” no se dedica Google, el hardware

Pero, si tenemos todo este material en nuestras manos, y todo parece tan perfecto, ¿por qué no es “garantía de éxito”?

Oct 28 2009

ANSTE en O’Reilly

Hoy es un día curioso. Zaragoza se ha despertado bastante gris y oscura, pero sin embargo hay una noticia que alegraría la mañana a cualquiera. Estábamos a la espera de la confirmación y, por fin ha llegado gracias a este post. ANSTE, developed by Warp Networks, como diría cualquier inglés orgulloso de su obra, ya ha aparecido en una publicación de O’Reilly (Oh! Really?). En el libro Beautiful Testing, uno de los capítulos está dedicado a la herramienta GPL de pruebas automatizadas ANSTE. Este sistema se ha utilizado para realizar las pruebas del proyecto eBox Platform (que se lanzó como spin-off de Warp el año pasado), y ahorrar costes de realización de pruebas durante su desarrollo. Gracias a ANSTE, en eBox pueden definir complejos escenarios de red (rutas, reglas del cortafuegos, interacción entre máquinas, etc) y ejecutar varios conjuntos de tests sin necesidad de la acción humana.

En el libro, se relata cuál fue el origen de la idea, la necesidad de tener un proyecto de estas características y una introducción a cómo se pueden realizar los tests, para mostrar toda la potencia de la plataforma. Además, los royalties derivados de la publicación del libro, serán donados al proyecto de la Fundación de Naciones UnidasNothing But Nets“, que envía redes anti-mosquitos a África para prevenir la malaria.

Enhorabuena a todos los autores, pero por supuesto más especialmente a Isaac, quien redactó el capítulo del libro, y a José Antonio, como ilustre y excelentísimo desarrollador de la herramienta ;-) .

Sep 28 2009

¡Felicidades Warp Networks!

Hoy hace cinco años un grupo de personas pensaron que la situación empresarial del momento, respecto al uso de software libre, no era tan buena como ellos querían. Pensaron entonces que tenían el suficiente conocimiento y valor como para poder iniciar un pequeño proyecto en el que trabajar a gusto y compartir ese sueño común. Ese grupo de personas plantó ese día la semilla de una empresa que ha ido creciendo hasta ser lo que hoy es: una empresa referente en tecnologías de código abierto, y que trabaja con empresas locales, nacionales e internacionales.

Durante todo este tiempo en Warp se han intentado hacer mejor algunas cosas, tanto hacia fuera como hacia dentro. Y para llegar a cumplir cinco años y estar donde está, este camino no ha sido una aventura en solitario.

Warp es así gracias a los trabajadores pasados y presentes, ya que con su profesionalidad, trabajo (y sobre todo buen rollo) se han podido hacer grandes cosas. También es así gracias a los clientes que ha tenido, por haber dado su confianza a la empresa durante este tiempo. Y ahora no es así (pero lo será) gracias a los que en un futuro se animen a ser parte de un equipo que quiera hacer las cosas bien y conseguir un mundo mejor (y dominado por nosotros :-) ). También parece ser que el caldo de cultivo ya era bueno, y que conseguir reunir a lo mejor de cada casa ha terminado de hacer el resto.

Por todo esto hoy toca decir: ¡Felicidades Warp!

PD: Dejo un pequeño regalo para compartirlo con todo aquel que quiera celebrar el cumpleaños con nosotros
Wallpaper Warp 5 Aniversario

Sep 25 2009

Cuando las esperas se hacen largas

Hay días duros en la vida de un informático, en los que la tregua no es una opción. Se deben asumir los retos y enfrentarse a ellos con todas las armas posibles. En caso de desesperación, uno puede aprender de fuentes externas que ayuden a sobrellevar la labor encomendada.

Así, en nuestros largos tiempos de espera, hemos asimilado bien la lección y hemos decidido ponerla en práctica:
Compiling!

PD: Para que no parezca que fue una farsa, aquí queda también una secuencia de la cruenta batalla

Batalla a vida o muerte

Batalla a vida o muerte

Jul 30 2009

La importancia de utilizar ORDER BY

Dado que hace un tiempo que somos partners de formación de MySQL, voy a dar una pequeña lección práctica hoy.

ORDER BY es una cláusula del lenguaje SQL que puede ser utilizada a la hora de realizar búsquedas ordenadas en una tabla con la orden SELECT.

Su sintaxis es:

ORDER BY <campo_tabla> [ASC, DESC]

y el gestor de la base de datos, al devolver el resultado de la búsqueda, nos dará el resultado ordenado por el campo que hemos seleccionado, y si añadimos el modificador ASC o el DESC, además lo hará en orden ascendente o descendente.

Así, si en nuestra aplicación tenemos una tabla proyectos y queremos verlos ordenados por un campo que almacena cuántos WTF por minuto se generan en cada proyecto, podríamos lanzar la siguiente consulta:

SELECT * FROM proyectos ORDER BY wtf_per_minute DESC;

Es simple y sencillo, y además será útil si el usuario está buscando la información de esa manera.

Pregunta: ¿Qué ocurre si el usuario conocedor de ORDER BY espera que se utilice en una aplicación web y no se hace? ¿Qué ocurre si el usuario “normal” de la página web ve que el caos es quien ordena sus resultados?
Respuesta: Que los dos generarán odio e insatisfacción hacia aquellas mentes que olvidaron usar ORDER BY en sus SELECTs

Un ejemplo aplicado podría verse en una web de eventos culturales. Los usuarios, deseosos de conocer lo que sucede en su ciudad, querrán tener un listado de todas aquellas cosas que van a suceder en su ciudad, desde el día actual en adelante, para poder organizarse una agenda. Esto es, los datos se ordenarán por su fecha o en su defecto, quizá se puedan ordenar por otro parámetro a conveniencia del usuario…

Pero cuando no se aplica el sentido común, ocurre esto:

Página web sin ORDER BY que genera odio y confusión en sus usuarios

Página web sin ORDER BY que genera odio y confusión en sus usuarios

y obligamos al usuario a buscar por 10 páginas desorganizadas dónde está el evento que busca. En una web de entradas, lo que puede desembocar es que el usuario acabe por no usarla nunca y vaya a la tradicional taquilla para sacar sus pases.

Espero que la lección haya sido útil ;)

PD: Si nos lees a través de nuestro Planet y has visto un salto temporal un tanto extraño, mi post anterior no se debe a no utilizar ORDER BY, sino a un error de Wordpress con PlanetPlanet!! (Bueno, o si quieres pensar que no aplicamos nuestras propias lecciones, pues… qué le vamos a hacer :) )

Sep 09 2008

Salduie, campanas y tambores inundan Zaragoza

Hay una cosa que tiene esta ciudad (así como muchas otras de este país) que es que algunas cosas son poco anunciadas. La que hoy nos atañe es un concierto que se ofrecerá esta noche por toda la ciudad. Si, eso es, a las 21:30, en 15 campanarios distintos de la ciudad comenzará un concierto (que sin duda se puede calificar como único) de casi una hora de duración, en el que las campanas de nuestra ciudad que tantas veces hemos oído sonarán junto con un centenar de tambores.

“Salduie”, antiguo nombre de la ciudad, es el título de la composición de Llorenç Barber, director de la obra, musicólogo, instrumentista y compositor. Campanólogo desde 1980, ha dado conciertos en sitios tan dispares como Yokohama, La Coruña, Buenos Aires, Colonia, Wroclaw, Salzburgo…

Llorenç Barber
Fotografía de Asier Gogortza (CC, algunos derechos reservados)

El Pabellón de España de la expo, cierra su programa cultural con este concierto, en el que 66 campanas repicarán simultáneamente para todo el que se encuentre preparado para escucharlas. Los campanarios que sonarán son los de la Iglesia del Portillo, la de San Pablo, San Miguel, San Felipe, El Pilar, La Seo, el Carillón de la Diputación Provincial…

El autor ofrece algunos consejos a quien quiera oir el concierto:

  1. Consulte el mapa. Le descubrirá dónde y cómo se desarrolla el concierto
  2. Cree a su alrededor un espacio de atención y calma. Deje las prisas y los motores apagados
  3. No espere melodías ni ritmos conocidos y banales: es tan sólo un concreto sonar de viejas campanas al aire
  4. Busque lugares abiertos. Mejor cuanto más alto
  5. Muévase y guíese por el oído, y tenga en cuenta que cualquiera de las soluciones que escoja esconderá otras igualmente válidas
  6. No es un concierto pasivo sino que cada cual debe construir su itinerario sonoro en busca de ecos, retumbos y repiques
  7. Este es un concierto de sutilezas, ecos y melancolías, no de estruendos y evidencias
  8. No se sitúe muy cerca de un campanario. Mejor cuanto más equidistante entre varios puntos sonoros
  9. Tómese su tiempo. Recréese en el goce de lo distinto. Evite espacios de sombra sonora
  10. Abra de par en par las puertas de la sensibilidad y la memoria

Dicho todo esto, sólo añadir algunos enlaces y, “Que lo disfruten ustedes”.
http://www.aragondigital.es/asp/noticia.asp?notid=50444
http://www.zaragoza.es/ciudad/noticias/detalleM_Noticia?id=67028
http://exposicionesenzaragoza.blogspot.com/2008/09/ms-de-70-campanas-y-125-tambores.html

Feb 03 2008

Warp sale en Tecnópolis, por salir en Youtube, por salir en Tecnópolis

Hace unos días, Jorge nos enseñó que Warp salía en el programa de Aragón Televisión, Tecnópolis. Una semana más tarde, volvimos a aparecer por tener en youtube el video de la semana anterior.




Este ejercicio de recursividad va a empezar a recordarme a las escenas que quedan al colocarte entre dos espejos:

Espejos recursivos

¿Volveremos a salir gracias a este post…? ;)

Aunque el vídeo donde salimos no estaba directamente relacionado con nosotros, si que aparecía gente conocida como fernand0, hablando de blogia. Como curiosidad, mientras preparaba este post, he visto que camyna había blogueado acerca de la misma entrevista :) Aquí todo el reportaje

Jan 19 2008

¿Dónde está el bug y dónde la feature?

Hace poco me cambié de proveedor de internet por tener problemas de servicio y facturación (que penita dan algunos con sus clientes habituales al cabo del tiempo…). El caso es que cambié a una de las nuevas líneas ADSL2+ de 20 Mb, y me ofrecieron con el alta un router gratis. Me enviaron un Huawei Home Gateway 520.

El router, aunque lleve GNU/Linux y Huawei no libere el código fuente, parece cumplir su función. Hoy enredando, he descubierto que el router permite configurar que automáticamente te actualice tus hosts dinámicos (tipo DynDNS), sin tenerte que preocupar por ellos. “Fantástico!”, he pensado. Al ir a configurar mi host, ha venido el problema cuando la función de javascript que valida el host que introduces no te deja poner nada más que letras, números o guiones bajos. Gracias a esto, mi host habitual de tipo <mihost.is-a-geek.net> es imposible de configurar (por los puntos y guiones).

Pero no estaba todo perdido! El router dispone de un segundo bug (o feature?) que te permite guardar tu configuración en un archivo .xml, editar el fichero exportado escribiendo correctamente tu host, y volverlo a importar. El router no se molesta en volver a comprobar la configuración que le llega, y el host dinámico aparece configurado perfectamente :D

Moraleja:

  • Si vas a forzar que un formulario no acepte cierto tipo de datos, asegúrate de que esos datos realmente no son necesarios
  • Si además vas a importar de algún sitio, datos que vayan a meterse en ese mismo punto, asegúrate de comprobarlos de nuevo

Y es que… las importaciones de datos (sin comprobar) están de moda! ;)

WordPress Themes