Aplicaciones sencillas para móvil y web
Valentina quiere una app para calcular la propina en el restaurante de su tío en Cartagena. Primero la imaginó, luego la dibujó en una hoja, después la programó y, antes de compartirla, se la dio a probar a sus amigas. Una de ellas escribió «abc» en la cuenta y la app se cerró. ¿Qué faltó revisar? Al final de la página lo sabrás.
De la idea a la app publicada
Crear una app sencilla (un conversor, un contador, un test) junta lo que ya sabes de algoritmos y de bloques. Siempre se pasa por las mismas fases.
-
Idea: qué problema resuelve y para quién.
-
Diseño: dibujar las pantallas (prototipo) y qué hace cada botón.
-
Algoritmo: los pasos que seguirá la app, en lista o diagrama de flujo.
-
Programación: convertir el algoritmo en bloques o en código.
-
Pruebas: usar la app con datos normales y también raros, para encontrar fallos.
-
Publicación: ponerla a disposición de otras personas, por ejemplo en una tienda de apps o en la web.
Enumera las fases por las que pasa la creación de una aplicación, desde la idea hasta que la usan otras personas, y explica en qué consiste cada una. Razona por qué no…
Enumera las fases por las que pasa la creación de una aplicación, desde la idea hasta que la usan otras personas, y explica en qué consiste cada una. Razona por qué no conviene saltarse la fase de pruebas aunque el programa parezca funcionar.
Antes de programar conviene dibujar el prototipo en papel. Describe (o dibuja en tu cuaderno) las tres pantallas de una app «contador de vasos de agua»: la pantalla…
Antes de programar conviene dibujar el prototipo en papel. Describe (o dibuja en tu cuaderno) las tres pantallas de una app «contador de vasos de agua»: la pantalla principal con el contador, el botón para sumar un vaso y una pantalla de historial, indicando qué hace cada botón.
Puedes hacerlo en papel y enviar una foto con tu respuesta.
Entrada, proceso y salida en una app
Una app de test de cinco preguntas usa además decisiones y una repetición. Un algoritmo posible:
-
Poner la puntuación en 0 y la pregunta en 1.
-
Mostrar la pregunta actual.
-
Leer la respuesta. ¿Es correcta? Si sí, sumar 1 a la puntuación; si no, mostrar «Incorrecto».
-
Sumar 1 al número de pregunta.
-
¿Ya se contestaron las cinco? Si no, volver al paso 2 (repetición).
-
Mostrar la puntuación final.
Para probar un control así se usan casos como: casilla vacía, letras, un 42, un número negativo, y también los extremos válidos (1,0 y 5,0).
Una app calcula la propina que conviene dejar en un restaurante a partir del importe de la cuenta. Identifica qué datos introduce el usuario (entrada), qué hace la…
Una app calcula la propina que conviene dejar en un restaurante a partir del importe de la cuenta. Identifica qué datos introduce el usuario (entrada), qué hace la aplicación con ellos (proceso) y qué muestra al final (salida), siguiendo el esquema entrada → proceso → salida.
La figura muestra el diseño de pantalla de una app que convierte distancias de kilómetros a millas, sabiendo que $1\ \text{milla}$ equivale a $1,6\ \text{km}$. Escribe…
La figura muestra el diseño de pantalla de una app que convierte distancias de kilómetros a millas, sabiendo que $1\ \text{milla}$ equivale a $1,6\ \text{km}$.
Escribe los pasos que debe seguir la app cuando el usuario oprime el botón para mostrar el resultado, e indica qué debería ocurrir si el usuario oprime «Convertir» sin haber escrito ningún número.
Una app muy simple recibe un texto y lo devuelve escrito en mayúsculas. Analiza su esquema entrada → proceso → salida y propón dos utilidades reales que podría tener una…
Una app muy simple recibe un texto y lo devuelve escrito en mayúsculas. Analiza su esquema entrada → proceso → salida y propón dos utilidades reales que podría tener una app así dentro de otra más grande.
Describe el algoritmo de una app de test con cinco preguntas: cómo se guarda la puntuación, qué ocurre cuando el usuario acierta o falla, cómo se pasa a la siguiente…
Describe el algoritmo de una app de test con cinco preguntas: cómo se guarda la puntuación, qué ocurre cuando el usuario acierta o falla, cómo se pasa a la siguiente pregunta y qué se muestra al final. Usa pasos numerados con decisiones y una repetición.
Una app que calcula el promedio de las notas da resultados absurdos cuando alguna casilla se queda vacía o cuando alguien escribe una nota de 42. Explica qué son los…
Una app que calcula el promedio de las notas da resultados absurdos cuando alguna casilla se queda vacía o cuando alguien escribe una nota de 42. Explica qué son los datos de entrada no válidos, propone dos controles que la app debería hacer antes de calcular y describe las pruebas que harías para comprobar que ya no falla.
Pantallas, elementos y prototipos
Una decisión también puede combinar condiciones. Prueba cómo una decisión depende de dos entradas:
Una app que se pueda usar
Un buen diseño piensa en todas las personas usuarias. Tres ideas de accesibilidad: botones grandes y separados (para dedos grandes o con poca precisión), buen contraste entre texto y fondo (para quien ve poco o usa el celular bajo el sol) y no depender solo del color: añadir texto o iconos (para personas con daltonismo).
Con las notificaciones pasa algo parecido: avisan de novedades, pero demasiadas hacen que la persona desinstale la app. Conviene enviar solo avisos útiles y dejar que el usuario elija cuáles recibe. El onboarding son las pantallas que explican la app la primera vez que se abre: deben ser pocas y tener un botón «Saltar».
Las pantallas de una app se construyen con elementos básicos: botones, etiquetas de texto, cuadros donde escribir e imágenes. Explica para qué sirve cada uno de esos…
Las pantallas de una app se construyen con elementos básicos: botones, etiquetas de texto, cuadros donde escribir e imágenes. Explica para qué sirve cada uno de esos cuatro elementos y pon un ejemplo de cada uno en una app que uses a menudo.
Las notificaciones avisan de novedades, pero demasiadas notificaciones hacen que el usuario desinstale la app. Diseña la política de avisos de la app de lectura del…
Las notificaciones avisan de novedades, pero demasiadas notificaciones hacen que el usuario desinstale la app. Diseña la política de avisos de la app de lectura del aula: qué tres avisos sí enviarías, qué avisos no, y qué opciones de configuración le dejarías al usuario.
Evalúa la accesibilidad de esta pantalla de app: botones muy juntos y pequeños, texto gris claro sobre fondo blanco y toda la información solo en colores (sin textos).…
Evalúa la accesibilidad de esta pantalla de app: botones muy juntos y pequeños, texto gris claro sobre fondo blanco y toda la información solo en colores (sin textos). Propón tres mejoras concretas y explica a qué usuarios beneficia cada una.
El «onboarding» son las pantallas que enseñan la app la primera vez que se abre. Diseña el onboarding de tres pantallas para la app del restaurante escolar: qué muestra…
El «onboarding» son las pantallas que enseñan la app la primera vez que se abre. Diseña el onboarding de tres pantallas para la app del restaurante escolar: qué muestra cada pantalla, qué aprende el usuario en cada una y por qué debe haber un botón de «saltar».
Conexión, almacenamiento y permisos
Si desinstalas una app o cambias de celular sin copia de seguridad, los datos que estaban solo en el almacenamiento local se pierden. Por eso muchas apps ofrecen guardar una copia en la nube.
Cuando una app no tiene conexión, un buen mensaje dice qué pasa («Sin conexión; mostrando la última previsión de las 8:00 a. m.») y ofrece opciones: reintentar, seguir con lo guardado o ir a la configuración de red.
Permisos y consumo
Un permiso es la autorización que das a una app para usar el micrófono, la ubicación, los contactos, etc. Las apps de mapas gastan mucha batería y datos porque usan la ubicación constantemente, descargan mapas y mantienen la pantalla encendida. Se reduce descargando mapas por Wi-Fi, usando la ubicación solo mientras la app está abierta y bajando el brillo.
Unas apps funcionan sin conexión a internet y otras no pueden hacer nada sin ella. Explica qué diferencia hay entre ambos tipos y clasifica estas apps razonando tu…
Unas apps funcionan sin conexión a internet y otras no pueden hacer nada sin ella. Explica qué diferencia hay entre ambos tipos y clasifica estas apps razonando tu respuesta: una calculadora, unos mapas con tráfico en directo, un test de preguntas ya descargado y una app de mensajería.
Un juego recuerda tu nivel, tus monedas y tu récord aunque cierres la app. Explica qué es el almacenamiento local de una app, qué datos guarda ese juego y razona qué…
Un juego recuerda tu nivel, tus monedas y tu récord aunque cierres la app. Explica qué es el almacenamiento local de una app, qué datos guarda ese juego y razona qué pasará con ellos si desinstalas la app o cambias de celular sin copia.
Una app del clima funciona en parte sin conexión: muestra el último pronóstico descargado, pero no lo actualiza. Explica qué partes de una app pueden seguir funcionando…
Una app del clima funciona en parte sin conexión: muestra el último pronóstico descargado, pero no lo actualiza. Explica qué partes de una app pueden seguir funcionando sin internet y diseña el mensaje de «sin conexión» que vería el usuario: qué debe decir y qué opciones debe ofrecer.
Una app de linterna pide permiso para acceder a los contactos, a la ubicación y al micrófono. Analiza si esos permisos son necesarios para su función, qué riesgos tiene…
Una app de linterna pide permiso para acceder a los contactos, a la ubicación y al micrófono. Analiza si esos permisos son necesarios para su función, qué riesgos tiene concederlos sin pensar y redacta un criterio de tres preguntas para decidir qué permisos aceptar en cualquier app.
Publicar, confiar y ganar dinero con una app
Una app puede ser nativa (se instala desde la tienda, usa mejor el celular, pero hay que hacerla para cada sistema y actualizarla) o web (se abre en el navegador, funciona en cualquier dispositivo y se actualiza sola, pero depende más de la conexión y accede a menos funciones del aparato).
Las actualizaciones corrigen fallos, cierran huecos de seguridad y añaden mejoras. No actualizar deja la app vulnerable. A veces cambian funciones que te gustaban porque el equipo decidió rediseñarlas o quitarlas.
¿Confío en esta app?
¿De qué vive una app?
Una app «gratis» con anuncios vive de tu atención y, a veces, de tus datos. Si la usan niños, niñas y adolescentes en un colegio, la publicidad invasiva y el uso de sus datos (habeas data, Ley 1581 de 2012; Ley 1098 de 2006) preocupan, además de que la publicidad invasiva y los cobros que dejan fuera a quien no puede pagar son problemas éticos. Una alternativa es financiarla con apoyo del colegio o de la comunidad, publicarla con licencia libre y mantenerla entre estudiantes y profes.
Vuelve al principio: la app de propinas de Valentina falló porque nadie la probó con un dato inválido como «abc». Un control de entrada y una prueba con datos raros lo habrían evitado.
Antes de instalar una app de la tienda conviene fijarse en varios datos. Explica qué te aportan las valoraciones, el número de descargas, los permisos que pide y el…
Antes de instalar una app de la tienda conviene fijarse en varios datos. Explica qué te aportan las valoraciones, el número de descargas, los permisos que pide y el nombre del desarrollador, y qué combinación de esos datos te haría desconfiar.
Las apps se actualizan cada cierto tiempo. Explica dos motivos por los que conviene mantenerlas actualizadas y un riesgo de no hacerlo, y razona por qué a veces una…
Las apps se actualizan cada cierto tiempo. Explica dos motivos por los que conviene mantenerlas actualizadas y un riesgo de no hacerlo, y razona por qué a veces una actualización cambia funciones que te gustaban.
Algunas apps se descargan primero como «versión beta» para un grupo pequeño de usuarios. Explica qué significa esa etiqueta, qué ventajas tiene probar así antes del…
Algunas apps se descargan primero como «versión beta» para un grupo pequeño de usuarios. Explica qué significa esa etiqueta, qué ventajas tiene probar así antes del lanzamiento oficial y qué dos cosas deberías esperar de una beta (y no enojarte cuando ocurran).
Diseña una app completa llamada «Retos de lectura» para que el curso registre los libros que va leyendo: pantallas que tendría, datos de entrada y salida de cada una,…
Diseña una app completa llamada «Retos de lectura» para que el curso registre los libros que va leyendo: pantallas que tendría, datos de entrada y salida de cada una, algoritmo principal y tres pruebas concretas que harías antes de publicarla.
Su equipo ha programado una app para organizar los torneos deportivos del descanso. Un compañero propone financiarla insertando anuncios de una red comercial y cobrando…
Su equipo ha programado una app para organizar los torneos deportivos del descanso. Un compañero propone financiarla insertando anuncios de una red comercial y cobrando 0,99 pesos mediante compras dentro de la app para desbloquear las estadísticas avanzadas. Justifica dos problemas legales o éticos que tiene este modelo al aplicarse en un colegio con menores de edad. Después, diseña un modelo alternativo para sostener y mantener la app sin recurrir a publicidad invasiva ni a pagos que discriminen a parte del estudiantado.
Vas a descargar una app para calcular notas y encuentras «SuperNotas». En la tienda de apps observas los siguientes datos: Puntuación media: 4,9 ★ con 2.500…
Vas a descargar una app para calcular notas y encuentras «SuperNotas». En la tienda de apps observas los siguientes datos:
-
Puntuación media: 4,9 ★ con 2.500 valoraciones.
-
Fechas y texto: El 90 % de las 5 ★ se publicaron en solo tres días consecutivos, con textos idénticos («Excelente app») y perfiles sin imagen.
-
Permisos exigidos: Acceso a la lista de contactos, ubicación precisa y micrófono.
Interpreta estos datos: explica qué práctica fraudulenta está teniendo lugar y qué objetivo persigue. A continuación, predice qué riesgos asume quien la instale guiándose solo por la nota promedio y redacta dos comprobaciones obligatorias que siempre se deben hacer antes de instalar una app desconocida.
Del bloque al texto
Hasta ahora has programado arrastrando bloques. Escribir el programa como texto es el siguiente paso, y las ideas son las mismas: variables, entrada y salida, condicionales, bucles y funciones. Por ejemplo, el conversor de km a millas en Python (el lenguaje usa punto decimal en el código):
km = float(input("Kilómetros: "))
millas = km / 1.6 # en el código se escribe punto decimal; en pantalla sería 1,6
print("Son", round(millas, 2), "millas")
Aplicando la idea de «privacidad desde el diseño», define qué datos mínimos pediría de verdad una app de tareas del aula para funcionar, qué datos NO pediría aunque…
Aplicando la idea de «privacidad desde el diseño», define qué datos mínimos pediría de verdad una app de tareas del aula para funcionar, qué datos NO pediría aunque «pudieran ser útiles» y cómo explicarías esas decisiones a los usuarios en la ficha de la tienda.