Estoy tratando de armar un pequeño (ish) proyecto de escuela de verano para algunos de mis estudiantes avanzados y estoy investigando cómo hacerlo mejor y qué usar; con suerte, alguien aquí podría dirigirme en la dirección correcta.Pizarra de dibujo colaborativa en tiempo real en HTML5/JS y websockets?
Lo que nos interesa es investigar si HTML5 fue lo suficientemente lejos como para crear una pizarra de dibujo colaborativa en tiempo real, simplemente mediante el uso de tecnologías web sin complementos (CSS, HTML5/DOM y Javascript). Lo que finalmente nos esforzaríamos es esto: por ejemplo, tener un lienzo/página en línea en un servidor central que se muestre en una pantalla grande en el aula. Entonces nuestros estudiantes/usuarios sacarían sus teléfonos inteligentes, cargarían la página en sus navegadores móviles (estoy perfectamente bien con limitar esto a los navegadores móviles de webkit por ahora) y dibujarían en sus pantallas con las teclas/dedos (o en las computadoras con el mouse) - adivinar que esto no hace mucha diferencia) y se actualizaría en tiempo real para todos, tanto en sus pantallas como en la gran pantalla central del aula.
Supongo que las solicitudes push/get serían demasiado lentas para esto, ¿podría ser resuelto por websockets? ¿Alguien tiene buenas bibliotecas JS para recomendar para esto?
También, ¿cómo sería la arquitectura ideal (pero más fácil de entender para los alumnos)? Digamos que tienes 30 usuarios simultáneos en un clasroom: cada uno de ellos se conectaría con websockets al servidor y el servidor agruparía/combinaría todas sus solicitudes en una y luego devolvería el archivo combinado (una especie de JSON mínima o incluso solo coordenadas) para cada usuario conectado?
¿Podrían los websockets y (supongo) canvas llevar esto? ¿Para que todo parezca ágil? ¿Hay (jQuery-like) bibliotecas JS disponibles para facilitar nuestras vidas, o cree que es algo demasiado complejo para un proyecto de escuela de verano de 2 semanas?
[anandtrex.github.com/collabdraw/](http://anandtrex.github.com/collabdraw/) –