ANEXO PRÁCTICO MAGALLANES

29
ANEXO PRÁCTICO MAGALLANES Anexo Práctico para la Guía de Producción MAGALLANES - Versión: 1.0 Fernando Sansberro

Transcript of ANEXO PRÁCTICO MAGALLANES

Page 1: ANEXO PRÁCTICO MAGALLANES

ANEXO PRÁCTICO MAGALLANES

Anexo Práctico para la Guía de Producción MAGALLANES - Versión: 1.0

Fernando Sansberro

Page 2: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 2 de 29

Centro Ceibal – Uruguay

Contenido Capítulo 1 - Introducción ................................................................................................... 4

1.1 Sobre la Guía ............................................................................................................. 4

1.2 Público Objetivo ......................................................................................................... 5

1.3 Contenido de la Guía ................................................................................................. 5

1.4 Sobre el Autor............................................................................................................. 5

Capítulo 2 - La Computadora Magallanes ........................................................................ 7

2.1 JP SA Couto y la Computadora Magallanes............................................................... 7

2.2 Hardware .................................................................................................................... 8

2.2.1 La Computadora Magallanes ............................................................................... 8

2.2.2 Display ................................................................................................................. 9

2.2.3 Audio .................................................................................................................... 9

2.2.4 Cámara .............................................................................................................. 10

2.2.5 Red .................................................................................................................... 10

2.2.6 Dispositivos de Entrada ..................................................................................... 10

2.2.6.1 Teclado ........................................................................................................ 10

2.2.6.2 Touchpad ..................................................................................................... 11

2.2.6.3 Otras Entradas ............................................................................................. 12

2.3 Software ................................................................................................................... 12

2.3.1 Sistema Operativo ............................................................................................. 12

2.3.2 Interfaz Gráfica .................................................................................................. 12

2.3.3 El Navegador y las Aplicaciones Web................................................................ 14

Capítulo 3 - Desarrollo de Actividades y Juegos .......................................................... 15

3.1 Actividades, Aplicaciones y Aplicaciones Web ......................................................... 15

3.2 Lenguajes de Programación .................................................................................... 16

3.3 Desarrollo en Python ................................................................................................ 17

3.4 Desarrollo en C++ .................................................................................................... 18

3.5 Entornos de Desarrollos ........................................................................................... 18

Page 3: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 3 de 29

Centro Ceibal – Uruguay

3.6 Usabilidad y Testing ................................................................................................. 18

3.6.1 Audiencia ............................................................................................................... 19

3.6.2 Fundamentos de Diseño ....................................................................................... 19

3.6.3 Testing ............................................................................................................... 19

3.6.4 Distribución de Actividades y Aplicaciones ........................................................ 19

3.6.5 Desbloqueo y Flasheo de Magallanes ............................................................... 19

Capítulo 4 – Portabilidad en el Plan Ceibal ................................................................... 20

4.1 Parque de Computadoras ..................................................................................... 20

4.2 Diferencias de Hardware ...................................................................................... 20

4.2.1 Teclados ............................................................................................................. 21

4.2.2 Display ............................................................................................................... 23

4.3 Diferencias de Software ........................................................................................ 25

Referencias ...................................................................................................................... 27

Page 4: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 4 de 29

Centro Ceibal – Uruguay

Capítulo 1 - Introducción

1.1 Sobre la Guía

La presente guía está pensada para desarrolladores de cualquier clase de contenidos para las computadoras Magallanes del Plan Ceibal, pero poniendo énfasis en el desarrollo de actividades educativas y videojuegos. De forma similar a la guía de producción para XO 1.5, esta guía presenta las características particulares de las computadoras Magallanes, y funciona como complemento al Anexo Práctico para la Guía de Producción que fue escrita para la computadora XO 1.0. Ambas computadoras: XO 1.5 y Magallanes constituyen al día de hoy el parque de computadoras distribuidas por Plan Ceibal en Enseñanza Secundaria. Es sumamente importante leer la guía de producción de XO 1.0, dado que en ella se muestran las alternativas de desarrollo existentes, analizando pros y contras de cada una, y enumera un conjunto de técnicas y prácticas requeridas para el desarrollo de un producto que corra adecuadamente en estas computadoras. La misma, también habla de cuestiones de producción y de testing que no se encuentran en este trabajo. En la presente guía, se enumeran las características de la computadora Magallanes y se muestran las diferencias con las computadoras XO 1.0 y XO 1.5. También se discuten alternativas y factores a tener en cuenta para el desarrollo de actividades y juegos para todo el Plan Ceibal (cómo lograr la mayor portabilidad para soportar las computadoras XO 1.0, XO 1.5 y Magallanes). Se asume que el lector está familiarizado con los trabajos previos mencionados (guía de producción de la computadora XO 1.0 y guía de producción de la computadora XO 1.5), dado que aquí se hablan de las características de la computadora Magallanes y se señalan diferencias con las otras computadoras, pero no se repiten los conceptos explicados en la guía de XO 1.0. Es recomendable leer primero la guía de XO 1.0, sino obligatorio. Durante el desarrollo de esta guía se trató de no profundizar demasiado en cada tema para que éste trabajo tenga una función de guía introductoria. De esta forma se hace posible la consulta rápida de cada tema y en cada uno se listan referencias bibliográficas o sitios de Internet donde se pueden profundizar los conocimientos. El objetivo de esta guía es que sirva como documento de consulta para las características de la computadora Magallanes, mientras que la guía previa sirve como punto de partida para el desarrollo de contenidos para la plataforma XO en general. Nuevamente, es recomendable, sino obligatorio, leer la guía previa dado que en la presente no se repiten conceptos.

Page 5: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 5 de 29

Centro Ceibal – Uruguay

1.2 Público Objetivo

El público objetivo de esta guía son por un lado los programadores que teniendo conocimientos de programación, ven a la computadora Magallanes como otra plataforma en la cual desarrollar y son los que van a trabajar durante el desarrollo, y por otro lado los gerentes, diseñadores, etc. de empresas de informática y/o audiovisuales que necesiten conocer sobre las características del desarrollo para la plataforma Magallanes de forma tal de poder tomar decisiones con más información a su alcance. Es importante mencionar que Plan Ceibal distribuye en Educación Secundaria las computadoras XO 1.5 y Magallanes, ambas computadoras muy diferentes. Motivo por el cual desarrollar actividades educativas o videojuegos para Educación Secundaria es al día de hoy desarrollar simultáneamente para XO 1.5 y Magallanes. Se comienza a introducir el tema de la portabilidad en el desarrollo, lo cual se explicará más adelante.

1.3 Contenido de la Guía

La guía se divide en tres capítulos principales. El capítulo dos describe el hardware de la computadora Magallanes y el software instalado en ella, así como el sistema operativo que tiene que lo diferencia de las XO: Ubuntu. El capítulo tres explica que lenguajes de programación conviene utilizar en cada caso. El capítulo cuarto introduce el tema de portabilidad en el desarrollo de los proyectos, dado que al día de escribirse esta guía hay que soportar XO 1.5 y Magallanes para Educación Secundaria y/o sumar XO 1.0 para cubrir todo el Plan Ceibal. Los siguientes capítulos de la guía de producción de XO 1.0 son totalmente vigentes para la computadora Magallanes y no se encuentran en esta guía con el fin de no repetir conceptos y que quede más fácil su consulta. Es imprescindible la lectura de: Capítulo 2 – Proceso de Producción y Optimizaciones y Capítulo 6 – Normas de Usabilidad y Testing. En particular el Capítulo 5 - Limitaciones de la Computadora XO, continúa vigente en lo conceptual (exceptuando el display que es diferente a las otras computadoras), dado que la computadora Magallanes es bastante más potente que las computadoras XO 1.0 y XO 1.5, sin embargo, la optimización sigue siendo necesaria.

1.4 Sobre el Autor

Fernando Sansberro es Director de Batovi Games Studio (www.batovi.com), un estudio de desarrollo de videojuegos ubicado en Montevideo, Uruguay, que desarrolla juegos para diferentes plataformas como celulares, web y advergaming, juegos casuales para PC, Mac y Linux. Batovi Games ha desarrollado juegos para portales y publishers como AOL,

Page 6: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 6 de 29

Centro Ceibal – Uruguay

Cartoon Network, Nickelodeon, Big Fish Games, GlobalFun, etc. Fernando ha trabajado también como docente enseñando programación de videojuegos web en Flash y programación de videojuegos Java para celulares en Universidad ORT Uruguay. Muchos de los conceptos volcados en esta guía se recogen de las experiencias adquiridas durante el desarrollo de juegos que Batovi Games Studio ha realizado para la plataforma XO, entre los cuales se encuentran Super Vampire Ninja Zero, Vascolet: La Máquina del Tiempo, Xa contra los Cuatreros Galácticos, Garra Fútbol, Vascolet 2: La Fórmula Secreta, Ajedrez y Leyendas, etc.

Page 7: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 7 de 29

Centro Ceibal – Uruguay

Capítulo 2 - La Computadora Magallanes

2.1 JP SA Couto y la Computadora Magallanes

La computadora Magallanes es una de las laptops distribuida en el Plan Ceibal en Uruguay [1] para Educación Secundaria (liceos). Esta computadora es distribuida por JP SA Couto. La otra computadora distribuida en liceos es la XO 1.5 (existe otra guía de producción similar a ésta para las computadoras XO 1.5). La computadora se llama realmente Magalhães (aunque le diremos Magallanes), y el modelo de la computadora distribuida por Ceibal es MG2. Es la segunda generación de lo que se llama Classmate PC [31], fabricadas por Intel en respuesta a las computadoras XO de OLPC [2]. La computadora Magallanes es diferente a las XO 1.0 y XO 1.5. Las diferencias más notorias son su pantalla, teclado, performance, el sistema operativo y entorno gráfico.

Fig. 1: La computadora Magallanes. La pantalla de la computadora Magallanes es más grande que la de XO 1.5 y XO 1.0, incluso de diferente aspecto (aspect ratio), primera razón por la cual pensar en la portabilidad durante el desarrollo de actividades y juegos. A diferencia de las computadoras XO, las Magallanes se pueden trabajar en otra resolución más baja.

Page 8: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 8 de 29

Centro Ceibal – Uruguay

El teclado es otra de las diferencias contra XO 1.0 o XO 1.5. El teclado es de plástico, para hacer la computadora más fácil de usar por los estudiantes de educación media, siendo más estándar en lugar de la membrana de goma resistente al agua como tiene la computadora XO 1.0. Comparando con las computadoras actuales en el mercado, la computadora Magallanes, sigue teniendo una capacidad de procesamiento y almacenamiento limitada. Sin embargo, en las pruebas realizadas, la computadora Magallanes es más poderosa que las computadoras XO 1.0 y XO 1.5. Incluso, pueden cambiar en algo la evaluación realizada en la guía de XO 1.0 sobre el uso de lenguajes o herramientas de desarrollo (Flash por ejemplo, funciona más rápido y se podría tener en cuenta, aunque aún hay que tener mucho cuidado y aún así sigue teniendo las contras señaladas en la guía de XO 1.0). Al igual que se explica en la guía de producción de XO 1.0, durante el desarrollo de una actividad o videojuego, no debe nunca asumirse que las cosas son de la misma manera o funcionan como en otros entornos. La única forma de asegurarse que algo funciona correctamente es probando en la misma computadora Magallanes. La última diferencia grande con las computadoras XO 1.0 y XO 1.5 es el sistema operativo (Ubuntu Linux con entorno gráfico GNOME). Recordemos que XO 1.0 tiene Fedora Linux y entorno Sugar y las XO 1.5 tienen Fedora Linux y dos entornos: Sugar y GNOME.

2.2 Hardware

Las especificaciones completas del hardware de la computadora Magallanes se pueden ver en [29] y [30]. A continuación se describe el hardware que es relevante para el desarrollo de actividades. En [29] se pueden ver la tabla de las especificaciones de las tres computadoras actuales en Plan Ceibal y comparar.

2.2.1 La Computadora Magallanes Las características más relevantes de la computadora Magallanes son las siguientes:

− Procesador: Intel (R) Atom (TR) N450 1.66 Ghz.

− Memoria: 1 Gb. DDR2.

− Almacenamiento: 8 Gb. de memoria Flash on board. La computadora no cuenta con disco duro ni con partes móviles (excepto un ventilador) para disminuir el riesgo de roturas.

− Display: Pantalla de cristal líquido (LCD) de 8.9 pulgadas. Resolución por defecto:

Page 9: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 9 de 29

Centro Ceibal – Uruguay

1024 x 600. Soporta las siguientes resoluciones: 1024x600 (16:9) (recomendada), 800x600 (4:3) y 640x480 (4:3). VGA compatible controller: Intel Corporation Device a012. Tungsten Graphics Inc. Mesa DRI Intel IGD GEM 20091221 2009Q4 x86/MMX/SSE2. Controlador 1.4 Mesa 7.7.

− Audio: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller. Más adelante se mencionan particularidades en las cuales se diferencia de las computadoras XO de OLPC, en relación a lo que hay que tener en cuenta cuando se desarrolla una actividad para lograr una performance adecuada.

2.2.2 Display El display de la computadora Magallanes es diferente a las computadoras XO. La resolución de la pantalla por defecto es de 1024x600, lo cual es una pantalla widescreen, con un formato diferente a las de las XO (4:3). A diferencia de las computadoras XO, la computadora Magallanes no tiene display con modo dual, por lo cual no puede leerse la pantalla bajo la luz directa del sol. Si bien las pruebas realizadas en la computadora Magallanes muestran un aumento significativo de performance con respecto a las computadoras XO, el display siempre es el punto más crítico para la performance de las actividades (1024x600 aún es una resolución grande para este tipo de computadoras). Se recomienda leer la guía de producción de XO 1.0 para tener en cuenta temas de performance. Al igual que en las computadoras XO, la computadora Magallanes no cuenta con placa aceleradora de video, aunque a diferencia de las XO, es posible confuiguarar las otras resoluciones mencionadas. Sigue funcionando el sistema de overlays al igual que lo hacía en XO 1.0 y XO 1.5. La computadora Magallanes tiene salida para monitor externo o cañón, a diferencia de las computadoras XO que no tienen.

2.2.3 Audio

La computadora Magallanes cuenta con audio estéreo, con dos parlantes y micrófono interno y entrada para auriculares o parlantes externos y para micrófono. Durante el desarrollo de la actividad o videojuego, si se está desarrollando para todas las computadoras de Ceibal, se recomienda probar en paralelo en las mismas, dado que los tres tienen tarjetas de audio diferente. Hay que tener en cuenta que los sonidos y música con graves producen vibraciones en el parlante externo de la computadora que los hacen

Page 10: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 10 de 29

Centro Ceibal – Uruguay

molestos. Hay que probar en la computadora el audio a utilizar.

2.2.4 Cámara La computadora tiene una cámara integrada de 0.3 megapixeles (resolución 640x480).

2.2.5 Red La computadora Magallanes trae dos tarjetas de red, una inalámbrica y otra Ethernet (conector RJ45 para cable de red). Las tarjetas de red son Realtek Semiconductor Co. RTL8101E / RTL8102E PCI Express Fast Ethernet Controller y Realtek Semiconductor Co. Device 8172 respectivamente.

2.2.6 Dispositivos de Entrada Los dispositivos de entrada de la computadora Magallanes son el teclado y el touchpad. A diferencia de las computadoras XO, no tiene modo Ebook (las XO pueden rotar el display de modo que queden las teclas de juego como si fuera una consola de juegos). Los teclados de las computadoras Magallanes y XO 1.5 son diferentes y esto constituye una de las principales diferencias a tener en cuenta a la hora de desarrollar contenido para ambas máquinas.

2.2.6.1 Teclado

El teclado de la computadora Magallanes es de plástico y consta de 85 teclas. El mismo es un teclado más apto para estudiantes de educación media, para dedos más grandes y ahora es más fácil la escritura (comparando con el teclado de goma de la XO 1.0). En realidad la computadora Magallanes posee un teclado estándar, mientras que las XO no (por ejemplo, en la XO 1.5, las flechas de dirección están todas en línea). En la computadora Magallanes las flechas de dirección son normales y la tecla [Ctrl] se encuentra a la derecha de [fn] y no arriba como en la XO 1.0 y XO 1.5.

Page 11: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 11 de 29

Centro Ceibal – Uruguay

Fig. 2: Imagen del Teclado de Magallanes. A diferencia de la XO 1.0, el teclado de la computadora Magallanes parece más resistente, por lo cual ya no habría restricciones en cuanto al uso de las mismas (por ejemplo para usar una tecla de disparar en videojuegos).

2.2.6.2 Touchpad

La computadora Magallanes tiene un touchpad al igual que las computadoras XO 1.0 y XO 1.5, usado para mover el puntero del mouse, junto con dos botones para click derecho e izquierdo. El touchpad tiene una resolución de 1000 dpi y un área activa de 7 cm. por 4 cm. A diferencia de las computadoras XO, en la computadora Magallanes es posible utilizar el pad para realizar los clicks del mouse.

Page 12: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 12 de 29

Centro Ceibal – Uruguay

2.2.6.3 Otras Entradas

La computadora tiene tres entradas para dispositivos USB 2.0 un slot SD. A diferencia de las computadoras XO, el micrófono no incluye un modo de sensor de entrada (para poder enchufar sensores que pueden convertir la máquina, por ejemplo, en termómetros u osciloscopios).

2.3 Software

En esta sección se describe el software instalado en las computadoras Magallanes que es relevante para el desarrollo de actividades. Si nunca se ha manejado la computadora Magallanes, se recomienda leer el manual básico de uso de la Magallanes [17]. Las computadoras Magallanes tienen como entorno gráfico GNOME [19], a diferencia de la XO 1.0 que solo tiene Sugar como entorno gráfico y las computadora XO 1.5 que cuentan con dos entornos gráficos que se pueden cambiar entre uno y otro: Sugar [20] y GNOME [19].

2.3.1 Sistema Operativo La computadora Magallanes que distribuye Ceibal tiene instalado Ubuntu [32] con el entorno gráfico GNOME [19]. A diferencia de las computadoras XO 1.0 y XO 1.5, la Magallanes tiene permisos de usuario administrador (root). La computadora viene con un usuario “estudiante” y la contraseña “estudiante”. El sistema antirrobo de las Magallanes se denomina “Theft Deterrent” y es un programa que se conecta con los servidores del Plan Ceibal para actualizar la fecha de vencimiento para que no se bloquee. Hay que mencionar que las computadoras Magallanes durante un tiempo estuvieron instaladas con Linux Metasys [21] y entorno gráfico KDE [18], lo cual podría ser una posible configuración a soportar en el exterior.

2.3.2 Interfaz Gráfica La computadora Magallanes tiene el entorno gráfico GNOME [19].

Page 13: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 13 de 29

Centro Ceibal – Uruguay

Fig. 3: Imagen del Entorno Gráfico GNOME de Ubuntu 10.4. El entorno gráfico GNOME (GNU Network Model environment) es uno de los entornos gráficos utilizados en distribuciones Linux (por ejemplo en Ubuntu), y es un sistema con ventanas, más parecido a los entornos de escritorio utilizados en otras plataformas (Windows, Mac, etc.). GNOME es más adecuado para los estudiantes de la enseñanza media al igual que en las computadoras XO 1.5. La computadora Magallanes contiene varias aplicaciones, entre las cuales se encuentran:

- Navegador Web (Firefox). - Manejador de Archivos. - Gedit (Editor de Texto). - Open Office. - Audacity (Audio). - GIMP (Gráficos de bitmaps). - Emulador de Sugar.

El entorno GNOME posee un manejador de archivos, que es más accesible que el de Sugar, sobre todo pensando en ver y/o modificar archivos al testear la aplicación desarrollada.

Page 14: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 14 de 29

Centro Ceibal – Uruguay

2.3.3 El Navegador y las Aplicaciones Web El navegador de la computadora Magallanes es Firefox [16], por lo cual soporta el lenguaje de programación Javascript y Flash. Firefox también se encuentra instalado en las computadoras XO 1.5 en el entorno GNOME. Sin embargo, en las computadoras XO 1.0, la actividad Navegar [15] es bastante más simple que Firefox y la restricción más importante es que no soporta todos los complementos (plugins o add-ons) que soporta Firefox.

En particular, el navegador Firefox es más completo en cuanto a las capacidades que el navegador que hay en Sugar (Actividad Navegar). De todas formas al hacer una aplicación web para Plan Ceibal, hay que probarla en los tres entornos. Al igual que en XO 1.0 y XO 1.5, se utiliza el navegador para descargar actividades o aplicaciones e instalarlas en la computadora. El navegador Firefox de la computadora Magallanes corre los programas Flash con un rendimiento mejor que XO 1.5, pero aún podría ser inaceptable para videojuegos o actividades que usen gráficos en forma intensiva. Sin embargo, para aplicaciones Flash más simples (o muy optimizadas) es posible usarlo (a diferencia de las computadoras XO 1.0 y XO 1.5 donde el uso de Flash no se recomienda). Con las computadoras Magallanes es posible utilizar Flash, aunque con cuidado. Es notoria la diferencia de performance de los programas Flash en Firefox entre las computadoras XO 1.5 y la Magallanes. De todas formas la regla siempre es probar en la computadora para ver si se logra la performance necesaria según el caso.

Otra cosa a tener en cuenta es que la pantalla de Magallanes es widescreen (resolución por defecto es 1024x600), y en la mayoría de las páginas se ve poca área vertical.

Page 15: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 15 de 29

Centro Ceibal – Uruguay

Capítulo 3 - Desarrollo de Actividades y Juegos

En este capítulo se mencionan los lenguajes que se pueden utilizar para el desarrollo para la computadora Magallanes. En la guía de producción para la computadora XO 1.0 se describían los pros y contras de cada lenguaje y su relación con la performance y facilidad de uso. Se recomienda leer dicha guía, dado que esos conceptos no se repiten aquí. La computadora Magallanes tiene más velocidad que la computadora XO 1.5 y mitiga un poco la necesidad de optimización y el uso de determinados lenguajes (Flash por ejemplo), pero de todas formas los conceptos discutidos en la guía de producción de XO 1.0 siguen vigentes. Los lenguajes recomendados para desarrollar son: Python con Pygame [4] para mantener portabilidad con los desarrollos para XO 1.0, Python con PyGTK [22] o C++ con GTK+ [23] para desarrollar aplicaciones integradas al entorno GNOME, o C++ con SDL [5] para desarrollar en forma nativa. Las computadoras Magallanes vienen con las librerías Pygame instaladas y es esperable que sean las mismas versiones que en las computadoras XO 1.0 y XO 1.5, siempre que esto sea posible. El uso de PyGTK o GTK+ es recomendable para que la aplicación o actividad se integre con el entorno gráfico (uso de ventanas y elementos de la interfaz gráfica), mientras que C++ con SDL es recomendado para videojuegos o actividades que hagan un uso intensivo de gráficos, dado que es un lenguaje compilado y esto produce software con mayor rendimiento que los otros lenguajes que son interpretados como Python con Pygame. En la guía de producción de XO 1.0 se detallan estas cuestiones. En [7] se encuentra el sitio de desarrollo del Plan Ceibal, en el cual se pueden acceder a diferentes documentos relacionados al desarrollo de actividades, incluyéndose esta guía.

3.1 Actividades, Aplicaciones y Aplicaciones Web

En la guía de producción de XO 1.0 se describen los diferentes tipos de aplicaciones, web o locales, las cuales tienen pros y contras. Se recomienda su lectura. Para instalar aplicaciones en Ubuntu se utilizan varios métodos: (1) Utilizar el repositorio de aplicaciones y paquetes (Aplicaciones, Centro de software de Ubuntu) se tiene acceso al repositorio de aplicaciones para Ubuntu para instalar, (2) Utilizando la terminal (Aplicaciones, Accesorios, Terminal) se utiliza el comando sudo aptitude install <nombredelprograma>, (3) Utilizar el Gestor de paquetes Synaptic (Sistema, Administración) para instalar o desinstalar paquetes, lo cual es similar al Centro de software de Ubuntu pero contiene más programas y tareas específicas y (4) Paquetes .deb, se descarga el paquete desde un sitio de internet, se le da doble click y el mismo se instala automáticamente. Esta será la opción a utilizar para los desarrollos de Ceibal o cualquier desarrollo que no vaya en los repositorios de Ubuntu.

Page 16: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 16 de 29

Centro Ceibal – Uruguay

En [24] se listan y describen en mayor profundidad las formas de instalación de aplicaciones en Ubuntu. Hay que tener en cuenta que si se desarrolla una aplicación integrada con el entorno GNOME, no será compatible con el entorno Sugar de las computadoras XO 1.0 y XO 1.5. Si la actividad desarrollada no se integra con el entorno (como en el caso de los videojuegos que corren fullscreen), puede ser compatibles con todas las computadoras (igual hay que tener en cuenta otras diferencias entre las computadoras). Si la actividad desarrollada utiliza un entorno gráfico con varias ventanas y cuadros de diálogo (software como por ejemplo Firefox u Open Office) se recomienda el uso de C++ con la bilbioteca GTK+ o Python con PyGTK, dado que facilita la creación de software con interfaces graficas como las del entorno gráfico GNOME. Al desarrollar una aplicación para el entorno GNOME (que se integre al entorno) es necesario consultar la Guía de Estilo para Usabilidad para el entorno GNOME [25]. Al realizar aplicaciones web, las mismas pueden ser accedidas desde todas las computadoras de Plan Ceibal por medio de la actividad Navegar (XO 1.0 y XO 1.5 en Sugar) o del navegador Firefox (XO 1.5 en GNOME o Magallanes). De todas formas hay que tener en cuenta lo mencionado antes sobre la pantalla y sobre todo probar en las computadoras y en los diferentes navegadores y entornos para que no haya sorpresas. Hay que tener en cuenta también que las aplicaciones web se ven diferentes en distintos browsers y no se pueden poner fullscreen, además de requerir conexión para funcionar, etc.

3.2 Lenguajes de Programación

Al igual que se sugiere en la guía de producción para la computadora XO 1.0, los lenguajes recomendados para el desarrollo para XO 1.5 son Python [3] y/o C++ [8]. Cuando se desea realizar un software integrado con el entorno GNOME, es recomendable utilizar GTK+, que son las bibliotecas gráficas utilizadas en GNOME. En [26] se puede ver un tutorial introductorio al desarrollo con GTK+. Para desarrollar para GNOME es recomendable visitar el Centro de Desarrolladores de GNOME [27], el cual contiene detalles de la arquitectura, ejemplos y tutoriales, así como también una completa descripción de las APIs existentes para el desarrollo. Para GNOME, se puede desarrollar con Python y PyGTK, o C++ y GTK+ que es lo natural para el entorno GNOME. Por supuesto siempre está la opción de desarrollar en forma en forma nativa utilizando

Page 17: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 17 de 29

Centro Ceibal – Uruguay

C++ con SDL y modo fullscreen, o desarrollar utilizando Python con Pygame y modo fullscreen, de modo de no tener que lidiar con diferentes versiones del software (esto es, si no se desea integrar la aplicación al entorno). Es posible utilizar otros lenguajes según el caso para realizar actividades más sencillas o web (descartando videojuegos que sean complejos, la Magallanes puede permitir juegos más simples): Flash, HTML5, Java, etc. En relación a estos lenguajes, a diferencia de las XO 1.0 y XO 1.5 en donde no se aconsejaba su uso, en el caso de las Magallanes las pruebas realizadas de performance muestran un aumento significativo de performance con respecto a dichas computadoras, por lo cual sin llegar a recomendar el uso de estos lenguajes, al menos no se desaconseja. De todas formas, es clave la prueba temprana de lo que se pretende realizar para saber si la computadora corre aceptablemente nuestra aplicación, más aun si la misma tiene muchas animaciones, scrolling o muchos objetos en movimiento en la pantalla.

3.3 Desarrollo en Python

La versión de Python instalada en las computadoras Magallanes del Plan Ceibal es la misma que en las computadoras XO 1.0 y XO 1.5 por un tema de compatibilidad de las actividades realizadas para las mismas y es de esperarse que ambas computadoras siempre tengan instalada la misma versión, para hacer compatibles los desarrollos en Python/Pygame. La versión de Pygame instalada al día de escribir la guía es 1.9.1. La versión de Python se puede obtener abriendo la terminal y ejecutando el siguiente comando: python –V. La versión de Pygame puede obtenerse luego de importar el módulo pygame utilizando “print pygame.version.ver”. Sería razonable asumir que Ceibal mantiene a todas las diferentes computadoras con la misma versión de Python y Pygame, pero el escenario podría ser diferente y conviene que el desarrollador esté preparado para manejar esto. Python también puede utilizarse con PyGTK [22], que es una biblioteca para implementar la interfaz de usuario para el entorno GNOME. A la hora de desarrollar con Python se sugiere utilizar el estilo de código de estilo definido en la guía PEP8 de Python [6]. Para desarrollar videojuegos en Python se utiliza Pygame, que es una biblioteca diseñada para dicha actividad. Pygame permite a un programa Python utilizar SDL (por lo cual se dice que Pygame es un wrapper de SDL para Python).

Page 18: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 18 de 29

Centro Ceibal – Uruguay

3.4 Desarrollo en C++

Para desarrollar videojuegos en C++ para la computadora XO y Magallanes, se utiliza la biblioteca SDL (Simple Directmedia Library), la cual es una biblioteca que brinda acceso a las interfaces de bajo nivel para realizar tareas de forma eficiente en juegos 2D. SDL nos da acceso al display, al sistema de audio, a los dispositivos de entrada, etc. Al igual que Pygame, SDL viene instalado en la computadora Magallanes y funciona perfectamente. También es de esperarse que todas las computadoras de Plan Ceibal tendrán siempre las mismas versiones de SDL, aunque al igual que con Python, hay que estar preparado para manejar el caso contrario. Con C++ también puede desarrollarse utilizando GTK+ para el entorno gráfico GNOME. GTK+ en forma nativa utiliza el lenguaje C++. Se recomienda la lectura de la guía de producción de XO 1.0, dado que en ellas se describe en mayor detalle los lenguajes Python/Pygame y C++/SDL. En dicha guía se habla sobre las características del desarrollo de videojuegos y los factores a tener en cuenta de performance y optimizaciones que también son necesarias al desarrollar actividades para la computadora Magallanes. También se mencionan otras bibliotecas y engines (motores) de videojuegos, tanto Python como C++.

3.5 Entornos de Desarrollos

Existen varios entornos de desarrollo (IDE) para los diferentes lenguajes y cada uno presenta diferentes funcionalidades. Hay que elegir cual usar de acuerdo a la plataforma en la cual se va a desarrollar y a lo que se necesite. Para desarrollar en Python o C++, algunos de los entornos de desarrollo más usados en la industria son:

− Python: Eclipse + PyDev [9] y [10].

− Python: IDLE (es más simple) [11].

− C++: Microsoft Visual C++ para Windows [12].

− Eclipse CPP para Windows/Linux [13].

− Xcode para Macintosh [14].

3.6 Usabilidad y Testing

En esta sección se describen algunas cosas que hay que tener en cuenta específicamente para la para la computadora Magallanes. Los conceptos del capítulo 6 – Normas de Usabilidad y Testing de la guía de producción para XO 1.0 son vigentes para la computadora Magallanes y es imprescindible su lectura. En esta sección se agregan unos pocos conceptos que son específicos para Magallanes.

Page 19: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 19 de 29

Centro Ceibal – Uruguay

Resumiendo, en la guía de producción de XO 1.0, se mencionaba el hecho de que las actividades hay que probarlas en la misma computadora, no asumiendo que algo funciona sin probarlo, y realizar frecuentemente focus groups con la audiencia para probar la usabilidad del software desarrollado.

3.6.1 Audiencia

Una de las diferencias de la Magallanes con la XO 1.0 es que la Magallanes se distribuye entre los alumnos de educación media, por lo cual la edad está entre 12 y 17 años (lo mismo ocurre para la computadora XO 1.5). Se puede asumir ya cierta costumbre en el uso de computadoras, la lectura de texto ya no es un impedimento como era antes y ya se puede coordinar dos manos con varios botones simultáneamente para videojuegos.

3.6.2 Fundamentos de Diseño

Para el desarrollo de una aplicación para el entorno GNOME, es necesario consultar la Guía de Estilo de Usabilidad para GNOME [25].

3.6.3 Testing Las normas de testing de la guía de producción para XO 1.0 son vigentes para la computadora Magallanes. A esto se agrega si se trata de una aplicación para GNOME, es esperable que la actividad se comporte correctamente y en forma esperada por el usuario, dentro del entorno (por ejemplo que se pueda cambiar de aplicaciones entre ventanas, que se ponga en pausa la aplicación cuando la ventana no está activa, si tiene varias ventanas que se puedan ordenar, etc.).

3.6.4 Distribución de Actividades y Aplicaciones En el entorno GNOME y Ubuntu existen varias formas de instalar paquetes y aplicaciones (ver la sección 3.1). Si el desarrollo fuera open source, es razonable que el mismo se encuentre en el repositorio oficial de Ubuntu, con lo cual el usuario está familiarizado. Si el desarrollo fuera cerrado, es necesario colgar el paquete .deb en un sitio web (similar a lo que se hace con un paquete .xo para Sugar) para que el usuario descargue e instale.

3.6.5 Desbloqueo y Flasheo de Magallanes En el Sitio de Desarrollo del Portal Ceibal [7] se puede descargar la imagen de la computadora Magallanes. En dicho sitio hay instrucciones para el procedimiento de flasheo.

Page 20: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 20 de 29

Centro Ceibal – Uruguay

Capítulo 4 – Portabilidad en el Plan Ceibal

Este capítulo describe los temas a tener en cuenta para diseñar una actividad, aplicación o videojuego teniendo en cuenta la portabilidad entre las diferentes computadoras distribuidas dentro del Plan Ceibal en Uruguay.

4.1 Parque de Computadoras Al día de escribirse esta guía hay distribuidas 380.000 computadoras XO 1.0 en Educación Primaria y 100.000 computadoras en Educación Secundaria (90.000 XO 1.5 y 10.000 Magallanes) [28].

Fig. 4: Mercado de computadoras del Plan Ceibal.

Es necesario tener en cuenta si el proyecto a desarrollar está dirigido a Primaria, Secundaria o ambos para tomar decisiones de diseño, herramientas a utilizar, etc.

4.2 Diferencias de Hardware Al desarrollar una actividad o aplicación para las tres computadoras del Plan Ceibal, hay que tener en cuenta las diferencias del hardware. Por ejemplo en [29] y [30] hay una tabla comparativa del hardware de XO 1.5 y Magallanes. Al consultarse las guías de producción de XO 1.0, XO 1.5 y la presente para Magallanes, podemos obtener las diferencias que afectan e influyen en el desarrollo. Ahora, cuando se

Page 21: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 21 de 29

Centro Ceibal – Uruguay

desarrolla para Plan Ceibal, hay que discriminar que computadoras se soporta, dependiendo si es para Primaria (XO 1.0), Secundaria (XO 1.5 y Magallanes) o para todo el Plan Ceibal (todas las computadoras). Las principales diferencias en el hardware son:

- Diferentes tamaños del display. - Diferentes teclados. En particular XO 1.5 tiene las flechas en línea. - Magallanes no tiene modo ebook como XO 1.0 y XO 1.5 (no hay gamepad). - Magallanes permite realizar click en el touchpad mientras que las XO no. - XO 1.0 y XO 1.5 tienen bastante menor performance que Magallanes. - Las computadoras Magallanes no tienen sensores como las XO. - La pantalla de Magallanes no puede verse a la luz directa del sol como en las XO.

Comentaremos las principales diferencias que afectan al diseño a continuación: Teclado y Display.

4.2.1 Teclados

En las siguientes imágenes se pueden ver que los teclados de las tres computadoras son bien diferentes entre sí, con lo cual hay que tener en cuenta esta situación al representar gráficamente en pantalla las teclas (por ejemplo en las instrucciones o manuales), o al elegir teclas para moverse (XO 1.5 tiene las teclas de dirección en línea). Entre otras diferencias, el teclado de la computadora XO 1.0 es de goma, lo cual hace más difícil la escritura que en las otras computadoras, y la tecla [Ctrl] en la Magallanes está a la derecha de [fn] en lugar de estar arriba como en las computadoras XO. Si se va a desarrollar contenido para todas las máquinas a la vez, hay que tener en cuenta las diferencias en la posición de determinadas teclas.

Page 22: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 22 de 29

Centro Ceibal – Uruguay

Fig. 5: Imagen del Teclado de XO 1.0.

Fig. 6: Imagen del Teclado de XO 1.5.

Fig. 7: Imagen del Teclado de Magallanes.

Page 23: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 23 de 29

Centro Ceibal – Uruguay

4.2.2 Display El display de las computadoras XO 1.0 y XO 1.5 es el mismo. Sin embargo, el de Magallanes es diferente. Las computadoras XO tienen un display en formato 4:3 (resolución 1200x900), mientras que la pantalla de Magallanes es más grande y en formato widescreen (resolución por defecto 1024x600). Las siguientes figuras muestran la relación entre estos formatos.

Fig. 8: Relación entre display de XO (4:3) y de Magallanes (widescreen).

Fig. 9: Relación entre dos resoluciones 4:3.

Page 24: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 24 de 29

Centro Ceibal – Uruguay

Cuando en un videojuego hay que soportar diferentes resoluciones, lo que tenemos que pensar es en si cambiamos los gráficos y mantenemos la misma área de juego visible o si se mantiene el tamaño de los gráficos pero se ve un área diferente de juego (que puede ser más o menos dependiendo del caso), pero implica tener otra experiencia del juego. La siguiente figura muestra un ejemplo de este caso.

Fig. 10: ¿Cambiar tamaño de Gráficos o cambiar Gameplay?

Supongamos que tenemos un juego como se muestra a la izquierda y vamos a pasar a una ventana más chica. Las opciones son: (1) Los gráficos los dejamos como están y se verá menos área de pantalla (cambia la experiencia) o (2) Cambiamos el tamaño de todos los gráficos pero la experiencia es la misma (se ve la misma cantidad de pantalla o cerca). Una tercera opción puede ser escalar los gráficos (estirando para llenar la pantalla), o dejando barras en los bordes, aunque esto es posible si la diferencia entre resoluciones es poca. La decisión claro, será en base al tiempo, costo y características de cada proyecto, pero es muy importante incluir la portabilidad desde el diseño mismo de la aplicación.

En aplicaciones integradas al entorno, esto no sucede porque la aplicación se encuentra dentro de una ventana, por lo cual mucho de la lógica de manejo de ventanas y

Page 25: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 25 de 29

Centro Ceibal – Uruguay

formularios lo maneja la biblioteca del entorno. Sin embargo, si es un videojuego, el problema sería siempre el mismo.

4.3 Diferencias de Software De la misma manera que hay que tener en cuenta el hardware para la portabilidad del proyecto, lo mismo ocurre con el software instalado en las computadoras XO 1.0, XO 1.5 y Magallanes, así como también el lenguaje utilizado. Las principales diferencias de software que afectan el desarrollo son:

- Las computadoras XO 1.0 y XO 1.5 posee entorno Sugar. - La computadora XO 1.5 posee dos entornos: Sugar y GNOME. - La computadora Magallanes posee entorno GNOME y un emulador de Sugar. - La computadora XO 1.0 y XO 1.5 usan la actividad de Sugar Navegar para Internet. - Las computadoras XO 1.5 y Magallanes usan Firefox.

Si se va a desarrollar una actividad, aplicación o videojuego integrado en el entorno gráfico, se hace más difícil soportar todas las computadoras, dado que hay que hacer dos versiones: Sugar y GNOME. Por lo tanto, una opción más viable es realizar una aplicación que corra fullscreen (como es el caso de los juegos) y de esta forma no esté integrada al entorno gráfico, así el programa es uno solo y solo hay que realizar adaptaciones menores relacionadas al tamaño del display y otras diferencias. La siguiente figura muestra las diferencias de software en forma gráfica.

Page 26: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 26 de 29

Centro Ceibal – Uruguay

Fig. 11: Diferencia de software entre las computadoras de Plan Ceibal.

Page 27: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 27 de 29

Centro Ceibal – Uruguay

Referencias

[1] Portal del Plan Ceibal en Uruguay. http://www.ceibal.edu.uy/ [2] Sitio Web de OLPC. http://www.laptop.org [3] Lenguaje de Programación Python. http://www.python.org/ [4] Biblioteca Pygame. http://pygame.org/ [5] Biblioteca Simple DirectMedia Library (SDL). http://www.libsdl.org/ [6] Guía de Estilo para el Código Python. http://www.python.org/dev/peps/pep-0008/ [7] Sitio de desarrollo de Ceibal. https://desarrollo.ceibal.edu.uy/ [8] Lenguaje C++. http://es.wikipedia.org/wiki/C%2B%2B [9] Eclipse IDE. http://www.eclipse.org/ [10] Pydev. http://pydev.org/ [11] IDLE. http://docs.python.org/library/idle.html [12] Microsoft Visual C++. http://msdn.microsoft.com/en-us/visualc/default.aspx [13] Eclipse CPP. http://www.eclipse.org/downloads/ [14] Xcode. http://developer.apple.com/technologies/tools/xcode.html [15] Especificación del Navegador Web de Sugar. http://wiki.laptop.org/go/Browse

Page 28: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 28 de 29

Centro Ceibal – Uruguay

[16] Navegador Firefox. http://www.mozilla.org/ [17] Manual de uso de la computadora Magallanes. http://200.40.200.99/images/stories/contenidos/espacio_tecnico/Formacion/MANUALMETASYS.pdf [18] Entorno gráfico KDE. http://www.kde.org/ [19] Entorno gráfico GNOME. http://www.gnome.org/ [20] Entorno gráfico Sugar. http://wiki.laptop.org/go/Sugar [21] Linux Metasys. http://www.metasys.com.br/ [22] Biblioteca PyGTK. http://www.pygtk.org [23] GTK+. http://www.gtk.org [24] Instalación de Programas en Ubuntu http://nunoelectric.obolog.com/instalar-programas-ubuntu-33826 [25] Guía de Estilo para Usabilidad para el Entorno GNOME. http://developer.gnome.org/hig-book/ [26] Introducción a la Programación en el Entorno GNOME. http://people.gnome.org/~csaavedra/documents/guadec-es-2007/intro-gnome.pdf [27] Centro del Desarrollador de GNOME. http://developer.gnome.org/ [28] Noticia sobre el parque de computadoras de Ceibal. http://www.enpositivo.com/uruguay-amplia-a-estudiantes-de-secundaria-la-entrega-de-ordenadores [29] Información en Wikipedia sobre Classmate PC. http://en.wikipedia.org/wiki/Classmate_PC [30] Comparación de Hardware entre XO 1.5 y Magallanes.

Page 29: ANEXO PRÁCTICO MAGALLANES

_____________________________________________________________________ Anexo Práctico para la Guía de Producción Magallanes v1.0 – Pág. 29 de 29

Centro Ceibal – Uruguay

http://rapceibal.ning.com/forum/topics/laptops-para-educacion-media?xg_source=activity [31] Classmate PC. http://www.classmatepc.com/ [32] Sistema Operativo Ubuntu. http://www.ubuntu.com/