MIT App Inventor: un ejemplo de uso

Ya hemos hablado en otras ocasiones del MIT App Inventor, una herramienta utilizada para crear apps para móvil, de forma sencilla y sin conocimientos especializados de programación. Se trata de un servicio útil no solo para el ámbito educativo (propósito con el que fue creado, de hecho), sino también para makers y aficionados a la programación y el diseño IoT, a quienes proporciona un formato modular y libre de complicaciones para crear aplicaciones de forma rápida.

A pesar de la sencillez de su uso, cualquier proceso se entiende mejor con ejemplos, así que en el post de hoy veremos cómo crear una aplicación, paso a paso.

Para empezar, navegamos hasta la página de la aplicación, http://ai2.appinventor.mit.edu/. Se nos pedirá que accedamos mediante una cuenta de google, tras lo que tendremos nuestro propio perfil en la página. Para crear una nueva aplicación, abrimos la pestaña «Projects» y hacemos click en la opción adecuada.

 

app inventor

 

Ahora nos encontraremos frente a una de las pantallas principales de la aplicación: la ventana de diseño. Aquí tenemos varios elementos interesantes: en la parte central, vemos la pantalla de un móvil (ahora mismo en blanco), que nos muestra qué aspecto tendrá nuestra aplicación. En la parte izquierda, tenemos un menú con multitud de pestañas desplegables, donde podemos acceder a los distintos elementos que usaremos para construir la aplicación. Finalmente, a la derecha vemos una lista de los componentes que hemos incorporado a nuestra aplicación, y las propiedades del componente seleccionado.

Antes de seguir, vamos a usar una de las herramientas más potentes que MIT App Inventor pone a nuestra disposición. En el menú superior encontramos la pestaña «Connect», y en su interior la opción AI Companion. Al hacer clic en esta opción, podemos enlazar nuestro móvil (mediante una aplicación previamente instalada en el mismo) de forma que veamos, en un dispositivo real, el aspecto y funcionamiento de la aplicación conforme la vamos diseñando.

Ahora que podemos ver nuestro diseño en tiempo real, vamos a decidir qué es lo que, de hecho, queremos diseñar. Para este primer ejemplo, programaremos una brújula, que nos indique en todo momento dónde está el norte, mediante una interfaz visual.

¿Qué elementos necesitaremos para ello? Antes que nada, una forma de averiguar dónde está el norte, relativo al propio teléfono. Abrimos, en el menú izquierdo, la sección «Sensors», y arrastramos el componente OrientationSensor hasta el móvil. Puesto que es un componente sin contraparte gráfica, no aparecerá en la interfaz del móvil (pero si debajo del mismo, en la sección de componentes no visibles). Para mostrar esta orientación (lo que es la brújula como tal), iremos a la sección «Drawing and Animation», donde se encuentran los componentes gráficos interactivos. Arrastramos el elemento Canvas hasta el móvil, lo que creará un entorno interactivo en nuestra pantalla, y a continuación modificamos las propiedades «Height» (Altura) y «Width» (Anchura), eligiendo la opción «Fill parent» para que se ajuste al tamaño total de la pantalla.

app inventor foto

Finalmente, incorporamos, desde la misma pantalla, un elemento ImageSprite —esto es, una imagen—, arrastrándolo hasta el centro del Canvas que acabamos de crear. Ahora mismo este elemento no tiene asignado ninguna imagen, por lo que descargamos una que sea apropiada para nuestra aplicación, y la incorporamos mediante la propiedad «Picture», dentro del menú correspondiente. Nuestra aplicación debería tener este aspecto:

app inventor 2

Sin embargo, de momento se trata de una imagen estática, porque no hemos incorporado nada de programación. Para ello, vamos acceder a la otra parte fundamental del MIT App Inventor haciendo click en la sección «Blocks», en la esquina superior derecha del entorno de diseño:

app inventor

De nuevo nos encontramos ante una pantalla en blanco, con una paleta de elementos en la parte izquierda. Al hacer click en estos elementos, veremos que aparecen una serie de bloques (algunos con huecos, otros que pueden encajar en esos huecos). Cada uno de estos bloques representa una orden, una variable, una condición, un elemento de control… En definitiva, los elementos que se usan para construir un programa. En el menú, los bloque están separados por tipo, o agrupados en función del elemento con el que interactúen.

app inventor 5

Nuestra aplicación no va hacer uso de la mayoría de estos bloques: lo único que va a hacer es cambiar la orientación de una imagen en función de la orientación del dispositivo. Para representar esto en forma de «código», vamos a abrir la sección de la lista de componentes correspondiente al sensor de orientación. Desde ahí, arrastraremos el bloque amarillo con la etiqueta «when OrientationSensor1.OrientationChanged», uno de los bloques con un hueco (los bloques amarillos, por lo general, representan un desencadenante o condición). Las órdenes que encajemos en ese hueco serán ejecutadas cuando se cumpla la condición «OrientationChanged», esto es, cuando cambie la orientación de nuestro móvil. Así, los cambios en la orientación deberían mostrarse de forma inmediata, en tiempo real.

Lo que queremos que ocurra en ese momento es que cambie la orientación de nuestra imagen. Por tanto, vamos al menú correspondiente, ImageSprite1, hasta encontrar un bloque verde (que representa una orden o procedimiento) con la etiqueta «set ImageSprite1.Heading». Heading, en este caso, se refiere a la rotación, expresada en grados desde la horizontal. Incorporando este bloque en el hueco del que acabamos de colocar, conseguimos que la orientación de la imagen cambie cada vez que cambia la orientación del dispositivo.

Vemos que aún queda un elemento que incorporar, indicado por el hueco con forma de pieza de puzzle en el extremo derecho del bloque verde: ahí tendremos que encajar el nuevo valor para la orientación de la imagen. Este valor se corresponderá con el azimut (la posición relativa del norte), que nos vendrá dado por el sensor de orientación. Por tanto, volvemos a la pestaña de OrientationSensor1, y buscamos el bloque verde claro (una orden que nos devuelve un valor concreto) con la etiqueta «OrientationSensor1.Azimuth». Encajamos los dos bloques… ¡y listo! Ahora, cada vez que cambie la orientación de nuestro móvil, la imagen seguirá señalando al norte. Esto, por supuesto, es solo la teoría: hasta qué punto la aplicación funcione realmente dependerá de la sensibilidad del dispositivo, entre otras cosas. En cualquier caso, se trata de algo que podemos ir ajustando usando como referencia el comportamiento del dispositivo que acabamos de enlazar.

app inventor 3

¡Y ya hemos terminado! Si ahora queremos obtener un archivo instalable, para poder usar la aplicación en cualquier dispositivo, bastará con irnos hasta la pestaña «Build», y hacer click en la primera opción. Como podéis ver, todo el proceso apenas ha llevado unos minutos, y que en términos de programación solo ha requerido que dedicaremos un momento a entender la función de cada elemento. En ese sentido, por supuesto, aún ha quedado mucho por explicar, pero con lo que hemos visto deberías poder crear ya vuestras propias aplicaciones.

FIWARE Space

Deja una respuesta

Your email address will not be published.

FIWARE SPACE

FIWARE Space is the innovation center of the Provincial Council of Badajoz to bring the new technologies of IoT and Big Data to citizens, SMEs and start-ups. It is constituted as an official Digital Innovation Hub (DIH) in Badajoz province to promote the digitization and transformation of companies through technologies such as Internet of Things (IoT), Big Data and artificial intelligence with FIWARE as data connector from different sources.

This center is part of a global project called “Badajoz Es Más“, which aims to develop municipalities with a better quality of life through sustainable development. The objective is clear: to turn the province of Badajoz into an Intelligent Territory or a “Smart Province”. In order to achieve this goal, it is a must to involve the local companies, the public administration and the citizens.

FIWARE Space coordinates the activity related to the knowledge, use and possibilities offered by the Provincial Platform for Smart Management of Public Services, which allows the integration of information from different smart services in one place, to facilitate the analysis and management of services that are the responsibility of the Provincial Council of Badajoz. This platform uses the latest technologies promoted by the European Commission about how to integrate near real-time data and how to manage context information.

FIWARE Space is a non-profit innovation center that aims to make the technological knowledge and tools of the “Badajoz Es Más” project available to different entities, among which are:

 

– Public administrations
– Municipalities
– Small and medium enterprises
– The teaching and research staff of the university and other educational institutions
– The entrepreneurs
– The citizens

One of the main goals of this center is to support our small and medium enterprises through the digital transformation of the province. For this, the center offers to these entities de following services.

 

SERVICES

A 2-month mentoring program to go deeper in the technology knowledge and the opportunities that are behind the intelligent province development, to know first-hand the technological work that is being carried out and how to take advantages of this digital transformation. In these 2 months, the company will adapt its solution or service to a FIWARE smart solution, thus being compatible with the platform used by the Badajoz Provincial council that connects all the data sources of the province, and with any other smart city platform that uses this technology.

Specialized consulting and technical support for the integration of solutions in FIWARE. We help the creation and adaptation of data models, architecture knowledge and the possibilities of integrating into this European standard.

Certification of solutions in the FIWARE Marketplace website of the FIWARE Foundation. We advise on how to apply with the solution developed to obtain the different certifications.

Advice on acceleration programs. After the completion of the mentoring program, we try to find a suitable European acceleration program to take the project to the next level.

Physical location for the development of integration in FIWARE. We have a physical space in which you can work to integrate the solution into FIWARE, with the tools and support of the technical office.

Theoretical and practical training workshops. Every Friday of the year we conduct workshops to learn more about how a smart city works and what’s the technology behind.

Visits to the innovation center. Interested people or entities can visit the center once a week to see first hand the digital transformation that is taking place in the province and meet the real solutions that are being installed.

 

SPECIAL ACTIVITIES FOR PYMES

 

FIWARE Space also carries out some unique activities throughout the year:

Hackathons. Workday in which, by teams, a real technological problem is solved by multidisciplinary teams.

IoT challenge. Companies are presented to solve a real problem of the province through technology. Once the applications have been submitted, an evaluating court chooses the winner, who will receive an economic endowment to carry out his idea and put it into operation in the province.

Design Thinking Workshop. Workshop that aims to foster creativity through innovative new methodologies that will allow us to go deep in a specific challenge.

 

EVENTS

In addition to all this, FIWARE Space, in the hands of the Badajoz Provincial Council, participates in different local, national and international events in which it provides visibility to the local companies with the aim to contribute to the expansion of this companies in other regions.

Finally, it should be noted that FIWARE Space is considered as a 2-star FIWARE iHub, catalogued by the FIWARE Foundation, thanks to the work and the number of activities carried out to bring new technologies to citizens.