7 razones por las que los errores de computadora no desaparecerán (nunca)

(Éste artículo es una transcripción y traducción del artículo original “7 Reasons Computer Glitches Won’t Go Away (Ever)”, de Cracked.com por Stuart P. Bentley. Todo el crédito va para él y no para mí. Yo sólo lo traduzco y pongo para su placer de lectura.)

La gente se ha quejado de errores de computadora desde los tiempos de las tarjetas perforadas. En serio, estamos en el 2011. ¿Por qué todavía no arreglamos las cosas simples como los drivers o la compatibilidad de software? ¿Podemos culpar de todo a Bill Gates?

Bueno, la mala noticia es que hay buenas razones por las que tu computadora no funciona tan bien, incluso ahora. La peor noticia es que, probablemente, nunca se va a poner mejor.

Pueden culpar a…


#7. Partes de PC Manufacturadas por Dios sabe quién

Te preguntaste porqué hasta las más nuevas computadoras inician con una pantalla de texto y un maquinario pitido? Mientras que casi cada componente ha sido reemplazado con estándares nuevos por lo menos una vez desde entonces, el corazón de la computadora moderna aún está basada en el diseño de la IBM PC de 1981.

La razón por la cual el diseño de la IBM PC fue tan popular es por la misma razón por la que la misma IBM PC no lo era— IBM tomó una página de la biografía de Eli Whitney y permitió que cada parte de la computadora fuera intercambiable con la de un competidor, lo que quiere decir que podías tener (y hoy en día, es casi seguro que tengas) una PC completa con partes que no son de IBM.

Así que, digamos que un día la compañía Taiwanesa que hizo tu tarjeta de sonido finalmente quiebra, o es capturada por China. Si querés usar esa tarjeta con la siguiente versión de Windows, cagaste, así como cualquiera con una tarjeta de sonido de hace más de 2 años, que fue cuando Creative se negó a hacer drivers menos hecho-bolsas para Windows Vista hasta que Microsoft los hicieran ellos mismos.

Si estás usando Windows 7, probablemente veas el “Pantallazo Azul de la Muerte” menos frecuentemente que antes. Es mucho mejor no dejar que algún programa mal escrito cuelgue tu sistema. Pero cuando lo veas, podés asegurar que es por drivers escritos por los programadores mencionados arriba, que podría ser que no hablen nada de Inglés, lo cual, desafortunadamente para ellos (y por extensión, para nosotros) es el idioma en que todos los libros de “cómo programar drivers” están.

- - - - - -

#6. Software escrito por Dios sabe quién

Cada versión de Windows atrae quejas de programas viejos que no funcionan con la nueva versión. La gente asume que la gente de Microsoft es estúpida y perezosa y no se molestó en acomodar el perfectamente razonable diseño de los programas antiguos.

Microsoft se merece un respiro en esto. El desquiciante trabajo que Microsoft hace para mantener la compatibilidad hacia atrás es como esos juegos donde cosas caen del cielo sin fin, y mientras seguís intentando atraparlas, caen cada vez más y más rápido hasta que fallas una, y el juego te dice que sos un perdedor.

Hay mucha responsabilidad involucrada en programación, como la de hacer que los programas liberen los recursos que ya acabaron de usar, y no asumir que, si resulta que se equivocan, harán que el usuario se cague en sus pantalones. Algunos programadores toman esto como un desafío.

Por ejemplo, el SimCity original era realmente desordenado en cuanto a uso de memoria (ej. le decía al DOS que terminó de usar un montón de memoria y luego empezaba a usarla igual). Esto era aceptable mientras el sistema no use mucho de ésta memoria (el DOS no lo hacía). Pero luego vino Windows y el juego empezó a exigir memoria que Windows necesitaba. Y el juego se colgó.

Microsoft arregló esto haciendo código para que Windows detecte si SimCity estaba corriendo y hacer trucos especiales para que funcionara. Luego Microsoft hizo lo mismo para el siguiente programa que se jodía. Y luego el siguiente. Y así. Aquí hay una lista actual de “programas que hacen cagadas estúpidas y tenemos que hacer andar bien” que Windows tiene que atender. Hay 6.520 de ellas.

Si tenés en tu cabeza una imagen divertida de un empleado de Microsoft corriendo por los pasillos de una tienda de Software con sus brazos extendidos, golpeando a cada producto estúpido para que caiga en su carrito y poder mirarlos antes de que las quejas empiecen a llover… bien, porque eso es exactamente lo que hizo. Si sos Microsoft, no podés dejar que otros programas cuelguen la PC del usuario (el usuario te va a culpar a vos), y no podés esperar que el programador arregle su error (rayos, podría ser que la empresa ya no esté en actividad).

Su única otra opción es prohibir todo el software al que Microsoft no ha dado permiso explícito antes de tiempo– pero es por esto que la gente está furiosa con Apple. Por eso, siempre van a ver gente haciendo “jailbreak” a sus iPhones, están tratando de darle la vuelta a ese sistema.

Es una situación en que no gana nadie.

- - - - - -

#5. Gente que aún usa software Ancestral

No es que estemos dejando de lado a Microsoft acá. Ellos macanean también, y lo peor es que se encierran en sus macanadas.

Si algo en Windows se rompe, la gente que escribe programas para Windows tienen que darle la vuela a lo que está roto, como un sastre que hace pantalones para un hombre con una sola pierna. Pero ese programa, igual que los pantalones, ahora sólo funciona con el sistema roto. Si Microsoft actualiza Windows para arreglar su macanada, ese software ya no funciona. Sería lo mismo que si nuestro hombre cojo recibiera una pierna de un donante, y quiere ponerse de nuevo sus pantalones. Deberá dejar el Windows roto, o romper el software.

Y hay que contar también el factor humano, la gente que se acostumbra al error. Por ejemplo, tenemos a éste cabrón.

El pequeño irritante clip de papel animado que aparecía cada vez que tocabas el mouse en Microsoft Office. O tal vez usaste a éste perro:

No te equivoques: Microsoft sabía que tenía un FAIL en sus manos con éste. Cuando lanzaron Office XP (que venía con Clipo desactivado) crearon una serie animada en Flash para promocionarlo, protagonizada por Clipo mismo.

De todas formas, les tomó tres versiones de Office deshacerse de éste pequeño bastardo. ¿Por qué? Porque cada función, no importa cuán terrible sea, tendrá usuarios dependiendo de ella. Cuando una compañía implementó la versión 2003 de Office, la mesa corporativa casi inmediatamente recibió una llamada de un usuario decepcionado por la pérdida del perrito en su computadora.

Asimismo, miles de personas pueden estar ahora leyendo éste artículo en Internet Explorer 6. Como hace varios meses, el 10% o algo así aún lo usa, porque es la versión que viene con Windows XP.

Desde el 2001.

Algunos notaron que la Web cambió un poco desde el 2001 (la gente apenas empezaba a usar Google en aquel entonces). Y cuando la Web cambia, la tecnología que usas para hacer la Web tiene que cambiar con ella. Pero cuando la gente aún usa un navegador que tiene una década de vida, no se puede avanzar muy lejos.

- - - - - -

#4. Boludeces políticas

Mientras vendés tu software en más y más territorios, tenés que tratar con más y más gobiernos que de alguna forma tratan de anticipar a qué van a ser sensibles. Por ejemplo, India casi prohibió Windows 95 por 12 pixeles de un mapa.

Para ayudar a los usuarios a decirles a sus computadoras en qué parte del mundo vivían, Microsoft incluyó en Windows un mapa de 180 pixeles de alto en que se marcaban las regiones que seleccionabas. La cosa es, que si alguna vez viste las noticias, hay una zona que India y Pakistán siempre están reclamando como suya. Cuando Microsoft hizo las imágenes para el mapa, dicha zona se incluyó en la zona horaria de Pakistán, llegando al punto en que India amenazó con prohibir a Microsoft en el país, un movimiento que hubiera jodido a Microsoft 10 años antes de subcontratar todo su soporte técnico en ese país.

Esta clase de peleas es la razón por la cual encontrás la ambigua frase “País/Región” por todo Windows hoy. Usar el término “País” sería explícitamente reconocer a Taiwán como un país independiente, lo que el famosamente permisivo y abierto Gobierno de China expresamente prohíbe por ley.

También, pueden recordar una campaña anti-confianza en la que Microsoft se metió allá por el fin del milenio pasado. Los resultados de ésta pelea fueron mezclados: Microsoft no puede incluir un software antivirus gratuito con Windows, porque eso impediría a Norton y a McAfee de hacer que los usuarios paguen 100$ al año por sus programas antivirus que borran archivos críticos del sistema operativo como si fueran viruses y hacen que toda la computadora deje de funcionar a causa de esto.

Y si eso no fuera lo suficientemente malo…

- - - - - -

#3. Patentes de software

Una de las ideas que a los proponentes del Software Libre les gusta tirar es que cualquier Fulano, Zutano o Mengano con una idea puede añadir su conocimiento y experiencia al programa que usa, enviarlo directo a los creadores y que el fruto de su esfuerzo sea disfrutado por todos. Pero en el Mundo Real (Estados Unidos, principalmente) intentar hacer esto hará que te demanden hasta el cuello, porque cualquiera podrá reclamar que te estás robando sus brillantes ideas, como la de hacer clic en las cosas una vez y no necesitar hacerles clic otra vez más tarde.

En 1991, la oficina de patentes perdió sus fondos de impuestos, por lo cual tuvieron que cambiar su criterio de patentes de “Cualquier nuevo y útil arte, máquina, manufactura o composición de materia” a “Cualquier idea posible para la cual se le puedan cargar gastos de patentes” (como Cracked.com ha cubierto antes).

Por ejemplo, Sega mantiene una patente del concepto de “usar una flecha flotante para dirigir al jugador”, lo que significa que cualquier juego que quiera apuntar a una puerta, como en Bioshock, le tiene que echar dinero a Sega.

Ni siquiera tuviste que haber inventado la cosa por la que estás demandando gente. Compañías que compran las acciones de empresas de software que van a bancarrota, conocidos como “Trolls de patentes”, hacen dinero haciendo nada más que comprar los derechos a las patentes en cosas similares a las que ya esté haciendo alguna compañía mayor, luego obligando a la compañía más grande a pagar o quitar lo que sea que éste Troll de patentes diga tener en una patente.

Por ejemplo, en el 2003 Microsoft cambió Internet Explorer para que tengas que hacer click en alguna parte de la página usando un plug-in (por ej. Flash) antes de que puedas usarlo. Esto no es porque Microsoft quiso que fuera así. Tenía que hacerlo para pasar de lado una patente sobre “no hacer clic en las cosas antes de usarlas” que un troll de patentes llamado Eolas reclamó que estaban infringiendo.

En el 2007, Microsoft regresó IE a como estaba, después de pagar varios millones de dólares a Eolas para “licenciar su tecnología”.

Mucha de la innovación que estás usando ahora (incluyendo las bases de tu sistema operativo, no por Microsoft o Apple, sino por Xerox) ocurrió antes de la época de patentes de software. Si no, éstas innovaciones podrían nunca haber ocurrido. ¿Quién puede pagar cada detallito de un sistema que resulta que es similar a lo que alguien más inventó antes?

- - - - - -

#2 Bugs del tipo del Y2K

¿Recuerda alguien el famoso Y2K, el “Bug del Milenio”? Los programadores de software de todo el mundo han estado usando los últimos 2 dígitos del 19XX para representar los años, lo que quiere decir que al llegar el 2000, todas las computadoras en el mundo instantáneamente entrarían en modo de pánico si no se actualizaban. La sociedad estaba condenada. La gente del mundo estaba haciendo fiesta como si fueran a morir mañana.

Resulta que, las computadoras estaban en mucho menor pánico que los usuarios escondiéndose en sus búnkeres de concreto. Pero los bugs como el Y2K nunca desaparecerán (aún hay otro que arreglar para el 2038). Infinitos errores pequeños pasarán de vez en cuando; por ejemplo, el 1 de Marzo del 2010, un error de cálculo de años bisiestos causó que todas las consolas PlayStation 3, menos las más nuevas, bloquearan a sus usuarios de jugar sus propios juegos.

El problema es que el tiempo no es exacto. La forma en que la Tierra se revuelve alrededor del Sol no es constante, y por eso es que tenemos rarezas como los años bisiestos (que fueron la causa de la mencionada jodida del Y2K+10) y Segundos intercalares (son cuando un grupo de científicos del mundo deciden añadir o quitar un segundo a un minuto por venir).

Y tenemos las zonas horarias. Si pensabas que las zonas horarias estaban dividas en 24 secciones iguales con perfectas líneas verticales, te equivocas. Mira las zonas horarias en el reloj de tu computadora: hay 97 zonas horarias, porque los diferentes gobiernos insisten en tener las suyas propias. De hecho, muchos países cambiaron sus reglas de ahorro de energía. Y sí, la computadora necesita saber la hora y la fecha. Pregúntenle a los pilotos del F-22 que vieron cómo sus sistemas de vuelo de muchos millones de dólares se bloquearon en el medio del aire cuando el avión cruzó la línea de hora internacional y se confundió.

- - - - - -

#1. Tratar de hacer que las computadoras sean utilizables para todos los humanos del mundo

Así es como el Buscaminas se ve para el resto del mundo.

Flores. Si estás usando Windows Vista/7 en América, todavía vas a ver minas la primera vez cuando inicies Buscaminas. Las flores sólo se muestran por defecto en muchos otros países, porque los juegos sobre encontrar minas de tierra no son divertidos cuando los jugás con un solo brazo, cuando perdiste el otro por causa de una mina de tierra.

Ésta es la clase de cosa en la que tendrías que pensar por ahora, en que las computadoras pasaron de ser de una herramienta geek a un utensilio usado todos los días en cada masa de terreno en el planeta. Pero no querés estar escribiendo y vendiendo 800 versiones diferentes de tu programa. Necesitas hacerlo adaptable para la gente de todo el mundo, de los cuales algunos tienen discapacidades. Haciendo eso con éxito es casi imposible.

Por ejemplo, ese hombre hipotético con un sólo brazo aún puede usar su computadora (hay incluso un cacharro que te permite controlar el cursor del mouse con sólo los ojos) pero tenés que escribir tu software sabiendo que el usuario podría estar usándolo así. Luego, pensá en todas las situaciones y discapacidades que tenés que tener en cuenta. Les podés preguntar a los programadores de Bioshock 2, que se dieron cuenta de que su minijuego de hackeo es injugable si sos daltónico. Ésta no es una condición rara, son 1 de cada 10 personas en Estados Unidos. Y nunca se les pasó por la cabeza.

Y ahí viene la pesadilla que es el lenguaje humano.

El texto en las primeras computadoras se escribía en el Código Estándar Americano de Intercambio de Información (ASCII), que definía 128 caracteres que podía mostrar, incluyendo las 26 letras del alfabeto inglés.

Pero cuando el resto del mundo empezó a usar computadoras, necesitaban incluir sus umlauts y sus R rusas al revés, y sus símbolos de Yen. Para arreglar esto, se inventó el Unicode, que incrementaba el rango a muchos millones, permitiendo idiomas desde el Chino hasta el Farsi, y símbolos como una hoz con un martillo o un símbolo de exclamación con un corazón. Arreglado, verdad?

No tanto. Para poder soportar éstos caracteres, tu sistema debe estar preparado para soportar toda clase de variaciones: idiomas escritos de derecha a izquierda, o letras que pueden tener filas y filas de extensiones sobre ellas. Cada intento nuevo para acomodar a cada uno agrega más complicación y más oportunidad para que algo salga mal.

No estamos diciendo que esto nunca se arreglará. Sólo estamos diciendo que no se va a arreglar hasta que toda la gente del mundo hable el mismo idioma, tengamos los mismos valores, y todas las discapacidades sean curadas.


Créditos

Stuart P. Bentley es un programador con binoculares espiando por la ventana de la habitación de Microsoft en Redmond, Washington. Tiene un sitio web en TestTrack4.com.

Artículo original “7 Reasons Computer Glitches Won’t Go Away (Ever)”, de Cracked.com.