Ha llegado el momento de ir más allá.
Bienvenidos a la web semántica.
Una propuesta para la web
He visto muchas propuestas anteriormente, pero a mi entender no acaban de funcionar. Voy a decir algo que quizá no guste a muchas personas:
HTML no es semántico
Otra vez lo siento, pero es así. HTML nunca ha sido un buen lenguaje semántico, aunque está bien para presentar contenido. Se ha hecho mucho para separar el contenido de la presentación, pero creo que todavía queda un largo camino por recorrer. Y no sé si se hace en la dirección adecuada.
¿Qué tenemos ahora mismo?
Bien, existe HTML para el contenido. Después tenemos CSS para la presentación. Se mezcla, se agita bien y obtenemos una fantástica página web. Además, tenemos los grandes buscadores actuales, de los que normalmente obtenemos buenos resultados. No siempre los que queremos, pero eso es inevitable.
Pero volvamos al HTML y CSS. ¿Realmente es semántico? Pues creo que no. HTML4 evidentemente no lo era, y ahora hemos evolucionado hacia HTML5, pero ¿qué hemos ganado? Mucho en términos de estandarización y de evolución del lenguaje, pero no nos engañemos: HTML sigue estando basado en la presentación.
¿Cuál es mi propuesta? ¿De verdad lo preguntáis?
Semantic Text
Vale, ya está claro, STxT. ¿Y cómo se hace la web semántica con STxT?
No lo sé, aunque sospecho que es una de las mejores formas de hacerlo hoy en día :-D
¿Qué esperabais? ¿Que os lo diera todo hecho? Si llegamos a alguna parte con STxT ya se verá. Mis poderes visionarios no son tan avanzados :-)
Los siguientes apartados son ideas, formas que he pensado, pero no hay ninguna propuesta concreta. Hay muchos escenarios en los que podemos imaginar esta nueva tecnología, y muchas formas de aplicarla. Ahora ni tan siquiera lo sé, pero puedo ver su potencial. Espero que otros también lo vean y lo sepan aplicar.
Ideas
¡¡Reemplazar HTML5!!
¡¡Pero qué locura es esa!! ¡¡Llevamos años evolucionando, haciendo navegadores,... ¡¡cómo podríamos hacer algo así!!
Eso es de locos >:-O
Ya lo sé, pero dejadme que os enseñe mi visión. Esto va para los informáticos, y la gente que trabaja con HTML.
Relajaos, os voy a hipnotizar.
Con STxT todo puede cambiar, es un mundo nuevo, una nueva forma de pensar. No nos cerremos a nada.
Dejad la mente en blanco. Ahora no hay nada. Nada existe todavía. Estamos en el 1985. No hemos oído hablar de SGML, ni HTML, ni hipervínculos, ni CSS. Tenemos un conocido con un PC y usa la línea de comandos para hacer cosas.
Alguien nos dice que se ha inventado un lenguaje nuevo. Se llama STxT y sirve para expresar ideas y mostrar texto.
Ahora tenemos una visión del futuro, y estamos en 2020, y vemos una web, pero no sabemos nada de informática. La web se parece mucho a la de hoy en día, pero todo está estructurado con STxT.
Os preguntáis... ¿Cómo estará hecha? ¿Cómo es por dentro?
... ... ... ...
¡¡DESPERTAD!!!
¿Qué habéis visto?
Bueno, como no me podéis contestar os diré lo que yo he visto. Os puede ayudar o quizá sea una tontería, pero es mi visión.
Las páginas web son páginas STxT, con cada web y portal definiendo su propia estructura.
Esto nos permite ver la web como un conjunto de contenido bien diferenciado de páginas. Por ejemplo, para una web de cocina:
/recetas/*.stxt /trucos/*.stxt /dietas/*.stxt
A parte de esto, todo portal web tiene una serie de páginas que nos da la información de cómo formatear o presentar el texto. Hay un grupo de personas que se encargó de hacer esto e hicieron un gran trabajo. Fueron en la W3C.
Hicieron unos documentos STxT que permitían esto, y todas las web los usaban, gracias a su popularidad. Además, como existían visores fantásticos de STxT, se pudo integrar todo sin problemas, y se crearon múltiples visualizadores.
Las páginas que tenía que tener una web eran unas cuantas. Las principales eran:
robots.stxt sitemap.stxt estilos.stxt /estilos/*.stxt
Con estas páginas se permitía hacernos una idea del contenido del portal, al mismo tiempo que aplicábamos unos estilos a todo el conjunto. Lo mejor de los estilos es que se aplicaban automáticamente dependiendo del tipo de documento, y además era muy sencillo hacer estilos nuevos. Se creaba un documento que seguía un namespace conocido y fácil de usar: w3c.org/css.stxt
Así, las páginas eran muy fáciles de crear. Con un sencillo editor de STxT se construía una página con un contenido perfecto. Un diseñador creaba un estilo fantástico para ella, y finalmente un programador le daba un comportamiento dinámico creando un fichero js para cada tipo de página (un lenguaje de script para dotar de comportamiento a estas páginas).
Así, por ejemplo, nuestra web de cocina tendría la siguiente forma:
robots.stxt sitemap.stxt estilos.stxt /estilos/receta.stxt /estilos/trucos.stxt /estilos/dietas.stxt /dynamic/receta.js /dynamic/trucos.js /dynamic/dietas.js /imagenes/*.png /imagenes/*.gif ... /recetas/receta1.stxt /recetas/receta2.stxt /recetas/receta3.stxt ... /trucos/truco1.stxt /trucos/truco2.stxt /trucos/truco3.stxt ... ... ... ...
Bien, ya está. Perdonad la simplicidad del esquema, pero una sesión de hipnosis no da para más :-) No sé si esto os despertará la imaginación, pero me gustaría que al menos os hiciera pensar. No todo está bien como está. Siempre hay margen a mejorar. A hacer las cosas distintas. Y somos informáticos. Hay que probar. Y experimentar. Y equivocarnos. Es la única forma de avanzar.
Buscadores
Creo que los buscadores y los navegadores en general aumentarían su capacidad de búsqueda y de indexar contenidos sabiendo de qué trata el texto. Además, ya estaría jerarquizado y cada parte tendría un significado concreto y bien definido.
Es posible que surgieran plantillas STxT famosas, y una página podría seguirla para mostrar ciertos contenidos. Esto todavía facilitaría más la indexación, ya que unificaría ciertos aspectos.
La transición
¿Cómo debe ser la transición? Debe ser fácil y transparente. Sino, no habrá transición. Lo primero sería definir la nueva forma de ver documentos con STxT y los nuevos CSS. Por cierto, sería un buen momento para hacer los CSS y tener una primera versión. ¡Quizá los renders de los navegadores por fin los tratarían todos iguales!
A partir de aquí se prevé un tiempo de coexistencia de páginas. Habrá páginas HTML de toda la vida junto con páginas con STxT. Me imagino también un buen momento para integrar y unificar un "lightweight language" para el contenido. Me gustaría que la W3C se interesara en todo este proceso. Aunque sería un frente muy alternativo a todo lo que se está haciendo ahora. Pero tampoco debería ser traumático. Se puede pensar en STxT como otra extensión a tener en cuenta por los navegadores, con una forma particular de visualización. La visualización sería muy parecida a un XML cuando no hay css's ni nada estándar, y a medida que la web los fuera incorporando el aspecto mejoraría.
Incluso se puede plantear cohexistencia de páginas HTML con un homólogo STxT más estructurado. El HTML contendría metatags que dirían a los buscadores que tiene un STxT asociado, ya que la indexación mediante este fichero sería más adecuada.
No hay que olvidar que el objetivo de todo esto es llegar a la web semántica de una forma poco traumática, fácil para todo el mundo, no sólo para los super-informáticos.
SWB: Semantic Web Builder
No podría terminar este capítulo sin hablar de SWB. Ésta es la primera aplicación de STxT que se ha hecho. Bien, sé que es la primera porque se ha hecho para publicar esta web, y antes no había nada más :-D
También podría decir que es la primera web en mostrar el contenido no sólo en HTML sino también en STxT.
Puedo afirmar que la experiencia de usar STxT ha sido realmente impresionante.
Llevo años programando para la web, y nunca antes me había sentido tan cómodo. Incluso sin herramientas de edición, el proceso de creación del libro ha sido simplemente una gozada. Os animo a todos a que lo probéis.
Vale la pena ;-)