¿Por qué necesitamos EPUB cuando tenemos HTML?

EPUB es 99% HTML y CSS. EPUB es solo el embalaje. Entonces, ¿por qué necesitamos un embalaje?

Los libros digitales tienen requisitos diferentes que las páginas web, por nombrar algunos:

– HTML no define un formato estándar para la tabla de contenido. Claro, puede construir esto con hipervínculos, pero perderá la semántica y evitará que el TOC se analice y se muestre fuera del documento. Los EPUB vienen con un formato basado en XML (NCX) que hace este trabajo.

– Por razones técnicas, es aconsejable enviar fragmentos más pequeños de HTML en lugar de un solo documento grande para admitir una amplia gama de dispositivos lectores (Adobe recomienda 300kB por documento para su motor de diseño). No quiero entrar en detalles, pero tome por ejemplo la huella de memoria que debe mantenerse en la memoria para DOM y el árbol de renderizado y toma un múltiplo de la página HTML original. Muchos lectores de libros electrónicos tienen una gran limitación de CPU y memoria.

– Hay formas de incrustar imágenes en HTML en línea, pero en caso de que desee hacer referencia a la misma imagen varias veces, está desperdiciando espacio. Los autores de libros electrónicos a menudo usan imágenes varias veces para adornos. Por lo tanto, probablemente necesite tener varios archivos por libro electrónico.

– Los documentos HTML no están comprimidos, pero el texto alcanza índices de compresión muy altos. Es un método estándar para comprimir archivos HTML sobre la marcha cuando se envían desde un servidor web a un navegador, pero no existe un equivalente para los documentos HTML que se almacenan localmente. EPUB es esencialmente un archivo zip con todos los archivos necesarios en un solo paquete, por lo tanto, consume menos espacio que sin comprimir.

– Ahora, ya que tenemos que lidiar con varios archivos (múltiples documentos, imágenes, etc.) y queremos aplicar compresión, es bastante sencillo definir un formato de paquete que encapsule todo el contenido del libro electrónico. Esto también va bien con la idea de que los editores de libros electrónicos principalmente desean vender su contenido en lugar de hacerlo disponible en un servidor web. Un enfoque basado en archivos que funciona sin conexión y que solo está disponible para la persona que lo compró sigue las ideas de las personas que lo producen.

– La industria del contenido teme la piratería y muchos autores / editores quieren proteger sus textos con un esquema DRM. Esto solo agrega el requisito de que el contenido no sea fácilmente accesible para todos. Una vez que está DRM, tampoco importa tanto si está comprimido o si está compuesto por múltiples archivos.

– Incluso si un libro electrónico viniera como un solo documento HTML, el autor del libro electrónico debería haber imaginado la parte específica del documento que desea vincular, ya que necesita incrustar texto de anclaje dentro del libro electrónico. Los hipervínculos HTML no pueden vincularse a ninguna región de un texto.

Además de esos requisitos / problemas, probablemente también hubo razones políticas. Ciertamente, no todas las partes de las especificaciones de EPUB son geniales, pero dadas estas limitaciones, fue al menos mejor que la guerra de formatos que existía antes. El uso de HTML y CSS como tecnologías base al menos evitó la duplicación en los esfuerzos estándar y estoy muy contento de que la gente de EPUB no haya inventado esquemas XML aún más feos.

Ciertamente sería genial poder enlazar o citar regiones específicas de un libro, pero es un problema mucho más allá de HTML y EPUB.

También podría preguntar: ¿Por qué necesitamos HTML cuando tenemos SGML? Considerando el hecho de que SGML contiene todo XML y XML contiene todo HTML (aunque solo estrictamente en la versión XHTML). Sí, es cierto que EPUB son solo algunos archivos HTML perfectamente empaquetados, pero si es solo HTML, por lo tanto XML, por lo tanto solo SGML, entonces ¿por qué necesitamos algo más que SGML?

Piénselo de esta manera: las palabras en inglés solo usan un subconjunto de los posibles caracteres en Unicode. Al escribir en inglés, es mucho más fácil considerar los caracteres que se usan; así que nuestros teclados solo tienen los caracteres de uso común fácilmente a mano.

Para adaptarnos a un caso de uso en particular, nos parece conveniente reducir las posibles palabras y caracteres disponibles incluso más que esto. Para enseñar inglés utilizamos otros subconjuntos, por ejemplo, palabras de uso común para la construcción de vocabulario. Es famoso el caso del Dr. Seuss’s Green Eggs and Ham, un libro creado específicamente con solo un pequeño subconjunto de palabras en inglés.

Se trata de subconjuntos y paquetes sensibles diseñados para usos particulares.

¿Por qué necesitamos HTML cuando tenemos BASIC? ¿Por qué necesitamos gráficos cuando tenemos texto? ¿Por qué necesitamos hornos cuando tenemos fuego? ¿Por qué necesitamos aire cuando tenemos agua?

epub es un estándar que permite que la información se presente en un formato específico, legible por programas especializados que se ejecutan en hardware dedicado o mediante aplicaciones.

Es diferente al HTML, tan diferente como el XML, y tiene un propósito específico. Es la herramienta adecuada para el trabajo.

… no calafatearías una bañera con HTML, ¿verdad? Siempre usa la mejor herramienta.