Redactando cómodamente
Creo que no lo he comentado en ninguna de las entradas, pero estoy dando por hecho que para escribir los artículos emplearíamos un editor "enriquecido". No me atrevo a utilizar las infaustas siglas "WYSIWYG", pero al menos algo similar a lo que ofrece cualquier herramienta de blogging actual.
También es importante que soporte la inclusión de imágenes. De videos y otros medios no estaría mal, pero de imágenes me resulta imprescindible para muchos artículos (esquemas, pantallazos, croquis, etc).
(Vale, es algo extendidísimo, pero no es algo que tengamos ahora mismo en Libertonia, por ejemplo, así que no está de más recordarlo).
Criterios de portada
Cuando hablamos de qué poner en la portada, no había expuesto todavía lo suficiente del modelo como para comentar algunos de los criterios que podrían ponerse en una portada como incitación a la navegación del sitio (en cualquier caso, sólo los titulares, no historias completas o resúmenes de las mismas). Algunos de estos criterios podían ser las historias más recomendadas (o ecolucionadas), las historias más candentes (con más comentarios en un lapso de tiempo breve) o los usuarios más activos (con más historias/comentarios recientes).
Estos son sólo algunos ejemplos, podría haber otros criterios aún más interesantes que no soy capaz de imaginar.
Orden y limpieza en la cola
Ha quedado pendiente hablar un poco más de la gestión de la cola (recordemos que ordenada por recomendaciones y por nuestra herramienta de clasificación automática). Puesto que no es un orden cronológico, necesitamos alguna manera de decirle a la cola "Vale, ya he visto este artículo, pero no me interesa incluirlo, así que quítalo de mi vista". Esto es así porque si no artículos con muchos votos que no nos interesaran estarían siempre ahí, molestando arriba del todo.
Hay tres formas de atacar el problema: una es ponerle un tiempo de expiración, a partir del cual los artículos ya no nos aparecen en la cola. Pero ese tiempo debe ser largo, o estamos obligando a estar demasiado encima de la herramienta, cosa que no me parece buena idea. Una segunda forma sería una penalización en forma de puntos negativos del artículo basada en el tiempo de permanencia en la cola. El problema de este enfoque es que, o bien esa penalización es pequeña, con lo que su capacidad de "bajar" artículos muy puntuados que no nos interesan es lenta y por lo tanto no muy efectiva, o si es muy grande, perderemos de vista artículos interesantes en cuanto no accedamos muy frecuentemente (mismo problema que la primera solución).
La tercera solución, que me parece la más pragmática, es que sea el propio usuario el que descarte las historias con algún botón de "Descartar", "No me interesa" o "Ya vista" (el nombre es lo de menos). De esta forma, es el propio usuario el que va "limpiando" la cabeza de la cola de pendientes, a base de seleccionar una de las opciones: "Incluir historia", "Ecolucionar historia" o "Descartar historia". En los 3 casos, la historia desaparecería de la cola de pendientes, aunque, claro está, con diferentes efectos prácticos. El botón de "Descartar historia" nos sirve además para entrenar al clasificador automático de historias sobre qué temas/etiquetas/remitentes no nos interesan, afectando al algoritmo de puntuación para próximas propuestas.
Para las historias del fondo de la cola, la primera solución (un tiempo de expiración) lo suficientemente largo (por ejemplo de 1 mes) sería suficiente para ir renovando la cola.
Nótese que descartar una historia no significa un voto negativo. Lo que significa es que no se le da una recomendación, y por lo tanto no se le otorga un punto positivo. Simplemente digamos que se puntúa cero, y no se vuelve a preguntar sobre la misma a ese usuario.
No estamos sólos en el mundo
Hoy por hoy, cualquier diseño que se haga debe tener como una de sus directrices principales comunicarse con el resto del "ecosistema web". Por ello, el sitio web de mis sueños haría un uso extensivo del RSS, que es un estándar de nombre y de facto para integrar con todo tipo de herramientas externas tanto web como de cliente. El lema sería "RSS para todo". O, al menos, para todo lo que tenga sentido usarlo, como por ejemplo: RSS de historias/entradas del blog/página de usuario de cada usuario, de los comentarios en cada una de las historias, de los borradores de un usuario (incluyendo actualizaciones), de los comentarios en los borradores (para seguimiento del autor), de todos los comentarios de un usuario (en cualquier historia), etc.
Otra forma que se está imponiendo para la comunicación "perimetral" son las APIs abiertas. Una API interesante sería por ejemplo aquella que permitiera hacer "ecoluciones" de historias desde el API hacia otros sistemas web distintos. Aunque ésto trae aparejado un problema, que es el de los inputs al sistema abiertos al exterior, en este caso los trackbacks, que podrían ser empleados maliciosamente para hacer spam. Eso habría que controlarlo, y no es tan fácil como pudiera parecer.
Lo realmente interesante sería tener un sistema que pudiera funcionar federado. Es decir, distintos sitios web usando la misma herramienta (o herramientas diferentes pero compatibles, que implementaran toda su comunicación mediante estándares y APIs abiertos), de tal forma que se pudiera utilizar toda la funcionalidad mostrada, incluso estando los distintos usuarios y sus blogs/páginas de usuario en dominios o sitios distintos. Es decir, si en escomposlinux.org queremos montar el sistema para hablar de software libre, y en otra comunidad diferente en otro sitio web quieren montar otro igual para hablar de la cría del cangrejo macho en cautividad, yo como usuario del sistema en escomposlinux.org podría seguir, incluir entradas/historias o tener como recomendador, a alguien del otro dominio de la misma manera que tendría a un usuario de mi mismo dominio o sitio.
Esto nos permitiría solucionar problemas de escalabilidad "fácilmente" por un lado, repartiendo la carga entre más de un servidor (lo pongo entre comillas porque habría que ver la sobrecarga añadida que se derivaría de usar todos esos APIs), y por el otro alcanzar la "Total World Domination" de un modo menos sospechosamente obvio. ¡MWAHAHAHAHAHAHAHAHAH!
Y ahora hablando en serio, dentro de este sistema federado, una de las APIs más importantes sería aquella que nos permitiera exportar todos nuestros contenidos del sistema en un formato estandar (XML o el que fuera) para hacer backups, poder llevártelo a otro lado (a otra cuenta de otro sistema) o simplemente almacenarlo nostálgicamente o transformarlo a otros formatos, a gusto de su creador.
Resumen final
Antes de terminar, me gustaría hacer un breve repaso final a cada uno de los artículos, a modo de resumen de artículo:
- En la primera entrega, presentaba la serie y analizaba las motivaciones para escribirla (como decía trukulo en su comentario: "Y tanto que es puro vaporware... como que no has dicho nada XD")
- En la segunda entrega me puse a desbarrar interminablemente sobre lo que llamé "el principio de utilidad personal", cuando lo único que hacía falta decir es "diseña las cosas para que sean útiles a quien las emplea, pedazo de [CENSORED]". Espero al menos que, después de exponer los "detalles sucios", se entienda lo que quería transmitir de estar el sitio al servicio del usuario y no lo contrario (ah, igual ni lo dije; bueno ya da igual xDDD).
- Nos metimos ya en faena en la tercera entrega, donde exponía que NO interesa "construir una portada" (y "utilizar" para ello a los usuarios) porque no tiene sentido hablar de un punto de vista único. Y como cada uno tiene su punto de vista, lo que tenía que hacer el sitio es reflejar esa pluralidad. El punto central del sitio dejaba de ser la portada, para convertirse la página de cada usuario. Cada usuario construía en ella su "portada" personal a partir tanto de sus historias como de historias de otros, y por lo tanto no existía un filtro único, sino que cada uno establecía su propio filtro en su zona particular.
- Antes de seguir, hicimos un pequeño paréntesis para hablar de Kune, del concepto de Peak Web y, en los comentarios, de Google Wave, que justo acababa de desvelarse. Con todo ello no quería más que incidir en el "principio de utilidad" y en la tendencia hacia las herramientas con gran interatividad (de hecho, lo que está realmente de moda es hablar de "herramientas en tiempo real", pero bueno).
- En la cuarta entrega sentábamos las bases del modelo: la gestión de la cola de pendientes por recomendaciones. Cada usuario tenía una "lista blanca" de usuarios a los que llamábamos consejeros, de cuyo criterio se fiaba. Cada historia recibía 1 punto por cada consejero que incluía la historia en su blog o página personal, y la cola de pendientes se ordenaba de mayor a menor puntuación. Con este criterio se trababa de hacer emerger las historias que podían resultar más interesantes para ese usuario. También planteaba añadir un sistema basado en Inteligencia Artificial (clasificadores) para refinar aun más el orden de la cola de pendientes basándose en las elecciones previas hechas por el usuario. Finalmente podrían utilizarse feeds RSS de otros sitios como alimentadores automáticos de historias, como complemento a las historias escritas por los usuarios del sistema.
- La quinta entrega se dedicó a exponer el mecanismo de "ecolución" como una manera de hacer crecer la información a la vez que se transmite por los nodos (informadores) de la red. Además de ecolucionar historias, también se planteó que sería útil poder ecolucionar comentarios.
- Los borradores fueron los protagonistas de la sexta entrega, donde expuse los posibles usos y beneficios de disponer de "borradores públicos" (borradores de artículos visibles y comentables por otros usuarios, antes de ser publicados). También de las ventajas de que cada artículo dispusiera de un historial de modificaciones, al estilo de los wikis basados en Mediawiki (Wikipedia), para controlar las ediciones de los artículos, incluso despues de publicados.
- Y finalmente, en esta última entrega, hemos hablado de que lo ideal es que todo este sistema fuera lo más abierto e interoperable posible con otros sistemas, e incluso que fuera un sistema totalmente distribuido/federado (¿por qué no decirlo?: al estilo de las news).
Agradecimientos
Si has logrado la tremenda hazaña de llegar hasta aquí tras horas... que digo horas, días... que digo días, meses... de tortuosos senderos y astutas trampas (WTF?!??), mereces una condecoración especial. Pero como no tengo condecoraciones a mano, permíteme darte mi más sincero agradecimiento por haberme soportado estoicamente tanta divagación. Si además te ha gustado el sitio web de mis sueños lo suficiente como para desear que existiera algo así para poder usarlo, entonces me siento plenamente recompensado, porque significaría que el objetivo con el que he escrito toda esta serie se ha cumplido.
Existe una segunda motivación para escribir este artículo derivado en serie (o saga épica xD) de artículos: es mi particular homenaje a Libertonia, a todos los que hicísteis posible este pequeño rinconcito de Internet. Quería darle a Libertonia un epitafio digno de su estirpe y sus habitantes, pero como no me gusta mucho bañarme en la nostalgia, se me ocurrió imaginar una nueva Libertonia, renacida de las cenizas cual Ave Fénix (como podéis ver, evitar la nostalgia no está reñido con la pedantería).
Siempre que tengo que escribir la última frase de un texto largo, me cuesta horrores. Si fuera un autor de ficción, sería de esos que no saben escribir un final ni con la chica en brazos, subidos encima del cofre del tesoro, despues de haber matado al malvado pirata. O parece que queda cortado, o parece que queda ridículamente pomposo. Así que optaré por el camino fácil, y copiaré una vez más el final más repetido de la historia.
THE END