El curioso formato de los cómics digitales
¿Por qué complicarse la vida cuando puedes usar un .zip sin mas?
Hace poco, monté para mi y mis amigos Grimmory, un gestor de libros digitales parecido a Jellyfin. Diría que es el Jellyfin de los libros de lo mal que funciona, pero bueno, no hay nada mejor . A raíz de esto, he aprendido cómo funciona este formato, y la verdad que me parece bastante ingenioso. Voy a contaros todo lo que he aprendido al respecto.
La odisea de Grimmory
El caso es que estuvimos subiendo nuestra colección de mangas completamente lícita y legal a la web, hasta que nos dió por leer, y el servidor crasheaba. Constantemente. Era abrir un manga y el servidor se caía.
Yo no entendía nada, me tiré perfectamente 2 horas intentando averiguar qué pasaba, hasta que me dí cuenta de que el problema era el formato. Las fuentes de donde sacamos dichos mangas eran cuestionables cuanto menos, y los ficheros estaban en un formato "corrupto" que el servidor no era capaz de manejar, .cbr. Entiendo que los sitios que lo alojaban usaban este formato porque los ficheros ocupan menos, pero la cuestión es que el servidor no se los tragaba, así que había que usar otra cosa.
Para nuestra suerte, encontramos una web llamada "ComicConverter.com", registrada en octubre del año pasado (por lo que sea ), que nos sirvió justamente para lo que queríamos: convertir nuestros ficheros en algo que el servidor pudiese leer, como .cbz. Pero, sinceramente, no os recomiendo usar esa web, porque por alguna razón, cuando intentas convertir cualquier cosa ahí, la CPU se dispara a tope. Sinceramente, una conversión tan ridícula no te dispara la CPU a tope, así que ahí hay algo raro. Yo personalmente no me fío, así que he hecho mi propio conversor a .cbz, así no tengo que usar esa web rara.
Me da miedo que haga eso. Creo que me minan criptomonedas o algo.
Todo este problema me llevó a investigar un poco qué era este formato, y me llevé una grata sorpresa.
El nacimiento del estándar: Comic book "archive"
En los inicios de Internet, si querías leer un manga, te descargabas carpetas con imágenes sueltas, si eso ordenadas por números, y las leías con tu visor de imágenes preferido. Esto es una mierda, así que alguien dijo "Oye, ¿por qué no estandarizamos un formato en condiciones para esto?", y surgió el formato Comic Book.
Un desarrollador llamado David Ayton creó un programa para leer estos cómics de una manera cómoda, pero necesitaba un formato para que no se pudiese meter cualquier cosa ahí dentro, así que simplemente decidió que sería buena idea renombrar un fichero .zip a cualquier otra cosa y listo. Sí, todos estos formatos son un fichero comprimido con el nombre cambiado.
Genial, entonces tenemos:
- .cbz -> Comic Book ZIP (el bueno)
- .cbr -> Comic Book RAR (el feo)
- .cb7 -> Comic Book 7z (el malo)
- .cbt -> Comic Book Tar (el de Linux)
- .cba -> Comic Book ACE (sí, yo tampoco conocía este formato)
Opcionalmente existe un fichero en algunos de estos que es "ComicInfo.xml", pero eso sí que no es un estándar porque lo implementaba un programa obsoleto llamado ComicRack[1], aunque algún lector moderno aún lo soporta.
Cuando un programa que soporta alguno de estos formatos lo abre, crea un directorio temporal con todas las imágenes y procede a leer este fichero, y después ordenar los ficheros en orden natural (1.jpg, 2.jpg, 10.jpg...).
A veces no hay que complicarse
Esto me ha dado que pensar: cuando leí esto al principio pensé "vaya cosa mas ridícula, ¿por qué lo hicieron tan cutre?". Pero realmente, ¿es necesario algo más complicado? Quiero decir, funciona muy bien para lo que se quiere hacer, así que no hace falta crear un estándar nuevo simplemente para una cosa en concreto. Es verdad que a veces está bien reinventar la rueda, pero otras veces, las soluciones más simples son las que predominan.
Cuando penséis que vuestra solución a algo es muy tonta, pensad en que David solo quería leer sus cómics de forma cómoda, y que el resto del mundo quería un formato para fácil distribución que acabó siendo usado por todos. Eso que me llevo, una reflexión chula y una herramienta nueva para mi web.
