Cuando se escribe software comercial, siempre se corre contra reloj. Cada lanzamiento de una nueva versión es una carrera alocada en la que los nuevos features, o mejoras que se le agregaron para hacer más apetitosa la compra del producto, deben funcionar a la perfección, por lo menos para la demo de ventas. Queda poco tiempo para corregir problemas, o bugs, que están acumulados, muy poquito tiempo para las mejoras que desean los viejos clientes y decididamente, nada de tiempo para hacer limpieza, eliminar código innecesario y unificar tareas y criterios.
Cómo resultado, muchas veces un programa que debería ser maduro y funcionar mejor gracias a la gran experiencia que tiene en el mercado, termina siendo un elefante que no puede moverse, cargado de complejos features, innecesarios, incoherentes y muy inestables. A esto se le dice bloat-ware.
Los programadores hemos confiado muchas veces en los avances de hardware para subsanar estos errores: para cuando este software esté en la calle, las computadoras promedio serán tres veces más rápidas que hoy. Y los requerimientos de memoria también suben y suben.
Sin embargo, una nueva corriente está desafiando este tipo de cálculo. Y es el crecimiento de las computadoras pequeñas. Una idea alimentada principalmente por Linux: toma un viejo ordenador, ponle Linux y verás cómo obtienes el mismo rendimiento que una computadora de alto precio y una mayor estabilidad.
Tan real es la historia que muchos fabricantes han empezado a emularla. Ha nacido un nuevo segmento de computadoras no tan rápidas, no tan poderosas, pequeñas y con un módico precio. Para mejor, estas nuevas especificaciones son geniales para las baterías de última generación que tenían que mejorar todos los años para estar a la altura de procesadores más poderosos y hambrientos de poder. Ahora nos pueden ofrecer computadoras con muchas horas más de encendido.
En enero de 2005, Nicholas Negroponte inició una cruzada en la que proponía armar computadoras de bajo costo para los niños del mundo pobre. La idea, además de muy filantrópica nos sedujo a todos. Incluso, tiene una palanca para darle electricidad cuando se queda sin baterías. El sueño de cualquier usuario de computadora viajera. Todos queríamos una. Pero realmente: TODOS queríamos una.
Asus acaba de lanzar una computadora personal que cuesta unos trescientos cuarenta dólares, tiene un procesador moderado, corre Linux y pese a su pequeño formato, es una computadora completa. Asus promete que hará una versión con Windows, pero teme descepcionar a sus clientes por una sencilla razón: Vista no cabe, y XP se comporta con bastante pobreza en estas especificaciones. Tendría que aumentar la memoria, y la musculatura del procesador, lo que distorsionaría la idea inicial del modelo.
Esta nueva fiebre de computadoras que consumen poco pero que se ubican en todos los aparatos empezó a hacerse fuerte con el nombre de computación embebida. En sus inicios, los procesadores que se usaban eran diferentes a los de las computadoras normales. Pero los avances hacia adelante también permiten los avances hacia atrás: mientras los procesadores se hacían más pequeños en tamaño para consumir menos y proveer más potencia, también se hacían más apetecibles para ubicar en cualquier parte. Y aquí es donde la computación embebida empieza a ganar más fuerza. Ahora, se puede hacer un procesador con la misma potencia que tenía hace tres años, pero diez veces más pequeño y con poquísimos requerimientos energéticos.
El iPhone de Apple es una computadora casi completa. Con un navegador de internet de verdad, es una de los primeros aparatos que expresa la disconformidad que los usuarios sienten con las computadoras recortadas. Y el mundo del desarrollo de software no puede menos que sentirse a gusto con este nuevo sistema que ya conoce de memoria.
Por eso, en los próximos años verán a Microsoft hacer dieta, a Linux mucho más ágil y presente, y a Apple, bueno, corrigiendo algunos errores de su nueva versión de sistema operativo.