It’s alive!

Se me caen las lágrimas :cry: me acabo de bajar el Opera 9.5 para Linux y muestra el Flash. Para los que no estaban enterados, un fallo de programación en el Flash 9 hace que el plugin sólo esté soportado en navegadores GTK+ como Firefox y no en navegadores QT como Opera.

Como de costumbre la gente de Adobe no arregla sus problemas y les chupa un huevo si sus productos andan o no (para más referencias revisar flash para Linux de 64 bits) así que Opera tuvo que arreglar las cagadas de otras empresas y en la versión 9.5 cambiaron la forma en la que carga el plugin (supongo que simula un loop GTK+ pero no estoy seguro) para que funcione.

Me da un poco de bronca que una empresa a la que le importan los usuarios tenga que arreglar el moco de otra que se caga en los usuarios, en especial porque la segunda tiene más chapa. Pero bueno, no voy a dejar que nada opaque el momento tan feliz que tengo. Ahora puedo volver a navegar con mi ex-navegador favorito (y sí, ya me acostumbré demasiado a Firefox) y ver videos idiotas en YouTube :grin:

Robar es divino

Es extraño el papel de Apple en la historia. Crear cosas que usen pocos, para que todas las demás empresas de la informática se las roben y las popularicen. Aún hoy, mucha gente usa ventanitas sin saber a quién se las robaron. Por supuesto, Apple no son santos, y chorearon bastante a Xerox en su momento.

Te invito a que mires el siguiente ejemplo, que encontré hace un par de días en un feed de Sun.

Lanzá el programa

Sí, no solo Microsoft roba, todos lo hacen. “Copiar es humano, robar es divino”, brindo por el que lo haya dicho. Aunque seguramente se lo robó a otro.

Vota!

Lástima que el WP no tenga una forma nativa de hacer miniposts.

En RIAWars se preguntan quién va a ganar. Hasta ahora va ganando Flex/Air.

Patrones en interfaces

El título debería ser “Patrones extraños en diseños de interfaces”, pero cuando blogueo con el cliente offline no me conviene usar eñes o tildes en los títulos…

Lo siguiente es una limadura cerebral causada por leer a Jesse Ruderman y el Marqués de Sade Jakob Nielsen.

Estaba haciendo la interfaz de un programa (no pregunten por qué no programo los backends). Me dí cuenta de que con el NetBeans le podés asignar un ícono a cualquier cosa: botones, menús, etc.

Entonces hice esto:

Screenshot del Sardaukan editor

Como se ve, uso 8 íconos: Íconos para el Sardaukan editor algunos no se ven en el screenshot porque están en los menúes archivo y ayuda.

Los íconos me los choreé del Crystal Project de Everaldo. Una cosa que noté es que, si bien tenemos librerías, APIs y código open source no tenemos gráficas… tuve que sacar de la galera y reciclar ese pack de íconos para KDE.

Primero agarré todos los íconos de 16×16 (no iba a usar más grandes), los metí en un JAR y los linkeé al programa. El pack de íconos pesaba como 3 MB… obviamente la gran mayoría de los íconos no los usaba. ¿Cuánta gente hará ese tipo de cagadas?

Creé una carpeta dentro del source y le puse (sueltos) los íconos que si iba a usar, que son 9 (uno no lo usé) y pesan 40 KB, una gran diferencia.

Y me quedé pensando… el programa en cuestión será (cuando me gaste en hacerle el backend) un editor de texto. ¿Por qué ponerle tantos íconos? Los íconos son para los analfabetos :smile: o sea, son para los chicos que no saben leer, ¿Hace falta un puto ícono de guardar para saber qué ese es el botón de guardar?

Y algo mejor. ¿Por qué seguimos usando un diskette como ícono de guardar? Ya casi nadie usa diskettes, y desde las iMac las computadoras vienen sin diskettera. Alguien que recién ahora empiece con la computación se preguntará lo mismo.

Y el mayor de todos los interrogantes ¿Por qué Sibarita es tan rico?

Acá tenés la interfaz como Java Web Start lanzar programa Java Web Start, el JAR para descargar y el código fuente.

Cambio de mentalidad

Continuando la entrada anterior, donde ni siquiera mostré JavaFX (sino el Java común y corriente) quiero ahondar en la muerte de un esquema viejo que venimos arrastrando desde hace décadas.

El tema de usar un sistema operativo para correr un programa. Parece obvio, pero no lo es. Hoy en día no es necesario tener un sistema operativo para correr tal o cual programa. Antes, cuando Sun sacó Java al mercado hace 10 años Microsoft se reía de eso, decían que los pocos componentes de Java no permitían hacer todo tipo de programas y sólo programas triviales (notorio, la mayoría de la gente solo usa programas triviales como MSN o Word que tranquilamente se pueden escribir en Java) y decían que era el mínimo común denominador del software, un soft que solo le sirve al programador y no al usuario.

Sin embargo, hacer un programa cuya dependencia no es un sistema operativo completo sino un simple runtime de algunas decenas de megas para instalar encima del sistema sea cual sea, es una idea genial. Yo no pensaría en hacer, hoy por hoy, un programa que para usarlo necesites “Windows XP SP2″ o “Windows Vista SP1+1 GB de RAM”, ni siquiera “Ubuntu Linux 7.04″. Me parece un suicidio. En especial porque, muy probablemente, ese programa sea el tipo de boludez trivial que no necesite ninguno de los archiconocidos recursos de los sistemas operativos. Si no uso DirectX, si no uso SDL, si no uso OpenGL, ni un carajo de lo que Windows/Linux/Mac OS/Solaris/poronga tengan para ofrecerme porque simplemente quiero una puta ventana que se conecte a una puta base de datos… ¿para qué uso un Sistema Operativo?

Por suerte, esta visión es cada vez más generalizada. Ya no sé quién se cree que realmente necesitas tener Windows Vista porque van a haber programas que no anden en XP.

Microsoft mismo lo sabe y por eso impulsan tanto .Net, un runtime de menos de 30 MB disponible para Windows y Mac OSX. Un runtime que tiene un port en Linux llamado Mono. El sistema de instalación y ejecución vía web (hoy llamamos a eso Rich Internet Application) de .Net es Silverlight, y tiene su versión linuxera llamada Moonlight.

Sun sigue con Java, su runtime de 15 MB con la que se pueden correr programas como Azureus, LimeWire, etc. Y Adobe con Apollo, cuya alfa para Windows pesa ¡6 MB! y cuando esté finalizado no creo que supere los 10 MB.

Increíble. Tener instalado un Windows que ocupa varios gigas cuando el verdadero entorno de ejecución de tus programas pesa 10 MB.

Si querés el runtime de Python no pesa más de 11 MB, el de Ruby otro tanto, y pronto tendremos LINA, un runtime para correr binarios de Linux en cualquier plataforma.

No me queda más que festejar la muerte del .exe, y alegrarme de que la gente se de cuenta: si podés correr un programa en el celular, no necesitás una PC con 2 GB de RAM.

La programación que viene

Todos van a hablar de esto… Cada tanto aparece una movida grosa en el mundo de la programación que nos hace plantearnos a qué nos vamos a tener que dedicar los próximos 5 o 10 años.

Hoy en día hay lenguajes para cualquier cosa. Tenemos la pelea del servidor web: PHP, ASP (hoy es ASP.Net) y JSP, además de los servlets Java, los CGI y demases. Dentro de la programación más clásica, VB es un fiambre, C++ perdurará por siempre porque funciona, y Java se expande hacia cada vez más cosas. Microsoft apuesta con una buena plataforma finalmente como es .Net y un buen lenguaje que es C#, dejando toda la basura que hacían antes. También están los lenguajes multiuso como Python y Ruby(onRails) que permiten hacer programas de escritorio, scripts de consola, aplicaciones web, etc. Muy poderosos.

Pero hay un ente en discordia, quizás retome el trono que en su momento tuvo Borland, y plantea el futuro de la programación: Adobe. Adobe está forzando un cambio que es por un lado algo muy necesario e interesante, y por otro lado más de lo mismo. Se trata de las Rich Internet Applications (RIA). Una aplicación de Internet robusta es un programa que está en la web, se descarga y/o instala con un click y ya lo estás usando. Esto, que parece muy novedoso, es más viejo que la injusticia.

Para seguir reinventando la rueda, esto ya lo vimos con los Applets Java, con ActiveX, con JavaWebStart, etc. Estuvo todo en el freezer por culpa de Microsoft y su soft con instaladores .exe,. Pero está tomando mucho impulso ahora. Sun hizo ciertos cambios a Java y sacó JavaFX, un lenguaje de scripting liviano para hacer RIAs y que por supuesto voy a usar yo. Adobe tiene AIR, antes conocido como Apollo, que va a ser grosísimo. Y Microsoft sacó Silverlight, un sistema similar a AIR basado en .Net. La idea es simple, pequeñas aplicaciones que se instalen con un click desde la caché del navegador y permitan hacer cosas grosas.

Te tiro un ejemplo de lo que ya se podía hacer. Si tenés Java actualizado (1.6) clickeá en el botón de abajo para lanzar una aplicación independiente, de tan solo 18 KB, en su propia ventana que muestra una foto de Crimpis.

Aplicación Java

Así que si estás pensando en aprender a programar, metele pata a estas tecnologías que son el futuro. Los instaladores ya fueron, los .exe y toda esa boludez para la gilada.

EDIT: que pelotudo que soy, me había olvidado de poner el código fuente. Lo pongo con licencia MIT, no hace falta poner la GPL para algo tan simple como un programa demostración.

Este blog funciona gracias a WordPress con el theme GimpStyle diseñado por Horacio Bella.
Entradas y Comentarios feeds. XHTML y CSS válidos.

Últimos tracks escuchados
iceman2501's L33TSig