Buscar
Social
Ofertas laborales ES
viernes
jun062008

Parser de documentos ODT

Recientemente he publicado un API que permite parsear documentos ODF. En primera instancia, solo lee un documento ODT y puede convertirlo a HTML (con algunas limitaciones). El código es GPL. 

Por el momento no tengo documentación sobre cómo se utiliza. Pero si a alguien le interesa, pueden bajar el proyecto NetBeans conectándose a través de subversion. Allí encontrarán algunas clases de prueba que ejemplifican su utilización.

El sitio es: http://odfparser.googlecode.com

Cualquier cosa, en función de mi disponibilidad horaria, la responderé por foro o email. (eormeno@gmail.com)

jueves
jun052008

OpenXava 3.0.2 disponible

Me complace anunciaros que ya está disponible una nueva versión de OpenXava, la versión 3.0.2.

OpenXava es un Motor de Aplicación JPA. Tú pones tus clases JPA y a cambio obtienes una aplicación completa lista para poner en producción, sin usar generación de código.

Estas son las algunas de las nuevas características de 3.0.2:

Descarga esta nueva versión desde SourceForge.

Más información: http://www.openxava.org/


 

jueves
jun052008

Sony y Samsung construirán televisores con Java incorporado

Samsung y, más recientemente, Sony han anunciado que construirán televisores con soporte para Tru2Way. Esa tecnología pretende proporcionar una experiencia más interactiva a los televidentes. En esta experiencia se incluyen guías de contenido y anuncios interactivos, juegos, chatear, t-commerce (el nombre que le han dado al e-commerce que se realizará a través del televisor). Una de las ventajas que tiene esta tecnología es que hace que desaparezca el "set top box" de la televisión por cable; el televisor será capaz de conectarse directamente a una red de la cual se descargará todo el contenido.

 

Tru2Way se basa en un conjunto de especificaciones Java llamado "OpenCable Platform". Por tanto, el comenzar a incorporar Tru2Way en los televisores es sinónimo de incorporar a Java en ellos.

 

Da la impresión de que Java va a volver con fuerza al campo en el que nació, y en el que fracasó miserablemente, aunque en aquel momento todavía no se llamaba Java sino*7: la televisión digital por cable.

miércoles
jun042008

Entrevista a Jose Luis Huertas Fernández, finalista del Android Challenge por BioWallet

Hace unos días publicamos una entrevista con Juan Carlos, uno de los finalistas españoles en el desafio de Android. Esta vez entrevistamos a Jose Luis Hertas Ferndández autor de la aplicación BioWallet.

Te conocemos como uno de los finalistas del Android Challenge, pero ¿quién es y a qué se dedica Jose Luis en su día a día?

Mi nombre es José Luis Huertas Fernández y soy de Montánchez, un estupendo pueblo de la provincia de Cáceres que recomiendo visitar a todo aquél que no lo conozca.

Estudié ingeniería informática y trabajo como Arquitecto J2EE en el Centro de Innovación Tecnológica (Cenit) que Insa tiene en Cáceres. Mi trabajo diario está relacionado con software, aunque normalmente del lado del servidor, no con dispositivos móviles.


¿Nos podrías comentar en qué consiste la aplicación que has desarrollado para el concurso?


Básicamente es un sistema de autenticación biométrico para dispositivos móviles Android. Actualmente soporta reconocimiento de iris como método de identificación, pero entre los planes de futuro está añadir nuevos mecanismos.

Además de poder ser utilizado como método para acceder al teléfono, BioWallet puede ser usado como un gestor de contraseñas y certificados digitales para permitir el acceso a sitios web, otras aplicaciones, etc. sin necesidad de recordar contraseñas. Toda la información sensible es almacenada utilizando algoritmos de encriptación seguros (AES 256 bits).

¿Cómo nació la idea de tu aplicación?

Después de que se anunciara el lanzamiento de Android y del Android Developer Challenge en Noviembre estuve varias semanas pensando posibles ideas para llevar a cabo. Algunas las descarté porque comencé a ver iniciativas similares en los foros (AndroidScan, por ejemplo) y yo buscaba algo que resultase totalmente innovador. Otras las descarté porque simplemente no eran viables tecnológicamente. Después de mucho investigar y unos primeros prototipos sobre J2SE decidí que esta idea parecía viable y suficientemente original y me lancé a ella.

¿Cuáles fueron las razones que te animaron a presentarte al concurso?

En primer lugar los premios, aunque también la idea de divertirme desarrollando con una plataforma nueva como Android y hacer algo distinto a mi trabajo diario resultaba interesante.

Realmente me pareció que con 50 finalistas en una plataforma que partía de cero sin desarrollos existentes había unas posibilidades reales de clasificarse. Las últimas semanas fueron críticas porque el tiempo se agotaba y la aplicación no avanzaba al ritmo adecuado, pero en los foros se seguían manteniendo unas expectativas de pocos cientos de aplicaciones, lo que me dio ánimos a seguir. Probablemente si hubiese sabido de antemano que el número de participantes iba a rozar los 1800 habría abandonado.

¿Qué se siente en ser uno de los 50 seleccionados de más de 1500 proyectos?

Al principio incredulidad, luego alegría y posteriormente orgullo cuando ves el gran nivel del resto de aplicaciones que se han clasificado y de muchas de las que han quedado fuera. Como anécdota para darse de lo dura que ha sido la competición puedo apuntar que de las siete aplicaciones que presentó el todopoderoso MIT solo una ha pasado el corte a la siguiente fase.

¿El desarrollo de la aplicación ha sido íntegramente tuyo o has trabajado en equipo?

En todo el desarrollo de la aplicación que se presentó a la primera fase del ADC trabajé solo. Para esta segunda sí he la buscado ayuda de cuatro amigos (para poder competir con el resto de finalistas en unas condiciones más parecidas, puesto que la mayoría son empresas o equipos). Por lo que he podido ver la mayoría de participantes que se presentaron a la primera fase en solitario han tomado iniciativas similares.

La verdad es que trabajar en un proyecto ilusionante con un equipo comprometido es un placer. En la primera fase disfruté mucho del desarrollo en solitario, pero en esta segunda me lo estoy pasando aún mejor.


¿Nos podrías explicar cómo fue el desarrollo, puntos importantes o complicaciones con las que te encontraste?.

Bueno, el desarrollo con Android todavía presenta algunos inconvenientes puesto que no se dispone de una versión suficientemente madura de la plataforma. Muchos otros participantes se han encontrado con bugs o cambios en la API que les han retrasado seriamente en su desarrollo. En mi caso el principal problema fue de rendimiento. Comencé llevando a cabo una prueba de concepto con Java corriendo sobre una máquina virtual 1.6.0 de Sun. En este entorno los algoritmos de reconocimiento de Iris necesitaban unos 5 segundos para completar el proceso. Cuando en las últimas semanas comencé a implementar directamente sobre Android me llevé la desagradable sorpresa de que el mismo conjunto de algoritmos corriendo sobre la máquina virtual Dalvik en el emulador necesitaba ¡más de 7 minutos! Por supuesto, hay que tener en cuenta que esos datos no serán comparables cuando la aplicación se ejecute sobre hardware dedicado, pero aún así me obligó a realizar un trabajo de optimización y simplificación de los algoritmos para poder presentar una versión mínimamente usable sobre el emulador, que al fin y al cabo era lo que iban a tener disponibles los jueces para probar.


¿Estarías dispuesto a vender tu aplicación a empresas que estén interesadas en él?

No lo sé, en el caso eventual de que llegaran ofertas habría que valorarlas, por supuesto. Hasta el momento no me lo planteo puesto que no ha habido ninguna oferta sobre la mesa y es un proyecto con el que me divierto haciendo software, por lo que me gustaría seguir vinculado a su desarrollo.

¿Qué nos puedes explicar sobre tu aplicación?

Pues ahora mismo no puedo contar muchos más detalles por varios factores. En primer lugar porque estamos en un proceso de solicitud de patente que no nos permite revelar toda la información que desearíamos. Además de cara a fase 2 utilizaremos una versión no pública del SDK proporcionada por Google para la que hemos tenido que firmar un contrato de confidencialidad. Hemos creado una página (www.biowallet.net) donde iremos colgando toda la información relacionada con el proyecto, aunque hasta después de la ronda 2 del ADC (28 de julio) no creo que podamos publicar mucha información.


¿Nos podrías dar datos respecto al tiempo que has necesitado y el tamaño de tu aplicación?

Realmente la mayoría del tiempo que invertí en la primera ronda no lo dediqué a programar, sino a leer mucho sobre el tema, ver el estado actual de la tecnología, entender los algoritmos y diseñar la mejor combinación de ellos, etc.

Probablemente sumando todo este tiempo más la codificación y pruebas podría estar en torno a 1000 horas.

En cuanto al tamaño, la aplicación que presenté en la primera ronda no es muy grande (hay que tener en cuenta que se trababa de principalmente de un prototipo), aunque seguramente en esta segunda ronda crezca bastante con todas las nuevas funcionalidades que tenemos planeado añadir.


Con los 25.000 dolares de premio, ¿tienes pensado en reinvertirlos a fin de mejorar tu aplicacion o dar soporte comercial?

Bueno, con esos 25000 $ ya se están haciendo algunas cosas como el proceso de patente, el registro de marca, los dominios, el viaje al Google I/O en San Francisco, etc. De todas formas, con el cambio actual de dólar a euros, después de pagar impuestos y demás tampoco va a quedar una cantidad muy alta que permita sentar las bases de un desarrollo sólido de la aplicación. Si hubiese suerte y obtuviésemos uno de los premios de la segunda fase (275000 $ ó 100000 $) ya podríamos hablar de cosas más serias.


Para las personas que no están habituadas a Android, ¿nos podrías comentar como son las ayudas que tienes a la hora de desarrollar aplicaciones con esta plataforma?, tutoriales, apis, documentación, ejemplos, integración con IDE...

Creo que en este sentido Google ha hecho un gran esfuerzo y existe una gran cantidad de documentación tanto didáctica como de referencia. La página oficial (http://code.google.com/android) es un buen punto de partida, aunque también existen portales creados por la comunidad de desarrolladores (www.anddev.org, www.helloandroid.com, etc.) con muchos recursos interesantes.

Además de la propia documentación, el conjunto de herramientas proporcionadas también es bastante potente, incluyendo el propio emulador, plugin de integración con eclipse, depuradores, visores de trazas, etc.


¿Qué aspectos de Android destacarías como puntos fuertes?

Probablemente la abstracción que proporciona sobre los recursos hardware del dispositivo, lo que hace mucho más sencillo y portable el desarrollo de aplicaciones que los utilicen. También me parece interesante el concepto de que no haya aplicaciones privilegiadas del sistema y que cualquiera de ellas pueda ser reemplazada (incluyendo contactos, teléfono, navegador, etc.)


¿Y en contra?

No me gusta la idea de que hayan creado una nueva máquina virtual con su propio bytecode (Dalvik). Creo que no está suficientemente justificado y deberíamos dejar de seguir reinventando la rueda constantemente para poder avanzar.


Me sorprendió la posibilidad de editar el aspecto visual de la aplicación con layouts utilizando XML, ¿qué te parece esta aproximación para crear UI?

La verdad es que resulta interesante, sobre todo cuando tienes interfaces medianamente complejos. Además facilita la aparición de herramientas que puedan generar esos XML basándose en un diseñador gráfico de interfaces (un ejemplo es www.droiddraw.org ).

¿Qué te ha parecido la comunidad que se a formado entorno a Android?. Recuerdo los primeros días que entré en las listas de correo y me sorprendió la gran acogida que tuvo.

Lo cierto es que se ha creado una comunidad bastante numerosa y activa. Además de tratarse de algo novedoso que atrae la atención (como casi todo lo que lanza Google), creo que el lanzamiento del Android Developer Challenge ha supuesto un incentivo más para introducir a mucha gente en esta plataforma.


¿Tienes pensado seguir desarrollando de manera profesional aplicaciones con Android?.

Todavía es pronto para decir algo así. De momento nuestro único objetivo es mejorar la aplicación todo lo posible de cara a la ronda 2 del ADC para intentar calificarnos entre los veinte mejores. Siempre he considerado esto como un hobby, no como un reemplazo a mi trabajo actual, en el que por suerte también disfruto mucho.

¿Consideras que el SO está maduro para aplicaciones en producción?

Aun no. Hay muchas buenas ideas e intenciones detrás de la plataforma pero aún le falta madurez. Todos esperamos que la versión 1.0 que salga al mercado en los primeros dispositivos sea bastante más fiable. En cualquier caso, la plataforma incluirá una característica que permitirá mantener el sistema actualizado a medida que se liberen nuevas versiones.

¿Hasta qué punto te permite Android interactuar con el hardware de los móviles?

Como cualquier otra abstracción, Android facilita el desarrollo ocultando los detalles de bajo nivel del hardware, aunque eso suele implicar un menor control sobre el mismo. En mi caso facilita mucho la tarea de interactuar con la cámara, aunque también echo en falta ciertas características (soporte para múltiples cámaras, control del flash, etc.) que espero se irán añadiendo a medida que la plataforma evolucione.


¿Qué riesgo ves en apostar ahora en el desarrollo para una plataforma como Android de la que no tenemos un hardware para probar los prototipos?

Por supuesto tiene cierto riesgo apostar por una plataforma que todavía no ha vendido un solo dispositivo en el mercado. Sin embargo estoy convencido de que con Google a la cabeza y muchas compañías importantes como miembros de la Open Handset Alliance, Android tiene el éxito asegurado. En el momento en que este sistema operativo se implante definitivamente entre el público aquellos que hayan apostado desde el principio por la plataforma tendrán una ventaja competitiva que podrán aprovechar.

 


Nota personal: agradecer a Erick Camacho por su ayuda y sobretodo a Jose Luis por darnos algo de su tiempo para contestar a las preguntas.
martes
jun032008

Video demostración de  TagsMe™

Antes de la publicación de la versión 1.0 de TagsME GUI, hemos decidido publicar un vídeo demostración del funcionamiento de TagsMe en 17 teléfonos distintos: desde el Blackberry Curve 8300, hasta un Sony Ericsson P910i.

La aplicación en funcionamiento muestra las capacidades de TagsMe, y en el vídeo se enseñan algunas de ellas: animaciones, mapas, sprites... Hay que destacar que en la demostración se ha utilizado el mismo archivo jar generado por TagsMe GUI, y se demuestra como la aplicación se adapta a las diferentes resoluciones.

Que lo disfruten!