miércoles, septiembre 27, 2006

Web 2.0 - Un nuevo medio: LiveWiki (Un mejor Wiki)


Siguiendo con los ejemplos de posibles nuevos usos de la Web 2.0, ahora vamos a tratar de imaginar como se podrían mejorar los wikis actuales, usando la colaboración que nos permite el Web 2.0.

Les presento la primera versión de LiveWiki. LiveWiki es un Wiki vivo (de ahí su nombre ;)). Wiki en el sentido de ser un sitio modificable por muchas personas (http://es.wikipedia.org/wiki/Wiki), y vivo en el sentido que le venimos dando a la palabra, en las notas anteriores.

Para decirlo de otra forma: Nos olvidamos de tener que hacer “refrescar”, “recargar”, “reload” o “refresh” de la página para ver si cambió. Cuando la página cambia, todas las personas que estén viendo esa página verán el cambio en el mismo momento en que ocurre. De la misma forma, todos los usuarios conectados pueden modificar el contenido. Y, como en los ejemplos anteriores, el chat entre usuarios conectados sirve para coordinar el trabajo.

Esta versión es todavía muy simple... pero ya hace evidente las mejoras que pueden sufrir los wikis si logramos que estas tecnologías se masifiquen.

Esta es una lista de cosas que NO hace esta versión de LiveWiki, pero que pretendo incluirlas en las próximas versiones:
  • Bloqueo pesimista con timeout para la edición. Para editar una página (o parte de ella), primero hay que obtener un bloqueo. Cuando alguien tiene un bloqueo sobre una parte, nadie excepto el puede modificarlo, y nadie puede obtener un bloqueo hasta que el lo suelte.
  • Feedback visual del bloqueo: Los usuarios que NO tengan bloqueada la página (o una parte de ella) verán que alguien lo tiene bloqueado con un cambio de color de fondo. Incluso podrían ver quien lo tiene bloqueado, y molestarlo por el chat para que lo suelte. ;-)
  • Edición visual del contenido. Esta versión usa una de las sintaxis de wikis (específicamente usa la sintaxis del Swiki). La idea es hacer un editor visual (o adaptar alguno ya hecho, como el TinyMCE http://tinymce.moxiecode.com/ ).
  • Reordenamiento visual del contenido. Algo en la forma de http://tool-man.org/examples/edit-in-place.html. Hay que terminar de pensar como combinar eso con los bloqueos.
  • Edición de parte del contenido. Con la finalidad de reducir los conflictos de actualización, se podrá modificar sólo una parte de la página mientras otros usuarios pueden estar, a la vez, modificando otras partes.
  • Etc.

Y estás son algunas de las características que SI están incluidas en esta versión:
  • Actualización en vivo de las páginas cuando alguna página referenciada en un link cambia de nombre.
  • Actualización en vivo de las páginas que tiene links a páginas que todavía no están creadas, en el momento en que son creadas (el link a una pagina no creada es distinto, visualmente, que un link a una página que ya existe).
  • Links de tipo “Incrustado”. Cuando hacemos un link de esta forma *[Una Página]*, el contenido de la página de nombre ”Una Página” será incrustado en la página contenedora. Lo mismo para un link del tipo *{Una Página}*, pero en ese caso se incrusta el título de la página (en lugar del contenido).
  • Hay páginas Modificables y páginas No-Modificables (como la página Pages, que muestra una lista con todas las páginas creadas en el wiki).

Y, para continuar con la auto-impuesta tradición, les dejo un screencast que muestra algunas de las características de LiveWiki.

http://www.consultar.com/trastero/LiveWiki1.htm

Como siempre, están todos los fuentes disponibles en SqueakSource.

6 Comentarios:

At 28/9/06 08:01, Anonymous Anónimo said...

Espectacular si que es. Pero... ¿no dispararía la carga del servidor algo así? no se, no me imagino la wikipedia en un wiki de ese estilo.

 
At 28/9/06 10:34, Blogger Diego Gomez Deck said...

Hola Anónimo,

Depende del servidor, depende del tipo de trabajo, etc.

Servidor: Si el servidor levanta un proceso por cada conexión, esta solución es muy pesada. Pero, si sólo se mantiene el socket abierto (como lo estoy haciendo yo), la carga no es tanto. ¿ No es cierto que las bases de datos mantienen 1 socket abierto por conexión?

Tipo de trabajo: Esta idea se aplica muy bien para *trabajar* de forma colaborativa. En algo tipo wikipedia (donde el mayor porcentaje de consultas son sólo eso, "consultas") no tiene mucho sentido un esquema como este... A lo mejor, un esquema híbrido (los que modifican si tienen la parte "Live", mientras que los usuarios normales la ven como ahora), podría funcionar.

 
At 13/10/06 20:11, Anonymous Anónimo said...

Una pregunta, y en q lenguaje esta hecho? habra uno en php....

 
At 16/10/06 12:48, Blogger Diego Gomez Deck said...

Está hecho en Smalltalk (específicamente Squeak)

 
At 18/10/06 20:08, Anonymous Fernando said...

Muy interesante.

Si no es mucho pedir... ¿sería posible una imagen preparada para poder experimentar las posibilidades del "LiveWiki"?

Saúdos.

 
At 21/10/06 12:31, Blogger Diego Gomez Deck said...

Fernando,

Todavía no pude subir una imagen pre-cocinada.

Mientras tanto podrías seguir los pasos de instalación que detallo en el wiki de consultar.

 

Publicar un comentario en la entrada

<< Principal