A veces me sorprende lo sorprendente que es que la tecnología se mueva tan rápido y, sin embargo, de alguna manera sigue siendo exactamente la misma..

Me topé con esta paradoja la semana pasada, cuando invirtí muchas horas en la programación con un protocolo que tiene casi 30 años para una pieza de hardware DIY que encapsula tanto la tecnología antigua como la nueva, en un lenguaje muy moderno..

Estaba escribiendo un editor para un sintetizador SID-chip que usa MIDI para hablar con la computadora. MIDI, el protocolo que muchos instrumentos musicales digitales utilizan para comunicarse entre sí y con tu PC, es absolutamente antiguo.

Comenzó a funcionar a fines de la década de 1970, y la especificación 1.0 se publicó por primera vez en 1983. Incluso los últimos sintetizadores de hardware incluyen dos de los puertos DIN distintivos de cinco pines de MIDI, uno para entrada y otro para salida, y con solo un par de gordos cables, puede enviar datos de notas, información de temporización, información personalizada y señales de control directamente a través de su conexión serial de 31.25kb / s.

Es lento y engorroso, pero a pesar del paso de toda una generación humana, nada ha logrado reemplazarlo. Incluso cuando no hay señales visibles de MIDI desde el exterior y los instrumentos musicales digitales son capaces de generar un sonido polifónico de alta calidad de las CPU ARM de baja potencia, existe la posibilidad de que el MIDI aún esté allí, a pleno rendimiento en algún lugar debajo de la superficie.

Y así me encontré a mí mismo investigando matemáticas binarias, dividiendo bytes en nibbles y lanzando bits significativos cuando intentaba escribir una aplicación para enviar datos desde y hacia un iPad a través de un sintetizador. Incluso estaba usando un lenguaje moderno para encapsular estos comandos MIDI, lo que empeoró las cosas..

Entre la preocupación por los objetos y el alcance, tuve que acomodar las compensaciones de memoria para los datos exclusivos del sistema, los problemas de tiempo para los mensajes enviados en paralelo y la pérdida de datos durante la transmisión: todos los problemas que esperaría de una generación anterior de computación digital, no un dispositivo en La vanguardia de la revolución post-PC..

El antiguo y confiable protocolo MIDI todavía existe por una razón muy importante: funciona. Puede que no sea la mejor opción después de envolverse en RTP y enviar un cable USB. Puede ser demasiado restrictivo y solo funciona con cables de cierta longitud. Pero son precisamente esas limitaciones las que lo hacen bueno para hacer el trabajo para el que fue diseñado, y ha demostrado este punto al seguir siendo relevante, mientras que el mundo que lo rodea ha cambiado por completo..

Continuando por el bien de eso

El punto al que estoy llegando aquí es que los desarrolladores de sistemas operativos no deberían estar tan ansiosos por desechar esos aspectos de su facilidad de uso para apresurarse a que todo se vea "delicado".

Esto está sucediendo con Linux, tanto con los escritorios Gnome y Unity, y parece que Windows 8 se está inspirando bastante en el diseño táctil. Es probable que OS X incorpore más y más funciones de iOS a medida que pase el tiempo, aunque creo que el soporte de gestos del Magic Trackpad es bastante claro..

Pensar diferente es algo bueno, pero ser objetivo es más importante. Especialmente con Linux, esos viejos paradigmas no han durado porque parecían brillantes, o porque le dieron al usuario todas las características que querían. Han durado porque simplemente funcionaron. Es por eso que tantas personas continúan usando Vim y Emacs, mirando las pantallas monocromáticas y las hojas de cuna de los atajos de teclado..

Sin embargo, son dos editores de texto que deberían confundir por completo a una generación que piensa en 3D y DPI. MIDI podría ser reemplazado por el protocolo de control de sonido abierto (OSC). Es inmensamente flexible, es divertido trabajar con él y resuelve casi todos los problemas que mencioné anteriormente.

Pero esta flexibilidad también hace que sea difícil trabajar con ellos, especialmente para los músicos. No les importa lo difícil que pueda ser la programación de MIDI detrás de escena, solo les importa que cuando conectan una fuente MIDI a un destino MIDI, las cosas sucedan. No puede hacer eso fácilmente con OSC, y muchos usuarios de escritorio tradicionales no pueden hacer fácilmente las tareas de escritorio equivalentes con sus nuevos escritorios Unity o Gnome Shell.

Eso ciertamente no significa que estén equivocados en lo que están tratando de hacer: la impresionante actualización de Canela de Mint para Gnome es un gran ejemplo de este compromiso, y tiene el potencial de catapultar esta distribución de Linux a la estratosfera porque apacigua a tanta gente. descontento con un gnomo de vainilla. Solo significa que los equipos de escritorio no deben convertir sus valientes ideas nuevas en la opción predeterminada..

Es como forzar a los fabricantes de sintetizadores a soportar solo OSC. En su lugar, la nueva tecnología debería intentar convertir a las personas de la forma antigua a la nueva, convencerlos cuidadosamente de las ventajas, de modo que cuando vuelvan a MIDI o Gnome 2.x, o Windows XP, o ratones y teclados, se pregunten Cómo fueron capaces de usarlos.

Hasta que eso suceda, todos nos quedamos atrapados hackeando la vieja tecnología incorporada dentro de la nueva.