Programación tangible para niños con Project Bloks de Google

Hace un mes, Google anunció un nuevo proyecto destinado a facilitar el aprendizaje de la programación entre los más jóvenes que se suma a otras iniciativas que lleva apoyando durante los últimos años, tales como Blockly, Scratch Blocks, CS First o Made w/ Code. Reconociendo la importancia de desarrollar las competencias de los niños en las nuevas tecnologías, y particularmente en el conocimiento de los lenguajes de programación, Google ha puesto en marcha Project Bloks, un proyecto de investigación que desarrolla en colaboración con Paulo Blikstein de la Stanford University e IDEO, con el objetivo de crear una plataforma de hardware de código abierto y distribución libre con la que investigadores, desarrolladores y diseñadores puedan crear maneras de aprender a programar con elementos físicos. El sistema de programación tangible cuenta de momento con un prototipo que la empresa muestra con detalle en la web del proyecto, que sirve también como documentación del desarrollo del mismo.

Bloks01

Bloks se basa en la facilidad que tienen los niños para manejar elementos físicos y establecer relaciones entre ellos. El sistema está compuesto por una serie de bloques que pueden conectarse entre sí, estableciendo una serie de instrucciones que se envían por medio de la red wifi a un objeto inteligente u otro dispositivo, como por ejemplo una tablet. Pensado como un sistema modular y adaptable, Bloks presenta tres tipos de componentes principales:

  • Placa principal (Brain Board): se encarga de procesar las instrucciones que recibe de los otros componentes y las envía al objeto inteligente por medio de una red wifi o por Bluetooth.
  • Placa base (Base Board): cada uno de los “bloques” que se conectan entre sí y envían las instrucciones a la placa principal.
  • Disco (Puck): controlador que se coloca sobre una placa base para determinar una instrucción. Pueden ser de diferentes tipos, según estén programados para proporcionar una instrucción concreta o facilitar determinada interacción (por ejemplo, encender/apagar, mover hacia la izquierda/derecha, reproducir música, etc.).

Las placas pueden colocarse en diferentes configuraciones (tanto de posición como de número de elementos) y disponer de distintos tipos de controladores para generar experiencias muy diversas. El equipo de investigadores prevé la posibilidad de insertar estas placas en un envoltorio creado expresamente para hacer del sistema un dispositivo independiente, como por ejemplo un juguete con diversos controles que permita crear música y reproducirla usando un altavoz inalámbrico.

bloks2 bloks3

Google piensa por tanto en la posibilidad de desarrollar proyectos para educación pero también en nuevos productos que, como los juguetes que enseñan a programar que hemos analizado en otro post, despierten en los niños tanto el conocimiento de los conceptos básicos de la programación como el interés por trabajar con código y pensar de forma creativa con nuevas tecnologías.

Bloks está aún en desarrollo pero resulta ya una interesante aportación a las iniciativas de educación en programación para niños, no tanto por el sistema en sí sino por el hecho de ser una plataforma de distribución libre que cuenta con los recursos de Google en su fase de investigación y permitirá a educadores, investigadores y diseñadores crear numerosas aplicaciones y productos destinados a difundir la programación creativa.

Interfaces cotidianas: la casa inteligente, en un toque

knocki01

Uno de los retos que plantea la proliferación de objetos inteligentes en nuestro entorno cotidiano es el desarrollo de una interfaz práctica y sencilla que facilite su uso sin obligar al usuario a consultar constantemente las pantallas de una multitud de dispositivos. Actualmente, la mayoría de los fabricantes han desarrollado apps mediante las cuales se pueden configurar las opciones y el funcionamiento de su producto, ya sea una bombilla programable, climatizador, alarma o máquina de café. Estos aparatos prometen convertir nuestro hogar en una casa inteligente, siempre que tengamos una buena red wifi instalada y un smartphone o tablet siempre a mano. Ciertamente, la mayoría de las personas han adoptado el smartphone como una extensión de su cuerpo y lo llevan a todas partes, lo que hace de este dispositivo un “control-remoto-para-todo” aparentemente ideal, gracias a la facilidad con la que puede incorporar nuevas funciones mediante apps. No obstante, controlar los objetos inteligentes del hogar requiere tener el smartphone en la mano, seleccionar la app correspondiente e interactuar con ella. Esto supone interactuar con diferentes interfaces a diario por medio de un mismo dispositivo, lo cual no siempre es práctico, tanto por el gasto de batería y espacio en el disco duro del smartphone como por lo poco intuitivo que es tener que abrir una app para encender o apagar una bombilla, ajustar la temperatura o encender la máquina de café.

Como hemos comentado en un post anterior, la tendencia hacia la eliminación de las interfaces en pantallas (Zero UI) tiene en el entorno doméstico su ámbito de experimentación con el desarrollo de nuevos productos que buscan facilitar una interacción más intuitiva. Un ejemplo de ello son los asistentes personales Amazon Echo y Google Homeque hemos analizado anteriormente, cuyas funciones se activan por medio de comandos de voz. Estos dispositivos procuran liberar al usuario de la pantalla de su smartphone y facilitarle una manera de interactuar con los objetos inteligentes aparentemente sencilla. A estos productos se suma ahora Knocki, un sensor que permite convertir cualquier superficie en una interfaz táctil. Lanzado en una campaña de crowdfunding en Kickstarter durante el mes de mayo, el dispositivo ha generado un enorme interés y el apoyo de 8.897 patrocinadores que contribuyeron 1.144.399 $ (superando con creces los 35.000 $ de la meta inicial) para su producción.  El diseñador Jake Boshernitzan y el inversor Ohad Nezer pusieron en marcha este proyecto en 2015 con el desarrollo de una tecnología patentada para reconocer las vibraciones que se producen en cualquier superficie cuando es golpeada, incluso cuando se trata de unos leves toques con los dedos en una pared. Según afirman en la presentación del producto, Knocki está pensado para adherirse a cualquier superficie (una pared, una mesa, una puerta, etc.), detectar los golpes o toques y diferenciar entre un toque intencional y el ocasional contacto de un objeto, por ejemplo al posar una taza sobre una mesa.

knocki02

Gracias a esta tecnología, Knocki puede colocarse, por ejemplo, en una pared o bajo una mesa y convertir estas superficies en interfaces táctiles: golpear una, dos o tres veces puede activar una bombilla o poner en marcha la máquina de café. Para ello es preciso, por supuesto, emplear previamente el smartphone: una app de Knocki se encarga de conectar el dispositivo con los objetos inteligentes empleando la red wifi del hogar. La clave consiste en llevar a cabo esta configuración una vez, de manera que las preferencias queden registradas y sólo sea preciso memorizar qué combinación de golpes es necesaria para activar una determinada función. El sensor puede colocarse a la vista (su aspecto minimalista, en blanco o negro, tiene por objetivo integrarse con cualquier tipo de decoración) o bien esconderse debajo de la mesa o detrás de una puerta. Dado que la interacción no se produce directamente con el dispositivo, sino con la superficie, y Knocki promete hacer interactiva una superficie bastante grande, no es preciso un mantenimiento constante del aparato, que puede funcionar hasta 12 meses con tres pilas AAA.

knocki03

Knocki puede interactuar actualmente con una gran variedad de apps de objetos inteligentes (como el termostato Nest, las bombillas conectadas de Philips y enchufes programables como los de WeMo o D-Link), redes sociales (Facebook, Twitter) y otros servicios (Google Calendar y Gmail). También puede integrarse con el servicio de automatización de acciones IFTTT, de manera que puede ampliar su alcance más allá de la interacción directa con un único objeto a través de un toque en una superficie. Así, este dispositivo puede ser un efectivo enlace entre todos los objetos inteligentes del hogar, que en principio pasan a ser controlados con unos golpecitos en la mesa o en la pared. Los creadores de Knocki describen escenarios tales como activar la cafetera con unos toques en la mesilla de noche o encargar una pizza con unos golpes sobre la mesa del comedor.

Ciertamente la idea de poder controlar los diferentes objetos de la casa con un simple gesto es atractiva, pero ¿qué ventajas reales aporta esta tecnología? Cabe tener en cuenta que es preciso un dispositivo Knocki para cada superficie que se quiera activar, lo cual implica distribuir una serie de aparatos en diferentes puntos de la casa, y además hay que recordar qué combinación de toques activa cada acción previamente programada en la superficie correspondiente. Por supuesto, es posible coger el smartphone y consultar la app para recordar la configuración de cada aparato, pero entonces este último deja de tener sentido. También, en el caso de ciertas acciones (como por ejemplo, encargar una pizza) es preciso generar una respuesta que confirme su ejecución, puesto que en caso contrario se da lugar a una confusión o posible frustración al no saber el usuario si la orden que ha dado por medio de los toques se está llevando a cabo. Nuevamente, es posible recurrir al smartphone como interfaz en la que se muestra dicha confirmación, pero también en este caso cabe plantearse si no se podía realizar toda la acción directamente en el dispositivo con pantalla.

knocki04

Notablemente, los creadores de Knocki dan valor a su producto destacando los problemas que pueden generar otras tecnologías rivales. En relación a los dispositivos controlados por voz, como Amazon Echo y Google Home, señalan los siguientes defectos:

  • El sonido ambiente puede hacer que el control por voz sea ineficiente.
  • Tener que pronunciar comandos en voz alta puede molestar a otras personas en la habitación, particularmente en una oficina compartida o en el dormitorio.
  • A menudo confunde los comandos, debido a las limitaciones de la tecnología de reconocimiento de voz.
  • No se pueden usar varios controladores de voz en un mismo espacio, puesto que eso genera confusiones y conflictos entre los aparatos.

Respecto a otros dispositivos tales como botones personalizables, que en principio llevan a cabo las mismas tareas que Knocki, apuntan estos problemas:

  • No se integran con el entorno, puesto que no pueden esconderse sino que deben estar siempre visibles y a mano.
  • Deben estar a mano, de manera que plantean el mismo problema que cualquier interruptor en cuanto se encuentran en un lugar concreto al que hay que acercarse para apretar el botón.
  • Pueden fallar debido a que normalmente emplean la conexión Bluetooth en lugar de la red wifi.
  • Sólo pueden ejecutar una acción, en la mayoría de los casos, o una reducida serie de acciones por medio de diferentes maneras de pulsar el botón.

Knocki promete resolver estos problemas con una tecnología que, en principio, resulta menos invasiva que el control por voz y más efectiva que los botones programables. Con todo, como se ha apuntado antes, uno de los problemas principales que plantea este tipo de interfaz es la falta de feedback: mientras un dispositivo de control por voz puede emitir una respuesta sonora y un botón físico cambia su disposición o emite un “click” al ser presionado, no hay manera de saber si al tocar tres veces en la mesilla de noche (¿o eran dos?) efectivamente se ha puesto en marcha la máquina de café.

Las soluciones que propone Knocki, tanto como las de otros dispositivos, son cuestionables en cuanto sustituyen unas tareas por otras: en vez de apretar el botón de la cafetera, hay que recordar cuantos toques y en qué superficie activan dicho electrodoméstico; en lugar de consultar un dato en un smartphone o tablet, hay que aprender a pronunciar la pregunta de manera que el asistente la entienda y luego prestar atención a su respuesta hablada. Con todo, como ya señalan los creadores de Knocki, estas tecnologías pueden ser de gran ayuda a personas mayores o con movilidad reducida, particularmente en cuanto eliminan la necesidad de acercarse a un interruptor para activarlo o el uso de pantallas.

 

 

Aprender código jugando con Swift Playgrounds

swift01

Saber trabajar con código de programación es una competencia cada vez más necesaria. Como hemos comentado en un artículo anterior, numerosas empresas desarrollan soluciones para que personas sin conocimientos previos, incluso niños, puedan iniciarse en la programación creativa. A las iniciativas que hemos explorado en otros artículos de este blog se suma la propuesta de Apple para aprender a manejar su lenguaje de programación Swift de la manera más entretenida: jugando.

Apple creó Swift en 2014 como un lenguaje de programación destinado a crear apps para iOS, Mac, Apple TV y Apple Watch. La empresa californiana lanzó este recurso para facilitar a todo tipo de desarrolladores la creación de apps que enriquecen sus sistemas operativos y los dispositivos que dependen de ellos. Por ello, Swift es un lenguaje de código abierto, rápido y eficiente, pensado para ser empleado por cualquier programador en poco tiempo, que cuenta con un entorno en el que es posible visualizar en tiempo real los resultados del código a medida que éste se ejecuta. Apple ha puesto Swift a disposición de desarrolladores, profesores y estudiantes con una licencia de código abierto y binarios para OSX y Linux que permiten compilar el código para iOS, OSX, watchOS, tvOS y Linux. A fin de facilitar su uso, Apple ofrece además de forma gratuita el manual The Swift Programming Language en iBooks, la aplicación Xcode para MacOS que permite crear software para MacOS e iOS y una comunidad de desarrolladores en la que se puede obtener información avanzada, novedades y otros recursos como vídeos, guías, y código de ejemplo. De esta manera, Swift es una puerta abierta para que cualquiera desarrolle un programa compatible con los productos de Apple.

 

swift02

El eslabón que faltaba para completar la accesibilidad de Swift a todo tipo de creadores era un entorno dirigido a personas sin conocimientos previos de programación, que les facilite adentrarse en los principios del código de programación de manera amena y sencilla. Con este fin, Apple ha creado Swift Playgrounds, una app para iPad que estará disponible en otoño. Playgrounds se presenta como un juego en el que el usuario controla a un personaje de una serie de escenarios estructurados como un tablero tridimensional dividido en casillas.  Los escenarios, de una gran belleza, recuerdan en cierto modo al universo del popular juego Monument Valley (desarrollado por ustwo) y tienen por objetivo plantear un entorno visualmente atractivo pero también apacible, en el que el usuario observará los resultados del código que ha escrito. El personaje que habita en este mundo, un simpático cíclope llamado Byte, es controlado por el usuario por medio de los comandos que escribe en Swift. Siguiendo la dinámica de muchos videojuegos populares entre los más jóvenes (y el gran público), el personaje debe moverse por los escenarios para coleccionar gemas. El usuario debe entonces escribir el código, en definitiva una serie de instrucciones, que permitirá a Byte desplazarse por el mundo imaginario y atrapar una gema. Las acciones del personaje, pautadas por la estructura de casillas que domina en cada escenario, responde a las líneas de código, al menos en los comandos iniciales que se centran en movimientos básicos y permiten al usuario entender cómo cada instrucción corresponde a una acción en el entorno virtual. Por supuesto, un aspecto importante aquí es que el usuario debe escribir correctamente el código para que este se pueda traducir en acciones concretas, lo cual también enseña cómo un código mal escrito conduce a errores al ser ejecutado. Para facilitar la correcta introducción del código y evitar frustraciones al usuario novel (en especial si es un niño), el programa sugiere comandos específicos que se introducen en el código al hacer clic en ellos. Con ello, también, se aprovechan las posibilidades de la pantalla táctil del iPad y se evita la desagradable experiencia de teclear durante mucho tiempo en un teclado virtual (algo que la mayoría de los usuarios evitan comprando teclados inalámbricos o integrados en la funda de la tablet). La interfaz también permite explorar el mundo virtual rotando el escenario con los dedos o haciendo zoom con los gestos habituales. Esto facilita explorar el entorno y decidir qué instrucciones se deben dar a Byte. Finalmente, la app incluye un teclado virtual QuickType para escribir código, que permite añadir comandos con unos pocos toques o bien arrastrando elementos en la pantalla.

Swift Playgrounds está pensado específicamente para el iPad tanto por la manera en que emplea la pantalla como por su planteamiento como un juego al que se puede jugar en las ocasiones en que habitualmente se emplea una tablet, momentos de relax o de espera, en un medio de transporte o en el sofá de casa. En este sentido, Apple afirma que la app plantea una forma de aprendizaje diferente, en la que el usuario aprende a escribir código a medida que resuelve retos y progresa en las fases del juego. La app ofrece en primer lugar una serie de lecciones (la primera de las cuales es “Los fundamentos de Swift”) con las que los neófitos pueden aprender a programar, y unos retos para los usuarios más avanzados.

 

swift04

Más allá del juego, Swift Playgrounds permite crear proyectos nuevos con código a partir de plantillas en las que se muestra cómo utilizar los recursos del iPad, tales como la interacción con la pantalla táctil, el acelerómetro y el giroscopio. El usuario puede añadir además sus propias imágenes y sonidos. El código creado de esta manera puede visualizarse en el iPad o también se puede compartir por email, Messages o AirDrop, así como crear un vídeo que se puede compartir en cualquier web o red social. Otro usuario de Swift Playgrounds puede luego crear una versión diferente modificando el código. Finalmente, es posible llevar el código de Swift Playgrounds a Xcode para trabajar a un nivel más profesional y desarrollar apps para iOS y Mac OS.

 

Con esta nueva app, Apple enlaza la formación en programación para todo tipo de usuarios (en línea con su slogan Todo el mundo puede programar) con la difusión de un lenguaje pensado para sus propios dispositivos. Al hacer que Swift sea el primer lenguaje de programación que aprenden muchos jóvenes y neófitos, no sólo contribuye a que un mayor número de personas adquieran la competencia de saber programar, sino que los dirige de forma natural hacia su propio ecosistema. Swift Playgrounds se suma así a otras iniciativas que van desde Processing a Scratch y juguetes como Cubetto en la formación de nuevas generaciones de programadores. Queda por saber hacia qué dispositivos y sistemas operativos dirigirán su creatividad estos jóvenes desarrolladores.

Interfaces cotidianas: asistentes de voz en casa

En un post anterior hemos comentado cómo el futuro de las interfaces se dirige progresivamente al Zero UI, la interacción con una máquina o un sistema activada por medios diferentes a teclados, ratones y pantallas táctiles. Si bien en el entorno de trabajo es aún común que el despacho esté dominado por la pantalla de un ordenador, un ratón y un teclado, en el ámbito del hogar estos dispositivos pueden resultar incómodos para la realización de tareas cotidianas (como cocinar, limpiar, comer o simplemente estar con la familia) puesto que condicionan tanto la visión como la posición del cuerpo y el uso de las manos. A fin de liberar al usuario de su postura habitual frente al ordenador y permitirle emplear los recursos de las redes de información sin dejar de llevar a cabo otras actividades, la solución más conveniente parece ser un dispositivo activado por la voz y capaz de emitir respuestas habladas por medio de un altavoz.

Esta es la apuesta que hacen actualmente Google y Amazon con sus asistentes personales para el hogar, unos dispositivos cilíndricos dotados de micrófonos, altavoces y conexión a Internet que se colocan en el salón o la cocina y permiten obtener información en tiempo real, controlar otros aparatos conectados a la Red o reproducir música por medio de comandos de voz. Ambos dispositivos tienen por objetivo formar parte de la vida cotidiana de sus usuarios de una manera no intrusiva, como asistentes y centros de control de la casa inteligente.

 

Amazon Echo

amazon-echo

En venta desde hace más de un año en Estados Unidos, Amazon Echo se presenta como “un altavoz que puedes controlar con tu voz”, aunque es mucho más que eso. Empleando el servicio Alexa Voice, Echo actúa de manera similar al asistente Siri en el sistema iOS de Apple: un programa de reconocimiento de voz interpreta la petición del usuario y ejecuta la acción correspondiente, ya sea reproducir música, facilitar información o controlar otros dispositivos. Con siete micrófonos de largo alcance y un altavoz de 360 grados, el dispositivo promete ser capaz de “escuchar” las instrucciones que se le dirijan desde cualquier punto de la habitación en la que se encuentra, incluso cuando reproduce música. Echo puede ampliar su alcance además con otros altavoces portátiles (Amazon Tap) que se activan al apretar un botón y pueden llevarse a otras habitaciones de la casa o incluso de paseo. La interacción con el dispositivo se basa en comandos de voz como los que se dirigen a Siri, por ejemplo “¿Qué tengo en mi agenda hoy?”, “Reproduce música de Coldplay”, “Búscame un restaurante chino” o “Avísame en 20 minutos”. El usuario debe emplear una palabra clave (“Amazon”, “Alexa” o “Echo”) para que el dispositivo interprete que lo que va a decir es una instrucción. Dado que Echo emplea un servicio basado en la nube, obtiene constantemente información de todos sus usuarios, con lo que puede mejorar su reconocimiento de voz, vocabulario y preferencias personales. Además, va añadiendo progresivamente servicios de diversas empresas, con lo cual incorpora nuevas funciones tales como leer audiolibros, encargar pizza, pedir un coche en Uber o por supuesto comprar artículos en Amazon. A esto se suman otras funciones como por ejemplo controlar las luces de la habitación, el termostato o el televisor.

 

Google Home

Captura de pantalla 2016-07-13 a las 17.58.13

Google está a punto de lanzar su respuesta a Amazon Echo, un dispositivo denominado Google Home que se pondrá a la venta a finales de este año. Home tiene un aspecto más amigable que Echo, similar a una maceta formada por un cilindro blanco y una base abombada que puede cambiarse para combinarla con la decoración del hogar. La parte superior del cilindro presenta un corte biselado que permite ver con facilidad las cuatro luces de colores (los colores del logo de Google) que indican la actividad del aparato. Como el Echo, Home está pensado para dejarse conectado en un rincón de la casa y controlarlo con la voz. También dispone de un potente altavoz y micrófonos para ello. Home cuenta con la posibilidad de reproducir música como una de sus funciones principales, para lo cual ha desarrollado un altavoz más avanzado que el de Echo. Pensado para ocupar diferentes espacios del hogar, es posible conectar varios dispositivos y dar instrucciones a todos ellos individualmente. También puede conectarse con Google Chromecast, lo cual permite al usuario controlar los contenidos de la TV por medio de la voz. En cuanto al control de otros dispositivos, Home será más limitado que Echo puesto que no planea abrir su software a otros desarrolladores de momento. No obstante, cuenta con el atractivo de conectarse directamente al potente buscador de Google para cualquier consulta que le plantee el usuario.

 

Estos dos dispositivos, comercializados por dos grandes empresas, serán previsiblemente los que dominen el mercado de los asistentes personales para el hogar y marquen las pautas de la progresiva introducción del Zero UI en nuestra interacción cotidiana con los ordenadores. Con todo, el control por voz (que ya imaginaron los autores de novelas y series de ciencia ficción) es aún una tecnología en desarrollo, que debe enfrentarse a las dificultades que plantea la propagación del sonido y la capacidad de la máquina para interpretar los comandos de voz que recibe. Esto determinará que la experiencia de los usuarios sea más o menos satisfactoria y también requerirá una adaptación de la interacción social entre las personas presentes en la habitación donde se halla una máquina que escucha lo que se dice y a la que es preciso dirigirse cada vez con una palabra clave.

Wassily: una silla inspirada en una bicicleta

Cuando Marcel Breuer llegó a la Bauhaus en 1925 trajo consigo su bicicleta de la marca Adler, una fábrica alemana que entre 1900 y 1941 construyó máquinas de escribir, bicicletas, motocicletas y automóviles. El joven arquitecto y diseñador húngaro había comprado la bicicleta poco antes de llegar a Dessau, y ésta iba a convertirse en algo más que un simple medio de transporte. Según explica Robert McCarter en el libro Breuer (Phaidon, 2016), Marcel Breuer empleaba la bicicleta para dar largos paseos por la ciudad y le impresionó su solidez y ligereza, resultado de su construcción con acero tubular. “Este material aparentemente indestructible”, escribe McCarter, “podía doblarse para hacer manillares y también podía aguantar el peso de una o dos personas; entonces, ¿no podría emplearse para fabricar muebles?.”

adlerbike

Breuer había demostrado ser un estudiante de talento, por lo cual el fundador de la escuela, Walter Gropius, decidió invitarlo a volver a la Bauhaus para convertirse, con 23 años de edad, en el director del taller de carpintería. Breuer, no obstante, empezó a interesarse más en trabajar con metal que con madera, inspirado en parte por su experiencia con la bicicleta. El diseñador se dirigió a la empresa que había creado la bicicleta, Adler, pero no consiguió que se interesase por la idea de fabricar muebles con tubos de metal, de manera que visitó al fabricante de las piezas, Mannesmann. Según relata McCarter, Breuer compró varios segmentos de tubo de 2 cm. de diámetro, con las mismas medidas que los de la bicicleta, e hizo que que fuesen doblados según un diseño que había preparado. Con la ayuda de un fontanero, soldó los tubos para crear estructuras de muebles. El primero de estos prototipos se denominó B3 y era un sillón formado por varios tubos con cuatro patas verticales que se doblaban para formar el asiento y el respaldo, en los que colocó trozos de tela. “Esta versión le pareció demasiado rígida”, afirma McCarter, de manera que Breuer modificó el diseño y lo mejoró hasta llegar a la versión definitiva, que se conoce como la silla Wassily, en honor de su amigo Kandinsky.
La silla Wassily (1926) sigue produciéndose hoy en día (con cintas de cuero en lugar de las originales de tela) y no ha dejado de ser un diseño ejemplar en el que se combinan la estética y el aprovechamiento de las cualidades de los materiales empleados. Desde su creación, ha inspirado a numerosos arquitectos y diseñadores, entre ellos Alvar Aalto, quien creó su mobiliario de madera de balsa doblada en respuesta a las estructuras de acero tubular de Breuer, que resultaban demasiado frías al tacto para el clima nórdico. La lección que se desprende de esta silla también se encuentra en su propia concepción y la humilde bicicleta que lo inspiró: un ejemplo de cómo se pueden lograr grandes diseños reflexionando acerca de objetos cotidianos que, en principio, no tienen ninguna relación con aquello que se quiere crear.
037-wassily-chair

Juguetes que enseñan a programar

En un artículo anterior hemos visto como el entorno de programación Scratch abre nuevas posibilidades para la educación en programación creativa entre niños y jóvenes. En esta ocasión, vamos a examinar algunos juguetes que, partiendo de este mismo planteamiento, hacen de la programación un juego e introducen a los más jóvenes en la lógica del código por medio de interfaces sencillas e intuitivas. Como hemos comentado anteriormente, saber programar (o al menos comprender cómo funciona el código de programación) es una competencia cada vez más necesaria, y por ello se multiplican las iniciativas destinadas a enseñar programación creativa a todos los niveles y con diferentes enfoques. A ello se suman las habilidades que desarrollan los niños mientras aprenden a programar, y que como hemos comentado incluyen la capacidad de trabajar en colaboración con otros, pensar de manera creativa y resolver problemas aplicando diferentes soluciones. Estos son algunos de los juguetes que enseñan a los niños a entender el código de programación.

boy_bulldoze

 

Dash and Dot

Los robots Dash y Dot, creados por la empresa Wonder Workshop, son unos simpáticos juguetes pensados no para el simple entretenimiento sino como un completo proyecto educativo para niños a partir de 8 años. Dash es un robot móvil, que cuenta con ruedas y sensores con los que puede moverse en todas direcciones y percibir su entorno. Dot es un robot fijo dotado con un micrófono, luces y un acelerómetro con el que puede emitir respuestas si es agitado o desplazado. Ambos robots se comunican entre sí, de manera que Dot es el “cerebro” y Dash el “músculo” en su interacción con el entorno. Los niños pueden programar los robots empleando el entorno de programación Google Blockly, que funciona de forma similar a Scratch.

 

codeybot

Codeybot

El robot Codeybot es la propuesta de Makeblock, una startup situada en Shenzhen (China), para enseñar a los niños a programar jugando. Con un diseño sencillo, este juguete se centra en su capacidad para moverse en todas direcciones mientras se mantiene erguido gracias a un sistema de equilibrio interno y a expresarse a través de una pantalla de LEDs en la que se muestran diversas expresiones faciales a modo de emoticonos. Según anuncia la empresa, el robot también puede bailar, reproducir música, grabar y reproducir voz y finalmente “disparar rayos láser” con un accesorio adicional, de manera que dos robots pueden interacturar en un “modo de batalla”. Una app para iPhone y iPad permite al niño programar el robot con el entorno mBlockly, basado en Google Blockly, que facilita crear sencillos programas arrastrando bloques de instrucciones. Además de esta app, Codeybot también incluye una app de control remoto que permite manejar el robot apretando una serie de botones. Lanzado en una campaña de crowdfunding, el robot se anuncia como “tecnología increíble a un precio asequible” y está actualmente en pre-producción.

GB_BT006_BuilderHERO_sets_920x920_144dpi_v2_grande
Goldie Blox

Tras licenciarse en Princeton, la ingeniera Debbie Sterling decidió dedicarse a crear un juguete que animase a las niñas a desarrollar sus habilidades como futuras ingenieras y no limitarse al papel de princesas de cuento. Así nació Goldie Blox, un proyecto basado en una línea de juguetes de “chicas inventoras” que rompen con estereotipos e invitan a las niñas a desarrollar sus habilidades mientras crean historias con las muñecas y un surtido de juegos de construcción. Si bien este juguete no se centra específicamente en la programación con código, trabaja con las mismas competencias de una manera lúdica.

 

cubetto

Cubetto

La startup Primo Toys lanzó Cubetto en una campaña de crowdfunding y actualmente comercializa este robot programable que tiene la particularidad de no necesitar ninguna pantalla. Cubetto se basa en tres elementos: el robot en sí, un cubo de madera que puede moverse en todas direcciones, un panel en el que los niños programan las acciones de Cubetto con fichas de colores y un “mapa del mundo” en el que el robot se desplaza y que facilita crear historias basadas en los movimientos del juguete. Sus creadores han buscado una estética amigable que se aleja de lo tecnológico (muy presente en otros robots como Codeybot) y evita que los niños tengan que emplear tablets o smartphones. Los bloques de colores representan diferentes acciones que puede ejecutar el robot (moverse en las cuatro direcciones cardinales), así como otros operadores que permiten completar un programa básico. El panel de madera en el que se colocan las fichas describe una secuencia que se envía al robot al apretar un botón. De esta manera, los niños pueden aprender a crear conjuntos de instrucciones y entender cómo su orden afecta a las acciones del robot. Aprobado por Montessori, este juguete introduce la posibilidad de aprender código sin pantallas y se dirige a niños de a partir de 3 años. Si bien esto implica unas ciertas limitaciones en sus posibilidades, no deja de ser una interesante manera de iniciar a los niños en la programación. Actualmente en fase de producción, Cubetto empezará a distribuirse en octubre de 2016.

 

Kano

Kano

Dirigido a un público en edad escolar (de 6 a 12 años), Kano es un kit con el que los niños pueden construir su propio ordenador y aprender a programar con él. Compuesto por un teclado inalámbrico y una placa Raspberry Pi, el kit está pensado para animar al usuario a conocer el funcionamiento interno de la máquina en lugar de verla como una “caja negra” cuyas opciones han sido previamente delimitadas por el fabricante (la caja que contiene el procesador es transparente y es preciso montarla). Con todo, no es preciso que los niños creen su propio sistema operativo: Kano incluye un software pre-instalado por medio del cual el usuario aprende a manejar los lenguajes de programación Python y Javascript jugando a Minecraft y Pong o bien se adentra en el entorno Linux con los juegos Terminal Quest y Snake.

Estos y otros productos actualmente comercializados por empresas de varios países ejemplifican una nueva generación de juguetes que van más allá del mero entretenimiento o bien de fidelizar a los niños con una determinada franquicia. Con una clara intención educativa, llevan a los niños a adentrarse en el ámbito de la programación creativa jugando, de manera que su relación con la tecnología se hace más fluida y natural.

 

 

 

Creative Chain

image-donate-network-creativechain-

Hace una semana, el estudio de diseño y comunicación Comando Suricato y el colectivo Entropy Factory han lanzado la plataforma Creative Chain de registro de obras, propiedad intelectual y licencias copyleft en la blockchain. Según se explica en la web del proyecto, el objetivo de Creativechain es crear un sistema descentralizado de registro y distribución de cultura libre en la red que ayude a visibilizar y financiar a las personas creadoras que trabajan con licencias copyleft. El término “cadena creativa” (creative chain) hace referencia a la relación que se establece entre dos o más creaciones artísticas y/o intelectuales cuando comparten una misma referencia o se nutren unas de otras, como por ejemplo cuando un artista se apropia de una imagen para crear una obra. Las creaciones circulan de un sitio a otro y de un contexto a otro perdiendo en muchos casos su autoría, lo cual puede generar notorios conflictos, como el que se produjo entre la pintora Joy Garnett y la fotógrafa Susan Meiselas en 2004, suscitando una breve pero intensa reacción en la Red (la disputa y sus reacciones se popularizaron con el término Joywar) o la más reciente polémica por la apropiación de las fotos de diversos usuarios de Instagram por parte del artista Richard Prince.

Esta circulación sin atribución de los contenidos en Internet no formaba parte del plan original del creador del hipertexto, Ted Nelson, quien en su Proyecto Xanadú contemplaba la posibilidad de establecer enlaces bidireccionales que permitiesen saber en todo momento de dónde proviene un contenido e incluso estudiaba la manera en que los autores podían recibir una compensación económica cada vez que se consultaban sus textos. Hoy en día, la tecnología blockchain permite registrar, trazar y visualizar en un archivo público descentralizado todas las conexiones que se generen entre cualquier creación. Empresas como Ascribe o Monegraph ya están desarrollando plataformas para emplear esta tecnología en la creación de un repositorio de contenidos (fotos, textos, obras de arte, etc.) que permita certificar en todo momento tanto la autoría del contenido como los usos que se han hecho del mismo. En el caso de Ascribe, esto se traduce por ejemplo en un modelo de negocio basado en proporcionar el servicio de registro y rastreo del uso de fotos de stock en sitios web.

Creative Chain está desarrollando una cartera virtual descentralizada donde se almacena el registro de todas tus obras y sus licencias de distribución. de manera que cada obra tiene una dirección única asociada. Cuando alguien realiza un pago a una obra se reparte un porcentaje a toda la cadena de obras que le suceden. Así, la recompensa o donación se extiende de forma automáticamente a todas la obras derivadas que han participado cediendo parte de su obra. El sistema une así al reconocimiento de autoría la remuneración económica, de forma similar a como planteaba Ted Nelson el funcionamiento de los hipervínculos, buscando así facilitar que los creadores obtengan una financiación por sus creaciones, acorde con la difusión de sus creaciones.

Aún en fase beta, el proyecto ya permite registrar obras e irá desarrollándose en los próximos meses. Creative Chain se suma así a diversas iniciativas que están aprovechando las posibilidades de la blockchain o cadena de bloques más allá de la polémica, críptica y poco conocida Bitcoin. Sumadas, estas iniciativas pueden cambiar el panorama de la distribución de contenidos en Internet y las atribuciones de autoría, además de generar nuevos modelos de financiación para los creadores. Con todo, las implicaciones y el alcance de este sistema son aún una incógnita.

 

Crear con código: Scratch

En nuestra serie de artículos acerca de la programación creativa, hoy exploramos Scratch, un entorno y lenguaje de programación creado por Mitchel Resnick junto con el grupo de investigación Lifelong Kindergarten en el Media Lab de MIT en 2003 con el objetivo de ayudar a niños y adolescentes a partir de 8 años a aprender a programar. Gracias a su sencillez de uso y su enfoque en los aspectos educativos, Scratch es ampliamente usado por estudiantes, profesores y padres para crear animaciones, juegos y programas sencillos que permiten iniciarse en el ámbito de la programación. El software es gratuito, de código abierto y cuenta con una amplia comunidad de usuarios en la que se comparten los proyectos generados con Scratch, que pueden ser fácilmente reutilizados para crear proyectos nuevos. Creada en 2007, ScratchEd es la comunidad específica para educadores, que cuenta con más de 7.500 miembros que comparten sus historias, recursos y experiencias con Scratch. En 2013 se lanzó Scratch 2, que puede emplearse como una aplicación directamente en el navegador o bien descargarse como un programa independiente para Windows, OSX y Linux.

Se suele asumir que los niños y adolescentes tienen una relación natural con las nuevas tecnologías, como indica el término “nativos digitales.” Pero Mitchel Resnick es escéptico acerca de este término y lo que implica, puesto que en general la relación que tienen los jóvenes con la tecnología es la de usuarios, no creadores. “No hay duda que los jóvenes tienen facilidad para consultar información en la web, chatear, enviar mensajes y jugar a videojuegos,” afirma Resnick, “pero eso no implica que puedan expresarse de forma fluida con las nuevas tecnologías. Los jóvenes tienen mucha experiencia usando entornos interactivos, pero no tanta creando o expresando sus ideas a través de estas tecnologías. Dicho de otro modo, pueden leer pero no escribir con las nuevas tecnologías.” Para no verse limitados a ser simples usuarios, el investigador considera que es fundamental aprender a programar, a fin de ser capaces de crear sus propios programas. La importancia de integrar el código de programación en la enseñanza básica ha sido un tema que ha generado un creciente interés en los últimos años: en países como Estonia se ha integrado en las escuelas, mientras que en otros países se han creado numerosas “escuelas de programación” en la que personas de todas las edades aprender a crear sus propios programas. El problema, en este punto, es la aridez del código de programación, que resulta muy poco atractivo a la mayoría de los usuarios y en general no les permite ver claramente su estructura lógica, ya que se muestra como una sucesión de instrucciones. En Scratch, de forma similar a Processing, el código se muestra en un entorno gráfico en el que el usuario trabaja con bloques que puede colocar, reordenar y vincular estableciendo el funcionamiento de un sencillo programa o una animación.

Programar en Scratch es sencillo e intuitivo, parecido a completar un puzzle con unas pocas piezas, y además la propia visualización del código permite entender el proceso que se está generando. Este puede visualizarse en una ventana integrada en el propio entorno de programación. De esta manera, resulta muy útil para niños y jóvenes puesto que evita la frustración que produce no saber qué parte del código corresponde a cada acción que se produce en la visualización final y a la vez muestra claramente las relaciones entre los diferentes elementos, lo cual permite pensar más allá de las funciones existentes e inventar nuevas combinaciones. La amplia variedad de ejemplos que se comparten en la web de Scratch demuestra la flexibilidad y el potencial creativo de este software. Además, siguiendo el principio de compartir y recombinar (en informática se denomina “scratching” a la práctica de coger partes del código de un programa para usarlo en otro programa diferente), cada proyecto que se publica en Scratch permite visualizar el código que lo ha generado, de manera que resulta sencillo emplear una solución desarrollada por otra persona para incorporarla a un programa propio.

scratch-mit2

Si bien personas de cualquier edad pueden usar Scratch, la plataforma está pensada para niños de entre 8 y 16 años, por lo que se rodea de una comunidad controlada para que los jóvenes usuarios puedan aprender a programar, emplear código de otros programas y compartir ideas y preguntas en foros en un ambiente constructivo y respetuoso. El programa, además, permite crear código que posteriormente controle objetos físicos e interactúe con una cámara o un micrófono, lo cual facilita crear juegos y juguetes que van más allá de la pantalla y pueden compartirse con amigos. Por otra parte, los jóvenes aprenden a través del uso de Scratch a entender conceptos matemáticos y computacionales, tales como coordenadas, variables y números aleatorios. Dado que estos conceptos se integran en funciones concretas del juego o animación que están creando, no resultan abstractos o aburridos sino que forman parte de algo dotado de sentido. El propio proceso de crear algo en Scratch les lleva a aprender el proceso básico de diseño, que parte de una idea, convertida luego en un prototipo que es puesto en práctica, corregido cuando presenta fallos, y mejorado a medida que se adquieren conocimientos más avanzados. Este proceso también implica mostrar el prototipo a los demás, escuchar sus opiniones, revisar y rediseñar el proyecto hasta lograr el objetivo deseado. Al hacer esto, el joven programador aprende también a pensar de forma creativa, comunicarse con claridad, analizar su proyecto, trabajar en colaboración con otros y aprender de forma continuada. De esta manera, aunque los usuarios de Scratch no se conviertan necesariamente en programadores profesionales, tendrán una mejor comprensión de cómo funcionan los ordenadores y habrán adquirido otras competencias de gran utilidad en cualquier ámbito.

scratch-screen

Primeros pasos con Scratch

Para empezar a usar Scratch, basta con acceder al editor en el propio navegador web. La página muestra una sencilla interfaz con una ventana de visualización (a la izquierda), una columna con los principales bloques de código, ordenados en categorías y diferenciados con colores, y un área en la que se colocan estos bloques para crear el programa. En unos pocos minutos se puede crear una animación con el objeto suministrado (un dibujo de un gato) simplemente colocando diversas instrucciones y observando como el orden de las mismas determina la manera en que se desarrolla la animación. Además, es posible introducir eventos, con los que la animación puede controlarse por medio de determinadas teclas o el clic del ratón, y también añadir otros elementos como por ejemplo bucles que repiten continuamente (o un número determinado de veces) todas las acciones que se sitúan dentro de dicho bucle. En este caso, puede verse gráficamente cómo se aplica esta función, puesto que la pieza que forma el bucle es una pinza que agrupa en su interior todas las acciones a las que se aplica.

Programar con Scratch es por tanto una tarea sencilla y amena, que tiene la virtud de ser un programa que no sólo facilita la introducción al código de programación, sino que incita a descubrir todas sus posibilidades y poner a trabajar la propia creatividad.