Recursos en la red sobre Ceibal

La siguiente es una lista de páginas y recursos en la red sobre Ceibal. No es definitiva, tan solo pretende organizar un poco el mar de info existente.
(Actualizado 30/05/08)

Información

Sitio oficial

Noticias de Ceibal

Videos

Fotos

Presentaciones

Educación

Recursos educativos

Blogs y páginas de docentes y grupos de educadores

Blogs y páginas de escuelas

Red social

Páginas de grupos

Foros de discusión

Listas de distribución y redes sociales

Manuales e información técnica

Manuales de XO y Sugar

Tutoriales y guías de uso de aplicaciones

Técnico


Sin duda que falta agregar varias otras páginas aquí. ¿Tenés alguna para aportar? Agregala en el wiki! :-)

Desarrollo de Juegos

Mi nombre es Nicolás Castagnet. No soy parte directa del plan Ceibal, sin embargo, una de las áreas en que trabajo es en el desarrollo de juegos y hace algunos fines de semanas atrás estuve en el Ceibal Jam probando las XO y la plataforma PyGame para hacer videojuegos. Les escribo para compartir mi experiencia...

Experiencia en el primer Ceibal Jam
Uno de los temas que despertó el interés en varios de los participantes fue la creación de juegos. Estos pueden brindar un camino para acercar más las computadoras a los niños, y a través de actividades divertidas trasmitirles conocimientos que los ayuden a formarse y educarse.

Dentro de los asistentes al Jam se observó la preocupación en algunos profesores y padres de que los niños puedan instalar juegos con violencia dentro de las XO, sin embargo, no necesariamente todos los juegos son malos, y tampoco la educación tiene porque ser aburrida. Así que siendo un poco creativos tal vez podamos encontrar motivos para que los niños se diviertan y al mismo tiempo aprendan algo nuevo. En definitiva, a quien no le gustaba jugar cuando era niño!

Dentro del Jam, se tocaron distintos temas relacionados con juegos:

  • Se instaló GBrainy en una XO (un juego que ayuda a desarrollar el pensamiento lógico). El mismo se pudo instalar y ejecutar sin ninguna dificultad. Quedó pendiente traducirlo de inglés a español.
  • Uno de los grupos se dedicó a aprender PyGame (una librería para hacer juegos con Python) y desarrollar un prototipo de un juego, el cual consistió en desplegar varias imágenes y seleccionar cuál es no es de la misma categoría. Al final del domingo el grupo mostró en una de las XO un prototipo funcionando desarrollado enteramente en el Jam.
  • El grupo en que estábamos nosotros se ocupó de trasladar a las XO un prototipo que desarrollamos con PyGame en una computadora convencional y explorar cómo se comportaba (abajo se comenta la experiencia).
  • También hubo otros grupos que trabajaron en escribir código y trasladar juegos ya construidos en PyGame a las XO.
Desarrollando juegos en las XO
Construir un juego no es una tarea fácil, requiere de equipos multidisciplinarios que combinen artistas, músicos, programadores y también diseñadores que logren hacer juegos divertidos. En esta sección se describirá únicamente el aspecto técnico narrando nuestra experiencia al correr en las XO un prototipo de juego hecho en PyGame.

Al desarrollar un juego hay varios aspectos técnicos que tener en cuenta, como la velocidad con que va a correr el juego, cuánto espacio ocupará, cuando tiempo se necesitará para descargarlo, etc. Las computadora de hoy día han avanzado mucho, y si hacemos juegos sencillos no es tan difícil resolver estas dificultades. Sin embargo, la XO nos impone niveles de exigencia mayores, ya que el juego debe correr en una computadora con un procesador más lento, además es deseable que se pueda bajar por Internet y no requiera mucho espacio para que entre junto con otras aplicaciones en la memoria Flash de 1GB de la XO.

A muchos de nosotros que no somos niños, el Ceibal Jam nos brindó la oportunidad de tener en nuestras manos una XO y jugar con ella. Así que a la mañana del sábado llegamos con un notebook, un pequeño prototipo desarrollado en PyGame y varias preguntas: ¿tendremos que hacer cambios para que ande en las XO?, ¿funcionará rápido?, ¿se tendrán que instalar paquetes adicionales para correr PyGame?

Imagen del prototipo

La primera experiencia fue muy grata. Básicamente, copiamos el prototipo a un PenDrive, lo enchufamos en uno de los puertos USB de la XO, abrimos una línea de comando en la ruta del PenDrive, ejecutamos "python main.py" y el juego estaba andando!. Las librerías de PyGame ya vienen instaladas en las XO, y no fue necesario hacer ningún cambio para correr el mismo código que corre en Linux y Windows dentro de las XO. Si bien el juego funcionaba más lento que en nuestro notebook, corría a una velocidad muy buena (180 frames por segundo).

Aunque hubo un aspecto que saltó a primera vista. El juego se veía chico, utilizaba sólo 1/4 de la superficie de la pantalla. Al desarrollar el prototipo asumimos que la resolución de las XO a color es de 600x450, sin embargo el juego corría a 1200x90. Así que en el resto del Jam nos dedicamos a intentar solucionar este problema.

Luego de observar más detalladamente la documentación cómo es soportado PyGame para las XO descubrimos que sólo se soporta el modo 1200x900 y no se puede utilizar otro modo. Así que si queremos trabajar en esta plataforma tendremos que hacer juegos a esta resolución. Esto puede parecer bueno, ya que al menos en mi notebook no puedo correr un juego a esa resolución en pantalla completa, sin embargo, introduce un problema de almacenamiento y eficiencia. Hacer un juego a 1200x900 implica que si vamos a utilizar imágenes (.jpg, .png, .gif) vamos a tener que almacenarlas con resoluciones altas y esto puede requerir mucho espacio. Otra alternativa es escalar las imágenes con PyGame a través de programación, esta última fue la alternativa que seguimos y los resultados fueron muy satisfactorios. Es decir, tomamos las imágenes para 600x450 y duplicamos su resolución en tiempo de ejecución. Ahora el juego pasó a aprovechar toda la pantalla, sin aumentar el tamaño de las imágenes almacenadas y sin defectos visuales notorios. El único deterioro fue en la velocidad, pasó a funcionar a 60 frames por segundo, sin embargo, sigue siendo una velocidad buena para el prototipo que se probó.

Conclusiones de la experiencia de correr PyGame en las XO
Python brinda un lenguaje sencillo y adecuado para hacer juegos. Con poco código se puede tener rápidamente un juego funcionando. Uno de los cuestionamientos que se le hace a Python como plataforma para desarrollar juegos es que pueda introducir problemas de eficiencia por ser un lenguaje dinámico. Sin embargo, el mayor uso de tiempo de procesamiento generalmente está en las librerías gráficas, y PyGame brinda una alternativa eficiente al estar basada en la librería SDL implementada en C/C++. En síntesis, la combinación Python + PyGame brinda una plataforma potente y eficiente para desarrollar juegos en las XO (además se puede contar con un entorno de desarrollo moderno utilizando Eclipse + PyDev).

Las XO tienen una resolución alta (1200x900), lo cual implica que se debe tener cuidado en cómo es manejan los gráficos, ya que las computadoras tienen un espacio de almacenamiento limitado (menos de 1GB) e idealmente las aplicaciones deberían poderse descargar de Internet. En la experiencia se probó expandir las imágenes utilizando las librerías de PyGame y se obtuvieron buenos resultados tanto visuales como de almacenamiento y eficiencia.

Aquí se deja el código completo del prototipo que se desarrolló: Código

Si quieren hacer consultas adicionales o compartir experiencias pueden comunicarse conmigo en: nico@trojanchicken.com

Adicionalmente, este articulo quedó publicado en forma de wiki en http://wiki.laptop.org/go/Ceibal_Jam/DesarrolloJuegos para que también otros puedan hacer aportes.

Breve resumen del primer Ceibal Jam!

Con el paso de los días uno empieza a ver la dimensión de lo que comenzó el Sábado 17 con el Ceibal Jam!. Muchos correos me han llegado, contando algo de sus primeros pasos con el laptop, otros que no pudieron ir y expresan su interés en una segunda etapa... En fin, se siente el nacimiento de una nueva comunidad, centrada en el objetivo común de apropiarse de la tecnología de los laptops del Plan Ceibal.

Este primer encuentro, sirvió para "romper el hielo", conocer las posibilidades, los conocimientos técnicos necesarios, ver cada uno en qué puede aportar y crear redes interesadas en el tema.

Para las charlas introductorias eramos alrededor de 60 personas. Nos presentamos entre todos, para conocernos y saber las áreas de interés de cada uno. Había gente con distinto perfil técnico (programadores, administradores de sistemas, especialistas en infraestructura, etc.), también maestros y gente de otras áreas. Llamó la atención la poca cantidad de estudiantes, lo que esperamos que se corrija para futuros encuentros. Guadalupe y Esteban del LATU hicieron una introducción a los aspectos técnicos del plan, hablamos sobre los emuladores de Sugar y tuvimos un pequeño taller de introducción a Python a cargo de Santiago Aguiar.

Luego vino el momento de empezar a trabajar, para el cual anotamos los temas de interés en un pizarrón y nos dividimos en grupos.
Quedamos unas 20 personas trabajando (la cantidad fluctuó bastante entre la tarde del sábado y el domingo). Todos teníamos la sensación de estar dando los primeros pasos en un mundo nuevo, por lo que estar juntos y poder hacernos consultas resultó muy útil. A modo de resumen, se trabajó en las siguientes líneas (esperamos que pronto los que estuvieron trabajando agreguen más detalles en el wiki):

En la tarde del Domingo, tuvimos un taller de Etienne del TAP, que con su particular estilo nos introdujo en varios detalles de la programación en Sugar.

Finalmente, contamos todos nuestras experiencias (estoy en proceso de subir los videos de esto) y nos fuimos a tomar unas cervezas y a conversar a El Faro :-)

Este es un pequeño resumen de lo hecho, que sería muy bueno verlo complementado con sus opiniones.

Seguramente hay muchas cosas a mejorar para un próximo encuentro, por ejemplo contar con una sala de máquinas, tener propuestas de desarrollo más concretas y organizarnos con más gente para hacer un mejor cierre y seguimiento de la actividad: subir el material a internet, documentar, organizar en algún respositorio lo hecho, etc.

En Uruguay estamos en pañales en el tema desarrollo de aplicaciones para las XO, por lo que la comunidad puede ser un catalizador de este proceso.
La modalidad planteada en el Ceibal Jam parece ser muy útil, ya que deja que la misma comunidad se involucre en que este gigantesco proyecto que es Ceibal salga adelante de la mejor manera posible.

Ver galería de fotos del encuentro.

¿Cómo será la nueva generación de laptops XO?

Mientras esperamos tener más detalles sobre la apertura de los sobres de la licitación por la segunda camada de laptops para el Plan Ceibal que se realizó ayer, miramos un poco más a largo plazo y nos preguntamos cómo serán las próximas generaciones de computadores para niños. ¿Será así la XO-2?...

Después del Ceibal Jam!

El fin de semana se realizó exitosamente el primer Ceibal Jam!, con una gran asistencia de interesados para la instancia inicial de charlas y un grupo de unas 20 personas que nos pasamos el fin de semana trabajando, aprendiendo, socializando, apropiándonos de la tecnología.

Ahora nos agarró la semana con muchísimo trabajo, así que un resumen y una evaluación más extensa tendrá que esperar algun día más, si alguno de los participantes quiere hacer un aporte puede: i) hacer un comentario aquí; ii) escribir lo que le parece en el wiki; iii) mandarme un mail con un artículo para ser publicado en este blog.

Temas de desarrollo para Ceibal Jam!

En el encuentro deberemos establecernos algunos objetivos de desarrollo para tratar de cumplirlos dentro del mismo fin de semana. Para eso, hemos recibido aportes y comentarios de varios maestros y maestros de informática que ya están inmersos en la experiencia de tener los laptops en sus escuelas.

A continuación, se resumen algunas propuestas. Por supuesto, a esto se pueden sumar otras ideas que se les ocurran.

Sistema para crear y administrar blogs
Hasta ahora los blogs se han creado desde las escuelas con Blogger. Si bien sirve como solución básica, como se describe en el wiki, está lejos de ser una solución ideal, principalmente porque su uso requiere muchos pasos, crear una cuenta de Google y no facilita un trabajo de revisión de los posts por parte de las maestras antes de ser publicados.
Hay una propuesta muy completa de un sistema distribuido de blogs, que incluye el crear una extensión al procesador de texto de los laptops. Sin embargo, esta solución parece un poco lejana en el tiempo y además está necesitando de prototipos que ayuden a tener feedback sobre su funcionamiento. Para tener rápidamente una solución, parece una muy buena propuesta la de utilizar Drupal en el laptop XO. Drupal es un excelente sistema de gestión de contenidos hecho en PHP, que ya se ha probado que corre en la XO. Entre sus plugins incluye un API para intercambiar posts entre distintos blogs, lo que puede permitir que los niños editen sus entradas en su laptop, luego las revise la maestra y finalmente sean publicadas.
Es necesario mayormente trabajo de pruebas y configuración del Drupal y seguramente algo de programación en PHP.

No se pueden subir fotos a blogs ni archivos adjuntos por mail.
El navegador de Sugar incorporó en sus últimas versiones un bug, que no permite hacer upload de archivos. Esto no sucedía en los laptops que se utilizaron en Villa Cardal, con lo que pudieron crear varios blogs y subir muchas fotos.
El bug surge por la integración del sistema de archivos al Journal. Es una buena oportunidad para conocer cómo funciona el sistema de archivos de en Sugar.

No se pueden descargar las páginas web directamente
El navegador no permite descargar páginas web para verlas offline.

Las tablas en Write no se pueden modificar
El editor de textos permite crear tablas, pero no modificar el ancho de las columnas.

Ajedrez
Ya existe una versión de ajedrez, que no funciona del todo bien; además, sería bueno complementarlo con otras posibilidades educativas, como propuso el ganador del concurso "Tus ideas valen" Rodrigo Fernández.

Utilidades para escuelas especiales
Estas ideas las hizo llegar una maestra de una escuela para niños especiales de Colonia:

Sería bueno que hubiera algún programa educativo que permita ejercitar series numéricas ya sea de completar, de relacionar de colocar signos > < = , de igualar , juegos de seriar figuras geométricas con una cualidad, o dos o tres en común, juegos de relacionar los opuestos (largo corto grueso ancho), juego de lectura de vocablos para descubrir el intruso (por ejemplo: lápiz, goma cuaderno cuchillo colores), juegos para completar tablas de sumar, juegos con cuadros de dos entradas donde se pueda ejercitar los conceptos de columna y de fila.

Trabajo en la red Mesh
Esto es muy general, es un tema muy amplio. La red mesh aún tiene varios problemas por resolver y sería muy bueno contar con programadores en nuestro país que trabajen en el tema.

¿Qué es un Jam? ¿Qué va a ser Ceibal Jam?

Estas preguntas surgieron varias veces en los últimos días: ¿Qué es eso de un Jam? ¿Qué se va a hacer este fin de semana?

Yo no tengo una respuesta clara, pero podemos intentar acercarnos mirando algunas experiencias en otros países:
- En Nepal se realizó un Curriculum Jam, con el objetivo de desarrollar actividades para las XO que abarquen temas de su curriculum escolar.
- En Nueva York se realizó un Journalism Jam, para desarrollar herramientas que sirvan para generar diarios y tablones de noticias en forma sencilla.
- En Brasil se han realizado varios Game Jam en modalidad de concurso, en que los asistentes forman grupos y se les pone el desafío de crear un juego para el laptop XO en un tiempo máximo de 30 horas. Luego un jurado elige el mejor juego y se entrega un premio al grupo realizador (en la última edición, el premio fue un laptop XO).

(foto de Game Jam Brasil)

Como vemos, las formas y los objetivos son diversos, pero en todos los casos son actividades de grupos independientes, intensas pero descontracturadas, donde se plantean objetivos de desarrollo para lograr juntos. Resalto el hecho de que son grupos independientes, porque la idea del Jam es que lo construyan todos los participantes. Por el momento venimos trabajando en la organización junto con Gabriel Eirea y el importante apoyo de Guadalupe Artigas del LATU, pero quien quiera sumarse a la organización será muy bienvenido. Por eso hemos creado una lista de distribución: olpc-uruguay@lists.laptop.org, en que los miembros suscriptos podremos intercambiar aportes para este encuentro y el futuro. Para suscribirse, hay que acceder a http://lists.laptop.org/listinfo/olpc-uruguay

¿Qué nos concentraremos en desarrollar en Ceibal Jam? Creo que eso lo definiremos en el mismo encuentro; de todos modos, para arrancar están planificadas algunas charlas y para el trabajo de programación hay definidas algunas prioridades. Aportes bienvenidos.

Se está improvisando mucho y trabajando sobre la hora (después de todo, "Jam session" quiere decir "sesión de improvisación" :-) ). Hemos invitado a que forme parte del encuentro al UyLUG, el RAP Ceibal, la CUTI y quien se quiera sumar. Vos podés hacer tu aporte, difundiendo el encuentro en tu trabajo. Ya hay 31 inscriptos y contando! :-)

Ceibal Jam! A programar para las XO!


Llegó la hora de generar aplicaciones para los laptops XO. Uruguay se encuentra en una posición privilegiada, debido a la alta densidad de estos equipos de que estamos disponiendo, lo que da una gran base instalada sobre que puede utilizar nuestro software. Dicho de otra manera, los programadores uruguayos tienen el doble beneficio de poder brindar soluciones prácticas a las necesidades educativas (y, por qué no, de otros tipos) de nuestro país y al mismo tiempo, que estas puedan explotar por el mundo entero.

Para favorecer este intercambio, con el apoyo del LATU y la Facultad de Ingeniería se está organizando para este fin de semana un encuentro de programadores interesados en desarrollar para las XO: Ceibal Jam! La información se está actualizando constantemente en el wiki, donde es posible registrarse y participar.

El objetivo del encuentro es establecer un contacto inicial entre los interesados en trabajar en esta plataforma y comenzar a trabajar en algunos desarrollos de interés. Para ello, se van a hacer algunas charlas-talleres introductorios y luego nos organizaremos en equipos planteándonos pequeños objetivos de desarrollo. En particular, hay una iniciativa de desarrollar un sistema para facilitar la realización de blogs desde el laptop, que permitiría aumentar la producción de bolgs en las escuelas del país.

Los "Jam!" se realizan mucho en el primer mundo y consisten en juntar gente con intereses comunes y trabajar intensivamente por cierto período de tiempo para crear. Su origen está en los grupos de Jazz, que se realizan lasgas sesiones de improvisación, "Jam sessions", generalmente luego de un concierto. Es una nueva modalidad en nuestro país, pero esperamos que no sea el último encuentro de este tipo que se realice.

¡No dejes de concurrir!

Se agradece toda la difusión posible.