¿Qué libro es CHUAS? Un manual de Sugar para desarrolladores principiantes

¿Qué es CHUAS?

Para empezar CHUAS es un libro.

CHUAS son las iniciales de Como Hacer Una Actividad Sugar. Este libro está originalmente escrito en inglés por James Simmons, miembro de Sugar Labs y autor de varias Actividades. El libro trata justamente de explicar como hacer aplicaciones para las ceibalitas.

CHUAS tiene 22 capítulos de muy distinta duración y dificultad organizados en 4 secciones.  Acá va un resumen de cada parte con los respectivos links, para que aquel que tenga una duda específica sepa a que capítulo referirse.

Actividades Sugar ( Primera Sección)

Esta parte explica al principiante absoluto que son las Actividades en Sugar.

Programación (Segunda Sección)

Para empezar a desarrollar con cierto orden, conviene estar al tanto de las herramientas útiles para escribir o editar código, mantener en orden los intentos que vamos haciendo -sobre todo si trabajamos en equipo-, manipular imágenes (achicarlas, agrandarlas, convertirlas a un modo de color dado), saber como se ejecutaría en una ceibalita el programa que vamos haciendo.  A este conjunto de herramientas le llaman "entorno de desarrollo", este capítulo reseña algunas de las herramientas que conviene usar.

Este capítulo hace la lista de las etapas que debemos recorrer para crear una Actividad.

El autor de libro, James Simmons, es también autor de varias Actividades para la ceibalita, casi todas dedicadas a promover la lectura. Cómo leer comics, cómo leer libros de bibliotecas abiertas en distintos formatos, cómo guardar estos textos en las ceibalitas son temas de trabajo de Simmons.

Cómo este es un libro práctico -no teórico-, trae muchos párrafos de código para que el principiante use para experimentar, estos códigos son extractos de las Actividades desarrolladas por Simmons, el programa de Python que da nombre a este capítulo es uno de estos códigos.

Estos códigos pueden copiarse y pegarse o descargarse desde un repositorio que acompaña al libro.

En programación Sugar existe un concepto llamado clase en el sentido de tipo, matriz, molde, cuyas actualizaciones "heredan" características. Todas las Actividades Sugar extienden una clase de Python llamada sugar.activity.Activity. Esta clase trae algunos métodos ( funciones ) que todas las Actividades usarán. Aca se explican las funciones básicas de esta clase activity que engloba a todas las Actividades.

¿Cómo se hace un archivo .xo o bundle? ¿Qué archivos debe contener? ¿Qué es el MANIFEST y cómo se actualiza? ¿Dónde se cambia el ícono de la actividad y exactamente cómo se hace para  editar un .svg para que al activarse tome el color que el usuario eligió para su laptop? ¡Todo lo que quisisite saber y nunca te animaste a preguntar!

Se refiere al manejo básico de las barras de herramientas y a cómo empezar a controlar las entradas al Diario que hace la Actividad.

El famoso GIT, qué es, cómo se usa, para qué sirve. Resulta que hacer implica equivocarse y al escribir una Actividad es esperable que hayan varios borradores previos a algo utilizable. El control de versiones es fundamental para organizar el trabajo. También, si el trabajo es fruto de un equipo, el controlador de versiones, mantiene organizados los aportes de cada uno, o sea que no sólo controla la línea de tiempo sino el origen de cada variación. Por último estos repositorios permiten archivar y compartir estos "borradores" o versiones. Este capítulo es extenso y está escrito por desarrolladores experientes de Perú de forma sumamente clara en español.

Todos sabemos que cuando configuramos el idioma de nuestra ceibalita las Actividades aparecen traducidas a ese idioma. Esto funciona gracias a que los textos con los que cada Actividad "habla" con el usuario están guardados en distintos idiomas.  Estas traducciones se guardan en un servidor llamado Pootle. Acá se explica la estructura que debe tener la Actividad para ser facilmente traducida a cualquiera de los idiomas sugar del mundo y en el caso de hacer una traducción, cómo enviar a Pootle la misma.

Sobre como subir una Actividad terminada al sitio Activities Sugar Labs Org  (ASLO)  para compartirla con los usuarios de Sugar de todo el mundo, cómo elegir una licencia, etc. 

Depurar es encontrar bug o errores. Este capítulo refiere a herramientas que se pueden utilizar para buscar estos errores en el código. Además, enseña a leer la Actividad Registro o Log.

Temas Avanzados (Tercera Sección)

¿Qué es Telepathy?¿Qué es un servidor Jabber?¿Cómo usar la red Malla en tu Actividad? Este capítulo es muy extenso y está escrito en español por un desarrollador de Bolivia que trabaja en una zona donde las "ceibalitas" no acceden a internet y donde es de suma importancia el tema redes. Se trabaja interviniendo el código de una Actividad llamada mini-chat y se explica como hacer pruebas de colaboración sin tener varias ceibalitas para probar sino usando una sola pc normal.

Los niños adoran Hablar con Sara, la Actividad Sugar que habla lo que uno escribe.  Según el autor, es bastante sencillo incorporar esta función "texto hablado" a otras Actividades que puedan beneficiarse de emitir palabras en nuestro idioma.

El tan discutido Diario de las ceibalitas y cómo interactuar con su funcionamiento. Este capítulo explica que es internamente el Diario o Journal y cómo diseñar una Actividad para que casi no lo use o para que lo use a gusto del autor. También hace referencia a un código que permite instalar una especie de Diario alternativo, en el que además de ver los registros de las últimas Actividades usadas se agrega en otra pestaña un navegador de archivos tradicional.

Este capítulo nos invita a trabajar sobre un código llamado sugargame, para experimentar el uso de pyGame y pyGTK, según dice se puede crear un juego modesto en apenas un sólo día usando las herramientas de PyGame. Si bien este capítulo está entre los temas avanzados, puede ser aconsejable empezar creando un juego python sobre pyGame y luego darle la envestidura de Actividad.

Hay varias versiones de Sugar en uso y cada una trae un tipo distinto de barra de herramientas. Las barras de las Actividades se heredan de la clase sugar.activity, pero pueden modificarse o directamente diseñarse de cero. Como trabajar la retro-compatibilidad entre las distintas versiones de Sugar a nivel de las barras de herramientas es el tema central de este capítulo.

Apéndice (Sección Final)

Breve punteo de links a temas más avanzados y a espacios de discusión con desarrolladores de la comunidad internacional sugar. Interesante un libro de olpc-austria también acerca de cómo hacer actividades pero más avanzado y resumido.

Es destacable que este libro está disponible para nosotros gracias a la colaboración voluntaria muchísimas personas y que está disponible en todos los formatos existentes:

http://www.archive.org/details/ComoHacerUnaActividadSugar

También integra el acervo de manuales FLOSS ( Free Libre Open Source Software ) en http://en.flossmanuals.net/como-hacer-una-actividad-sugar/