Noticias Weblogs Foros Wiki Código
Sponsors:

Meta-Info

¿Que es?

Planeta Código es un agregador de weblogs sobre programación y desarrollo en castellano. Si eres lector te permite seguirlos de modo cómodo en esta misma página o mediante el fichero de subscripción.

rss subscripción

Sponsors

Anunciarse aquí

PlanetaCódigo en inglés

Puedes utilizar las siguientes imagenes para enlazar PlanetaCodigo:
planetacodigo

planetacodigo

Si tienes un weblog de programación y quieres ser añadido aquí, envíame un email solicitándolo.

Idea: Juanjo Navarro

Diseño: Albin

La luna ilumina por igual a culpables e inocentes

Una pregunta en el aire

Marzo 31st, 2005 - [Enlace local]

Saludos.

El otro día, leyendo una página web sobre una aplicación encontré lo siguiente:

Robusto: Más de 230 pruebas Junit.

La primera pregunta que se plantea es bastante obvia: ¿Podemos medir el grado de robustez o fiabilidad de un sistema mediante el número de pruebas?.

No. Un ejemplo muy claro, aunque tal vez un poco extremo. Imaginemos el
siguiente código (que sirve tanto para C como para Java).


int factorial(int n) {
if (n == 1)
return n;
return n * factorial(n-1);
}


Supongamos que escribo 100 pruebas para comprobar los 100 primeros factoriales. ¿Puedo asegurar que el código anterior es robusto?. No. en cuanto reciba un 0 o un número negativo fallará a pesar de sus 100 (o 11000) pruebas.

Otra pregunta, tal vez no tan obvia, es si la robustez o fiabilidad de un sistema está garantizada únicamente por pruebas unitarias.

No. Un ejemplo muy claro lo encontramos en las aplicaciones web. Con pruebas
tipo JUnit, u otra herramienta similar, difícilmente podremos comprobar la respuesta del sistema a un gran número de peticiones concurrentes de distintos clientes, ni si el sistema es capaz de seguir funcionando o se colapsa.

La gran pregunta que habría que responder es: ¿Como podemos garantizar la robustez del sistema?. Lo cual nos lleva a plantearnos: ¿y qué es la robustez?.

Habrá que seguir con esto.

» Leer más, comentarios, etc...

El arte de programar

Detección de movimiento con una webcam

Marzo 30th, 2005 - [Enlace local]

En este proyecto mi intención no es otra que hacer un sistema de detección de movimiento (que no de reconocimiento de objetos).

Detectar movimiento no es una cosa sencilla como pueda parecer a priori, ya que la imágen que pueda dar una camara (en este caso un webcam) no es de una calidad suficiente como para que dos imágenes tomadas en distintos momentos puedan considerarse iguales. Esto es debido a que las cámaras suelen introducir ruido en las imágenes que captan, o dicho de otra forma, un pixel de una posición determinada de la imágen nº1 no suele coincidir casi nunca (por no decir nunca) con un pixel de la misma posición de la imágen nº2 (aún siendo estas tomadas con una diferencia de milisegundos). Es por ello que hay que pensar que nivel de tolerancia hay que permitir para que aunque las imágenes no sean iguales exactamente, la información que contienen si sea similar en gran medida; sin detrimentro por supuesto de que si hay algún movimiento de un objeto o de un ser vivo sea tomado como informaciones distintas y provoque un evento o acción.

Existen varias formas de trabajar con esta tolerancia: algoritmos de detección de bordes (gradientes, derivadas gausianas, transformada de Hough, etc), filtrados descriptores de Fourier, clasificador Bayesiano, etc), etc. Todos ellos sirven, pero no son iguales de rápidos. Es por ello que me decanté por el metodo estadístico de hacer medias de pixeles con los de su alrededor, un metodo sencillo para fijar una tolerancia en escaso tiempo (aunque quizá con un poco de penalización en cuanto a acierto en detección).

El método consiste en tomar cada pixel de la imágen nº1 y sumar su valor con los 8 pixeles que le rodean (una matriz de 3x3) y luego dividir el resultado por 9, por lo que nos da un valor medio. El mismo proceso lo hacemos con los mismo pixeles pero de la segunda imágen, y así obtenemos otro valor medio. Al compararlos podemos detectar cuanto % de diferencia hay entre uno y otro, momento por el cual, gracias a que hemos configurado que nivel de sensibilidad en la diferencia, o se admite como que no es un valor a tomar en cuenta, o sin embargo el valor es distinto y por lo tanto se toma en cuenta. Si se sobrepasa una cantidad determinada de pixeles que se toman en cuenta (sensibilidad por puntos), entónces es que las imágenes no son completamente iguales en cuanto a información y se supone que se ha producido un movimiento (cambio de posicion de entidades en la imágen o aparación de otras nuevas). La idea es que se tome una imágen de referencia (una del entorno estático), y se comparen las restantes con ella, para poder así saber con respecto al origen si ha habido algún cambio. Más tarde se toma otra imagen de referencia eliminando así los problemas que pudieran causar otros agentes (como un cambio atenuado de luz por el sol).

Media de pixeles

Siguiendo esta idea, he desarrollado una aplicación en visual c++ 6.0 llamada DETECTOR donde he aplicado los conceptos anteriormente citados. Podeis descargar el ejecutable y/o su código fuente en esta dirección (esta bajo licencia creative commons): http://www.quejateportodo.com/detemovi

» Leer más, comentarios, etc...

Crear un RSS en su blog

Marzo 26th, 2005 - [Enlace local]

A continuación detallo en un breve artículo, cómo se crea una sindicación RSS en un blog. El RSS está revolucionando el mundo de los blog’s, y ningún blog que se precie puede permitirse el lujo de no poseer su sindicación de contenidos. Haga click en el enlace "leer artículo completo" para una primera toma de contacto.

link

» Leer más, comentarios, etc...

La luna ilumina por igual a culpables e inocentes

Probando exhaustivamente

Marzo 24th, 2005 - [Enlace local]

El siguiente ejemplo está sacado de un libro sobre pruebas bastante famoso.
Nos piden un programa para clasificar un triángulo en equilátero, isósceles o escaleno. Para que tres lados a, b y c formen un triángulo debe cumplirse que s (s = (a +b +c) / 2) sea mayor estricto que a, b y c.
Una posible solución se muestra a continuación.



static final int NOTRIANGULO = 0;
static final int EQUILATERO = 0;
static final int ISOSCELES = 0;
static final int ESCALENO = 0;

public static int tipoTriangulo(int a, int b, int c) {
int s;

s = (a+b+c) / 2;
if ( (s <= a) || (s <= b) || (s <= c))
return NOTRIANGULO;

if ( (a==b) && (b==c) )
return EQUILATERO;

if ( (a==b) || (b==c) || (a==c) )
return ISOSCELES;

return ESCALENO;
}



Sin embargo, lo más interesante es plantear que pruebas necesitamos para verificar a fondo que el código anterior funciona. En este caso, una prueba va a ser un conjunto de valores concretos y el resultado esperado, por ejemplo:

(3, 3, 3) : EQUILATERO
(3, 3, 4) : ISOSCELES
(3, 4, 5) : ESCALENO
(2, 2, 6) : NOTRIANGULO

¿Cuantas pruebas necesitamos para tener la certeza que hemos probado todas las posibles combinaciones?. ¿Cómo obtenemos esas pruebas?. Una técnica clásica que podemos utilizar es analizar las estructuras de control. Esta es una técnica de caja blanca.
Por ejemplo, en el caso de un triángulo isósceles, vemos que ha de cumplirse una de tres condiciones posibles. Por tanto, en este caso hemos de verificar las tres condiciones. Las pruebas resultantes se muestran a continuación:

(3, 3, 4), (3, 4, 3), (4, 3, 3) : ISOSCELES

Aplicando este mismo proceso al resto de los casos obtenemos el resto de pruebas. Sin embargo esto aún no es suficiente. Por ejemplo: ¿qué sucede cuando un lado es 0 o negativo, o cuando un lado vale el valor máximo que un tipo int puede almacenar?. ¿Es posible introducir lados decimales o lados que no sean valores numéricos?. Todas estas circunstancias deberían ser probadas también.
En este caso, para completar el conjunto de pruebas, podemos aplicar una técnica de prueba de caja negra llamada análisis de valores límites. Por ejemplo, para verificar que el programa sigue funcionando cuando uno de sus lados es 0 las pruebas serán:

(0, 3, 3), (3, 0, 3), (3, 3, 0) : NOTRIANGULO

Calculando todas las posibles combinaciones se obtiene aproximadamente 30 casos de prueba distintos, lo cual da una medida de lo importante que es probar convenientemente cualquier código.

» Leer más, comentarios, etc...

Planeta Código

Marzo 24th, 2005 - [Enlace local]

Fantástica la iniciativa tomada por Juanjo Navarro de crear un planeta sobre programación y desarrollo de software a partir de bitácoras en castellano que traten estos temas.

Sobre los planetas, o planets en inglés, ya hablamos no hace mucho con motivo del estreno de otro sitio de semejantes características. Lo cierto que a mí personalmente me encantan, además que los veo como una de las aplicaciones prácticas más interesantes que el RSS ofrece.

La idea de formar un agregador web para bitácoras sobre programación en castellano fue planteada en más que código hace unos días. Como era de esperar, al menos bajo mi punto de vista, tuvo una excelente aceptación entre los lectores y justo ayer se hizo publico la puesta en marcha del nuevo servicio para interesados por la programación y asiduos a la lectura de bitácoras :-)

Por el momento se puede encontrar subscrito al planeta poco más de media docena de bitácoras. Un número no muy elevado aparentemente pero no por ello signo negativo dado la temática, bastante concreta, propuesta y la escasa vida del proyecto. A mí personalmente me parece más positivo mantener una cantidad reducida de bitácoras subscritas si así se consigue mantener la máxima calidad en el enfoque de las anotaciones que aparezcan enlazadas. Es decir, pienso que sería mucho más apropiado mantener al máximo posible el carácter especializado que ofrece Planeta Código en estos momentos antes de permitir la agregación de bitácoras de todo tipo que traten, también, temas sobre programación y desarrollo de software. Un ejemplo a lo que digo es, precisamente, esta bitácora; aquí a veces se puede leer algo sobre programación pero no por ello tiene por qué ser una buena candidata para crear contenido en el planeta. Muchos escritores de bitácoras, como ésta, pienso que deberían abstenerse y recapacitar antes de formar parte de Planeta Código, creo que así es otra buena forma de ayudar al planeta: manteniendo su contenido lo más aferrado posible a su temática planteada.

¿Ideas para este planeta y escritores de bitácoras de carácter polivalente? Pues se me ocurre una muy sencilla :-) Permitir la agregación de feeds no solo de bitácoras sobre temas exclusivos de programación sino también añadir los feeds RSS de las categorías sobre programación de algunas bitácoras no monotemáticas. Desde luego hay bitácoras que aún no centrándose únicamente en temas de programación son capaces de tratar éstos de un modo bastante trabajado. Además de que bitácoras realmente monotemáticas enfocadas a la programación / desarrollo son difíciles de encontrar solamente en castellano.

Y bueno, sobre la creación de Planeta Código decir que se ha empleado la herramienta Planet y que además mantiene una bitácora donde encontrar temas relacionados con el desarrollo del proyecto, sobre el software empleado y cosas así.

En fin, aquí mi opinión y mi apoyo para este nuevo sitio. Espero que cause el interés que se merece entre “la comunidad“. ¡Enhorabuena y adelante!

» Leer más, comentarios, etc...

Pointer to (void)

Direcciones positivas

Marzo 24th, 2005 - [Enlace local]

Antes de irme de vacaciones unos dias:
Miguel de Icaza Explains How to "Get" Mono by Howard Wen -- It's perhaps the most controversial project in the open source world, but this mostly stems from misunderstanding: Mono, the open source development platform based upon Microsoft's .NET framework. Immediate reactions from many dubious Linux developers have ranged from confusion over its connection with .NET to wondering what the benefits of developing under it are. Throughout the course of its four years of intense development, sponsored by Novell, Mono founder Miguel de Icaza has had to frequently clarify the .NET issue and sell the community on it. In this new interview, Howard Wen asks Miguel to explain himself one more time.

Fuente: O'Reilly OnDotnet.com

» Leer más, comentarios, etc...

Pointer to (void)

Direcciones positivas

Marzo 24th, 2005 - [Enlace local]

Antes de irme de vacaciones unos dias:

Miguel de Icaza Explains How to "Get" Mono by Howard Wen -- It's perhaps the most controversial project in the open source world, but this mostly stems from misunderstanding: Mono, the open source development platform based upon Microsoft's .NET framework. Immediate reactions from many dubious Linux developers have ranged from confusion over its connection with .NET to wondering what the benefits of developing under it are. Throughout the course of its four years of intense development, sponsored by Novell, Mono founder Miguel de Icaza has had to frequently clarify the .NET issue and sell the community on it. In this new interview, Howard Wen asks Miguel to explain himself one more time.

Fuente: O'Reilly OnDotnet.com

» Leer más, comentarios, etc...

El arte de programar

Otro sistema más para combatir el antispam

Marzo 23rd, 2005 - [Enlace local]

Hace ya tiempo que le estuve dando vueltas a como combatir el spam de una vez por todas...

Es de sobra conocido que los filtros anti-spam tienen dos defectos, por un lado filtran muchas veces correos spam como legítimos, y viceversa, correos que estamos esperando no los recibimos porque el filtro los considera spam.

La solución de tener listas negras de ips (los dominios no sirven porque los spammers pueden poner el que quieran como remitente) no es en absoluto fiable, ya que por ejemplo un usuario puede enviar spam desde una linea adsl (ya sea conscientemente o sin saber que esta infectado por un troyando o virus) y al ser ip dinámica, otro usuario que la tome posteriormente no podrá enviar emails; o aún peor, meter a todo un rango de ips en una lista negra (como pasó con telefonica) y fastidiando a todos los usuarios de ese ISP que quieran enviar emails.

El sistema que hace google (y desarrollado por yahoo) de firmar los emails esta bién, pero aún no esta implantado masivamente y tardará aún mucho que todos los programas servidores y clientes de SMTP lo implanten (y peor aún cuando Microsoft no lo tome como estandar y se invente el suyo propio).

Mi solución, a falta de cubrir ciertos aspectos técnicos se presenta en el siguiente diagrama:


Básicamente consiste en pedir confirmación de los emails a su remitente antes de tomarlos como buenos en futuras ocasiones. Faltarían detalles como listas de correos o publicidad requerida, pero este sistema funcionaría con la tecnología actual y funcionaría como puente entre el servidor POP3 y el cliente de correo.

» Leer más, comentarios, etc...

La luna ilumina por igual a culpables e inocentes

Enlaces sobre refactorización

Marzo 22nd, 2005 - [Enlace local]

Saludos.

Para aquellos interesados en tener a mano información breve y funcional sobre refactorizaciones, puede echarle un vistazo a estos dos enlaces publicados en Agile Spain (www.agile-spain.com/):

En el primero nos muestran una tabla con malos olores y enlaces a las refactorizaciones recomendadas para eliminarlas:
http://wiki.java.net/bin/view/People/SmellsToRefactorings

En el segundo nos explican las refactorizaciones mediante sencillos (muy sencillos) diagramas parecidoa a UML:
http://www.refactoring.be/thumbnails.html

Además de estos enlaces no hay que dejar de visitar el blog en español:
http://www.programacion.com/blogs/14_refactoring

» Leer más, comentarios, etc...

Estan de moda los desarrolladores java ?

Marzo 17th, 2005 - [Enlace local]

Esta semana me ha sucedido una cosa muy curiosa. Resulta que tengo registrado mi curriculum en dos portales de empleo (infojobs y monster.es) más que nada para tener ordenados mis datos, ya que no soy buscador activo de trabajo (aunque nunca se sabe…). El caso es que aunque mi curriculum lleva ahí varios años acumulando polvo (y con alguna actualización pendiente),esta semana he recibido 6 llamadas 6 de otras tantas empresas interesadas en concertar una entrevista de trabajo. Esto me sorprendió mucho porque yo nunca me había apuntado a ninguna de las ofertas que publican estos portales y jamás había recibido ninguna llamada de ese tipo en los más de tres años que mis datos llevan colgados por ahí, aunque no voy a negar que la sorpresa ha sido grata, porque significa que “estoy en el mercado”.

La verdad es que me quedé con las ganas de saber qué es lo que ofrecian pero por teléfono no me dieron ninguna información, aunque a alguien se le escapó que estaban interesados en mi experiencia como desarrollador J2EE. Esto me hace pensar que quizás sea ahora cuando se esté produciendo el auténtico despegue masivo de la tecnología Java en este país (Spain) y no exista la suficiente mano de obra cualificada. Para mi, estos 3-5 últimos años han servido para que las organizaciones experimenten tímidamente con Java, y ahora que han comprobado que esta tecnología es útil se han decidido a pegar el salto.

¿Hacen falta desarrolladores java? seguro que si, y encontrarlos es muy fácil, pero que además tengan experiencia es otro cantar. Últimamente he comprobado que las grandes empresas están confiando proyectos de gran envergadura a equipos repletos de becarios, personal subcontratado, etc., y así pasa lo que pasa. Aunque nunca hay que olvidar que estamos en España, el país de las ñapas …

» Leer más, comentarios, etc...

Null Pointer Exception

Estan de moda los desarrolladores java ?

Marzo 17th, 2005 - [Enlace local]

Esta semana me ha sucedido una cosa muy curiosa. Resulta que tengo registrado mi curriculum en dos portales de empleo (infojobs y monster.es) más que nada para tener ordenados mis datos, ya que no soy buscador activo de trabajo (aunque nunca se sabe...). El caso es que aunque mi curriculum lleva ahí varios años acumulando polvo (y con alguna actualización pendiente),esta semana he recibido 6 llamadas 6 de otras tantas empresas interesadas en concertar una entrevista de trabajo. Esto me sorprendió mucho porque yo nunca me había apuntado a ninguna de las ofertas que publican estos portales y jamás había recibido ninguna llamada de ese tipo en los más de tres años que mis datos llevan colgados por ahí, aunque no voy a negar que la sorpresa ha sido grata, porque significa que "estoy en el mercado".

La verdad es que me quedé con las ganas de saber qué es lo que ofrecian pero por teléfono no me dieron ninguna información, aunque a alguien se le escapó que estaban interesados en mi experiencia como desarrollador J2EE. Esto me hace pensar que quizás sea ahora cuando se esté produciendo el auténtico despegue masivo de la tecnología Java en este país (Spain) y no exista la suficiente mano de obra cualificada. Para mi, estos 3-5 últimos años han servido para que las organizaciones experimenten tímidamente con Java, y ahora que han comprobado que esta tecnología es útil se han decidido a pegar el salto.

¿Hacen falta desarrolladores java? seguro que si, y encontrarlos es muy fácil, pero que además tengan experiencia es otro cantar. Últimamente he comprobado que las grandes empresas están confiando proyectos de gran envergadura a equipos repletos de becarios, personal subcontratado, etc., y así pasa lo que pasa. Aunque nunca hay que olvidar que estamos en España, el país de las ñapas ...

» Leer más, comentarios, etc...

La luna ilumina por igual a culpables e inocentes

Pruebas con aspectos

Marzo 15th, 2005 - [Enlace local]

Saludos.

Nos han publicado en JavaHispano un trabajo que presentamos el año pasado en un estupendo workshop. El trabajo versa sobre como aplicar programación orientada a aspectos para escribir pruebas unitarias, y que ventajas aporta frente a la clásica herramienta JUnit. Los pocos ejemplos están escritos en Java y AspectJ.

Para quien tenga interés, el enlace es: http://www.javahispano.org/articles.article.action?id=96

» Leer más, comentarios, etc...

La luna ilumina por igual a culpables e inocentes

Fin de la operación limpieza.

Marzo 12th, 2005 - [Enlace local]

Saludos.

Aunque aún quedan algunos ejercicios con semáforos, la operación limpieza queda oficalmente clausurada. Si alguien quiere los ejercicios que faltan puede pedírmelos por correo electrónico.
Dentro de unos pocos meses empezaré otra operación de limpieza, pero esta vez para ejercicios básicos en Java.
Mientras tanto retomaré la idea original de este blog e iré escribiendo comentarios referentes a Java y reflexiones pruebas del software.

» Leer más, comentarios, etc...

Java en los telefonos moviles

Marzo 11th, 2005 - [Enlace local]

Curiosamente llevaba unos días pensando sobre el tema cuando vi la encuesta del mes en javaHispano así que decidí­ esperar un poco a ver los resultados de la misma y los comentarios a esta noticia para comentar mis impresiones.

Lo primero que llama la atención es la cantidad de aparatos que no soportan java y la cantidad de gente que no tiene teléfono, sobre todo si tenemos en cuenta que la encuesta se ha realizado sobre desarrolladores, es decir, personas que conocen la tecnología (es mas, ¡la construyen!). Otro dato curiososo es la ligera ventaja de midp 2.0 sobre 1.0, lo que desde mi punto de vista indica que los “frikis”, los que conocen bien la tecnologí­a (y posiblemente trabajen con ella) les gusta estar actualizados.

Sin embargo el dato más llamativo (vuelvo a repetir, teniendo en cuenta el ámbito de la encuesta), es que la mayorí­a desconoce que tipo de soporte java tiene su teléfono móvil, lo que indica que no lo han utilizado mucho. La pregunta es ¿de quién es la culpa de esta situacion? ¿de Sun, por no haber publicitado adecuadamente la tecnología? ­¿de los fabricantes de teléfonos, por no dar suficiente información?, ¿de los ¿profesionales? del sector? (me tomo la licencia de usar interrogaciones anidadas), ¿de los usuarios, que no se preocupan por conocer sus aparatos?. En mi humilde opinión todos los implicados tienen su pequeña parte de culpa:

Sun, por no haber promovido adecuadamente el entendimiento de J2ME en un mercado que afectaba directamente al consumidor de la calle. Quizás la compañí­a, tan acostumbrada a tratar con otras empresas (muchas de ellas del sector), no estaba preparada para “vender” al ciudadano. Personalmente echo de falta una marca mas reconocible por el usuario de a pie, algo como “microjava”, “mobijava”, “javamobile”, o yo que sé, pero desde luego algo mas intuitivo que “cldc” o “midp”. Por ejemplo todos los usuarios de ordenadores saben que tienen “windows”, aunque no tengan ni idea de informática.

Los fabricantes de móviles está claro que intentan vender su producto de la mejor manera que pueden, y si en un momento dado les interesa destacar que un determinado aparato tiene la pantalla mas grande que la tele del salón, lo van a hacer aunque ignoren otras caracterí­sticas. Lo que ya no es tan normal es que en las páginas web que dedican a sus productos ignoren estos detalles. Como ejemplo propongo un juego: en esta pagina están las caracterí­sticas técnicas de mi actual teléfono, a ver si adivináis el soporte java que tiene ¿midp 1.0 ó midp 2.0?

Los profesionales del sector, como por ejemplo los periodistas especializados tampoco saben informar de los productos y las tecnologí­as (¿periodistas? ¿técnicos?). Por ejemplo hace unos dí­as me compré un par de revistas dedicadas a las tecnologí­as móviles (una de ellas se vende como un completo catálogo de productos para el 2005) ya que tengo pensado renovar mi teléfono (a uno con midp 2.0, si has acertado la pregunta anterior). Sin embargo la información ofrecida es bastante deficiente, lo máximo que se llega a informar de los terminales es del tipo “java = si”, aunque he llegado a ver cosas como “soporta juegos java”. Si señor, java es solo para jugar … y esto lo dicen los “entendidos” del tema.

Los usuarios son los menos culpables, ya que a la mayorí­a estos temas no les interesan. Muchos solo utilizan las funciones básicas de los teléfonos. Es la tipica respuesta (que tantas veces he tenido que escuchar) del “Yo solo quiero un teléfono para hablar”. Yo también quiero un coche solamente para ir de un sitio a otro y a la hora de comprarlo me intereso por otras cosas (aire acondicionado, elevalunas,…). ¿Cuando te compras un ordenador no miras qué sistema operativo y qué version tiene?. ¿Java para juegos? si claro, igual que un ordenador solo sirve para jugar (mmm, ¿o no?). Ahh, que no me interesa la versión de java, pero la versión de wap, la sensibilidad de la cámara de fotos, son caracterí­sticas superimportantes …

Después de esta chapa quizás os preguntéis ¿es tan importante el tema?. Yo creo que si. Por ejemplo, actualmente estoy desarrollando una aplicación (no un juego) que utiliza caracterí­sticas de midp 2.0 (concretamente conexiones https). ¿Como se puede comercializar una aplicación así­ en la situación actual? ¿Como explicas que se necesita midp 2.0 en el teléfono, cuando ni siquiera programadores java saben si lo tienen? Con lo facil que es en el mundo de las aplicaciones para pc (”se requiere guindous equispe y …”). Esto sin duda solo puede suponer un obstáculo para que la tecnología J2ME siga creciendo más allá de los juegos para móviles …

» Leer más, comentarios, etc...

Null Pointer Exception

Java en los telefonos moviles

Marzo 11th, 2005 - [Enlace local]

Curiosamente llevaba unos días pensando sobre el tema cuando vi la encuesta del mes en javaHispano así que decidí­ esperar un poco a ver los resultados de la misma y los comentarios a esta noticia para comentar mis impresiones.

Lo primero que llama la atención es la cantidad de aparatos que no soportan java y la cantidad de gente que no tiene teléfono, sobre todo si tenemos en cuenta que la encuesta se ha realizado sobre desarrolladores, es decir, personas que conocen la tecnología (es mas, ¡la construyen!). Otro dato curiososo es la ligera ventaja de midp 2.0 sobre 1.0, lo que desde mi punto de vista indica que los "frikis", los que conocen bien la tecnologí­a (y posiblemente trabajen con ella) les gusta estar actualizados.

Sin embargo el dato más llamativo (vuelvo a repetir, teniendo en cuenta el ámbito de la encuesta), es que la mayorí­a desconoce que tipo de soporte java tiene su teléfono móvil, lo que indica que no lo han utilizado mucho. La pregunta es ¿de quién es la culpa de esta situacion? ¿de Sun, por no haber publicitado adecuadamente la tecnología? ­¿de los fabricantes de teléfonos, por no dar suficiente información?, ¿de los ¿profesionales? del sector? (me tomo la licencia de usar interrogaciones anidadas), ¿de los usuarios, que no se preocupan por conocer sus aparatos?. En mi humilde opinión todos los implicados tienen su pequeña parte de culpa:

Sun, por no haber promovido adecuadamente el entendimiento de J2ME en un mercado que afectaba directamente al consumidor de la calle. Quizás la compañí­a, tan acostumbrada a tratar con otras empresas (muchas de ellas del sector), no estaba preparada para "vender" al ciudadano. Personalmente echo de falta una marca mas reconocible por el usuario de a pie, algo como "microjava", "mobijava", "javamobile", o yo que sé, pero desde luego algo mas intuitivo que "cldc" o "midp". Por ejemplo todos los usuarios de ordenadores saben que tienen "windows", aunque no tengan ni idea de informática.

Los fabricantes de móviles está claro que intentan vender su producto de la mejor manera que pueden, y si en un momento dado les interesa destacar que un determinado aparato tiene la pantalla mas grande que la tele del salón, lo van a hacer aunque ignoren otras caracterí­sticas. Lo que ya no es tan normal es que en las páginas web que dedican a sus productos ignoren estos detalles. Como ejemplo propongo un juego: en esta pagina están las caracterí­sticas técnicas de mi actual teléfono, a ver si adivináis el soporte java que tiene ¿midp 1.0 ó midp 2.0?

Los profesionales del sector, como por ejemplo los periodistas especializados tampoco saben informar de los productos y las tecnologí­as (¿periodistas? ¿técnicos?). Por ejemplo hace unos dí­as me compré un par de revistas dedicadas a las tecnologí­as móviles (una de ellas se vende como un completo catálogo de productos para el 2005) ya que tengo pensado renovar mi teléfono (a uno con midp 2.0, si has acertado la pregunta anterior). Sin embargo la información ofrecida es bastante deficiente, lo máximo que se llega a informar de los terminales es del tipo "java = si", aunque he llegado a ver cosas como "soporta juegos java". Si señor, java es solo para jugar ... y esto lo dicen los "entendidos" del tema.

Los usuarios son los menos culpables, ya que a la mayorí­a estos temas no les interesan. Muchos solo utilizan las funciones básicas de los teléfonos. Es la tipica respuesta (que tantas veces he tenido que escuchar) del "Yo solo quiero un teléfono para hablar". Yo también quiero un coche solamente para ir de un sitio a otro y a la hora de comprarlo me intereso por otras cosas (aire acondicionado, elevalunas,...). ¿Cuando te compras un ordenador no miras qué sistema operativo y qué version tiene?. ¿Java para juegos? si claro, igual que un ordenador solo sirve para jugar (mmm, ¿o no?). Ahh, que no me interesa la versión de java, pero la versión de wap, la sensibilidad de la cámara de fotos, son caracterí­sticas superimportantes ...

Después de esta chapa quizás os preguntéis ¿es tan importante el tema?. Yo creo que si. Por ejemplo, actualmente estoy desarrollando una aplicación (no un juego) que utiliza caracterí­sticas de midp 2.0 (concretamente conexiones https). ¿Como se puede comercializar una aplicación así­ en la situación actual? ¿Como explicas que se necesita midp 2.0 en el teléfono, cuando ni siquiera programadores java saben si lo tienen? Con lo facil que es en el mundo de las aplicaciones para pc ("se requiere guindous equispe y ..."). Esto sin duda solo puede suponer un obstáculo para que la tecnología J2ME siga creciendo más allá de los juegos para móviles ...

» Leer más, comentarios, etc...

Banana Republic of Europe

Marzo 8th, 2005 - [Enlace local]

Por fin , nos la metieron por detrás, las patentes de software. Esperemos que el Parlamento Europeo, tire para atrás,…

» Leer más, comentarios, etc...

Pointer to (void)

La buena música

Marzo 5th, 2005 - [Enlace local]

Por fín dos muy buenos amigos se han apuntado a la fiebre del blog y han empezado a escribir. Si os gusta la buena música, no dudeis en visitarlo: melomalolo. Vale la pena, en serio.

Más cosas, me sumo a la iniciativa contra el spam, Bloggers of the World, Unite!, así que iros animando a poner un a link a la wikipedia: Online Poker. (gracias a eCuaderno por el link).

» Leer más, comentarios, etc...

Pointer to (void)

La buena música

Marzo 5th, 2005 - [Enlace local]

Por fín dos muy buenos amigos se han apuntado a la fiebre del blog y han empezado a escribir. Si os gusta la buena música, no dudeis en visitarlo: melomalolo. Vale la pena, en serio.

Más cosas, me sumo a la iniciativa contra el spam, Bloggers of the World, Unite!, así que iros animando a poner un a link a la wikipedia: Online Poker. (gracias a eCuaderno por el link).

» Leer más, comentarios, etc...