Monthly Archives: Octubre 2010

Steve Jobs siente miedo por Android

Android vs iPhoneCierto es que iPhone es un gran teléfono móvil con un gran sistema operativo detrás y que la sensación de uso de iPhone es muy superior a la de Android, pero esto no quiere decir que Steve Jobs empiece a sentir miedo por el desarrollo que Android está teniendo en el mercado de la telefonía móvil. Steve Jobs siempre se ha sentido orgulloso de sus productos y salvo cuando realizaba una dura batalla contra IBM y Microsoft, Jobs no se dedicaba a despotricar sobre otros productos sino a alabar los suyos. Desde que se ofrecieron las últimas cifras de mercado, en las cuales Android ya había sobrepasado a iPhone, Steve Jobs esta empezando a preocuparse. Primero fueron declaraciones sobre que su teléfono era mas "puritano" haciendo referencia a la restricción de aplicaciones censurables que realizaba la marca de la manzana y después de varios rifirafes, Steve Jobs se pone en la piel de los desarrolladores criticando la fragmentación que complica el desarrollo de aplicaciones para Android.

Como desarrollador que ha realizado algunas aplicaciones para Android, debo decir que programar para esta plataforma es muy fácil, ya que con unos conocimientos básicos de Java podemos empezar a programar y su desarrollo de interfaz xml que recuerda un poco al html, la verdad es que no es muy complicado. Lo que si he de decir es que la cosa complica un poco cuando tenemos diferentes dispositivos con diferentes características como puede ser con cámara o sin ella, con bluetooth o sin el y mil cosas mas que nos podemos encontrar. La verdad es que esto en iPhone no pasa ya que se trata de un único teléfono que ha ido evolucionando, pero el mundo no se puede detener en un punto y siento tener que decir en contra de las declaraciones de Steve Jobs, que los desarrolladores desde que salieron del DOS, han debido de trabajar para diferentes formatos, escritorios con diferentes velocidades, versiones, resoluciones, colores y no quiero entrar ya en los que realizamos webs para Internet Explorer, Firefox, Safari, Opera, Chorme y un largo etc. Es por ello que un desarrollador que se precie, esta acostumbrado a realizar ciertas modificaciones de fragmentación para diferentes dispositivos.

Las últimas declaraciones de Jobs muestran como su todopoderoso imperio de telefonía con iPhone esta poco a poco cayendo y cada vez mas gente se pasa al más que versátil Android de Google y al no poder alabar sus productos por encima de Android, empieza la encarnizada guerra de criticas contra el rival. Siento ser un poco sensacionalista, y al igual que dije hace algún tiempo que Microsoft llegaba mal y tarde con Windows Phone 7 a esta guerra, tengo que decirle a Jobs que esta guerra la ha perdido pero aún nadie se lo ha dicho. Lo único que puede hacer Apple para mantener viva esta guerra y no acabar perdiendo con el tiempo es un cambio radical en su iPhone como liberar a los desarrolladores de la estricta política de censura o volver a realizar algo revolucionario en el mercado de la telefonía móvil.

Diferentes formas de seleccionar etiquetas hijas en css

Cuando estamos maquetando una web, muchas veces nos vemos en la necesidad o en la comodidad de aplicar estilos a etiquetas o clases hijas directamente pero a veces esto puede convertirse en un problema. Normalmente cuando se maqueta se suele seleccionar directamente todas las etiquetas hija de un tipo por ejemplo, todos los p que haya dentro de un div con una clase, pero que pasa si tenemos una estructura un tanto compleja y no queremos que todas se comporten de una misma manera, como por ejemplo usando listas y sublistas y queremos que las sublistas tengan un margen que la lista normal no queremos que tenga.

En CSS hay varias formas de seleccionar etiquetas hija, la mas común es la de seleccionar todos los hijos de un tipo, como seria el ejemplo:

.clase ul {
    margin: 0px;
    padding: 0px;
    list-style: none;
}

Con esto decimos que todos los li contenidos dentro de un ul, tengan un estilo, pero ¿Y si queremos hacer un listado mas complejo, con sublistados? Lo que debemos de hacer es decirle que aunque los li dentro de ul se comporten de una forma concreta, los primeros li queremos que se comporten de otra forma. En el siguiente ejemplo se usa para formar un listado con li y ul donde queremos que los primeros li no tengan margen alguno, pero que el resto de li que haya tengan un margen a la izquierda para simular un sangrado automático:

.sidebarBox ul > li > ul {
    margin-left: 25px;
}

Y el html sería el siguiente:

  • lista1
    • lista2

Con esto lista1 no tendra sangrado pero lista2 tendra un sangrado de 25px hacia la izquierda. Espero que os sirva de ayuda.

Cuando GMail o GTalk para Android no funcionan

Hace un par de días me dejaron de funcionar las aplicaciones nativas de GMail y GTalk que vienen instaladas por defecto en Android. Puede que otros no las usen, pero para mi el hecho de que GMail y GTalk no funcionaran fue algo que me mató por dentro. GMail por ejemplo me dejó de descargar mensajes y por mucho que le daba a actualizar, no descarga los mensajes nuevos y GTalk directamente no me abría, me cargaba la pantalla de "cargando" y fugazmente desaparecía, es decir, GTalk no se abre. Como solución temporal configuré el correo de HTC e instale el Fring, pero el correo de HTC aunque bastante mejor que GMail, prefiero la ligereza y la velocidad de GMail, y el Fring, directamente no me gusta, ademas de que al rato de tenerlo abierto y estar en la home se me cierra solo no se por que.

Viendo que esto no era algo de algún cambio que estuvieran haciendo desde Google, me decidí a arreglarlo. La solución ha sido bastante mas sencilla de lo que me imaginaba, como siempre, un limpiado del programa es lo mejor, y para ello nos vamos a Ajustes > Aplicaciones > Administrar aplicaciones y una vez aquí, debemos buscar las aplicaciones que se llaman: "GMail", "Almacenamiento de Gmail", "Google Talk" y "Almacenamiento de Google Talk", esta última solo sale "Almacenamiento de Google" pero se ve el icono de GTalk. En cada una de las fichas debemos de borrar los datos del sistema y para ello pulsaremos el botón de "Borrar datos" y listo, pero eso si, en las 2, su programa y su almacenamiento y si os pasa como a mi que no os funcionan ni GMail ni GTalk pues habrá que hacerlo en los 4. Una vez hecho esto, ya podemos abrir de nuevo las aplicaciones y GMail volverá a recibir correos, aunque tendrá que sincronizarse y si tienes muchos correos tardará un ratín, pero el GTalk funcionará a la primera.

Espero que os haya servido esta pequeña ñapa para cuando no funciona GMail para Android o no funciona GTalk para Android.

Publicado el plugin de WordPress UserAgent theme switcher 2.0

UserAgent theme switcherEn este puente del Pilar, cuando deberia de disfrutar de unas vacaciones, he pillado un gripazo que no me deja moverme de la cama, y como no puedo hacer otra cosa, he decidido finalizar el desarrollo del plugin de WordPress User Agent Theme Switcher. El plugin que ya se encuentra en su versión 2.0 trae importantes mejoras frente a su predecesor, ya que ademas de haberlo reescrito desde cero, se ha añadido funcionalidades, se han separado por funcionamiento las páginas, para que sea mas sencillo modificar las opciones y se ha dado soporte a unos cuantos navegadores mas. La lista de cambios respecto a la versión 1.2 es la siguiente:

  • Se ha reescrito todo el código del plugin para aumentar el rendimiento y para facilitar el desarrollo de futuras mejoras
  • Se ha separado la página de administración en 3 páginas, la de temas por navegador, el modo debug y la futura configuración del cache
  • Se han añadido etiquetas a los navegadores, como gecko a Firefox, mobile a Safari Mobile, Opera Mini, etc. para poder asignar un template por etiqueta para por ejemplo un tema para moviles con la etiqueta mobile
  • Se han añadido iconos para los navegadores y las etiquetas.
  • Se ha traducido todo el plugin al ingles para realizar las traducciones en otros idiomas en futuras versiones
  • Se ha añadido un boton para donar.
  • Se ha añadido soporte para Internet Explorer 9
  • Se ha añadido soporte para Camino para Mac
  • Se ha añadido soporte para Opera Desktop
  • Se ha añadido soporte para IceWeasel
  • Se ha actualizado Safari Mobile para que incluya el navegador del IpodTouch

Recuerdo a quien use este plugin, que puede reportar navegadores no soportados con el modo debug, algo que permitirá ir mejorando poco a poco el plugin.

El que quiera descargarlo puede hacerlo desde el administrador de WordPress buscando "User Agent Theme Switcher" o desde la pagina del plugin en WordPress

Algunas capturas:

Skype para Android, todo son problemas

SkypeEstoy muy interesado en poder tener Skype para Android, porque me permitirá realizar llamadas a amigos aprovechando la tarifa plana de 3g y no pagandola, por lo que para mi en algunos casos es interesante. Varias veces a la semana, suelo entrar en el Android Market en busca de la esperadísima versión oficial de Skype y con mas intensidad después de que Skype, en una clara estrategia de eliminación de la competencia ha negado el acceso a Nimbuz, Fring y similares al API de Skype, algo que decía a voces que estaban a punto de sacar la versión oficial.

Mi desilusión viene al ver que por fin esta la aplicación de Skype para Android en el Android Market, pero al intentar instalarla no he podido. Lo habré intentado como 10 veces sin éxito, a lo que automáticamente he ido a la web de Skype para Móviles skype.com/m y me cargaba una página para descargar Skype para Android, pero al pinchar en descargar me aparece una página de error 404. Indignadisimo, al ver que no había manera de bajarse Skype para Android, me he puesto a investigar por varios foros y blogs, encontrando solo quejas de usuarios diciendo que la versión esta muy verde, con muchos fallos y que no funcionaba bien.

Ahora digo yo, que pasa, ¿Que han eliminado la aplicación porque realmente no estaba lista para la puesta en producción? ¿Han sacado Skype para Android antes de tiempo por las criticas recibidas por cortar el servicio a Fring, Nimbuz y similares? Solo se que estoy muy triste, después de esperar con tanta ansia este programa y primero no poder instalarlo y después que no he visto a ningún usuario que no diese alguna queja sobre el programa. La verdad, esperaba mas de una empresa informática no española y mucho menos con tanto nombre como Skype.

Publicada la versión 0.2 de puntoengine

He publicado la nueva versión de Punto Engine PHP, o PEP en su versión 0.2. Esta versión trae importantes mejoras con respecto a la versión anterior, ya que administra mucho mejor el sistema de templates para poder hacer páginas dinámicas mucho mas fácil y rápido. Entre las mejoras cabe destacar:

  • Añadido un archivo de changelog para poder ver las modificaciones.
  • Ahora el Kernel permite recuperar la ruta virtual (la que accede desde el navegador) aparte de la ya implementada ruta física.
  • Los Servlet tienen ahora un atributo de url para poder realizar controles si fuera necesario.
  • En el web.xml se puede configurar el modo debug para poder tener una traza mas detalla del error que se produjo.
  • En el Servlet se ha añadido un atributo debug para en caso de desarrollo, poder realizar trazas si se desea.
  • El metodo SendRedirect para redireccionar la pagina hacia otra, ahora tiene una funcionalidad como .Net donde si añadimos la clave "~/" al principio de la url, esta sera sustituida por la url del proyecto.
  • Ahora los Servlets pueden tener una MasterPage para tener un template base desde el que cargar el contenido.
  • En los templates, si ponemos la clave "~/" en un enlace, css o similar, sustituira esta por la ruta del proyecto.
  • Se han cambiado los mensajes que aun aparecian en los errores de "IDCS Server" por "Punto Engine Server".
  • Se ha cambiado el HomeController por TestController y se han añadido diferentes funcionalidades de MasterPage y diferentes ejemplos a mostrar para ver su funcionamiento.
  • Se ha corregido un error que provocaba que cuando se lanzaba una excepción no fatal, se seguian mostrando otros errores encadenados.
  • Se ha borrado temporalmente el acceso mediante web.xml al PepAdmin ya que es aun no es funcional.

Las mejoras de esta versión son bastante importantes y permiten un desarrollo mas fluido de las páginas. Para quien quiera descargarlo puede hacerlo entrando en la web del proyecto puntoengine.