https://doi.org/10.35290/ro.v3n1.2022.534
“Second Mind” una aplicación móvil para el
almacenamiento de memorias del usuario
Roberth Alexander Almache Vallejos1
Comando Conjunto de las Fuerzas Armadas del Ecuador
roberth9501@hotmail.com
https://orcid.org/0000-0002-5947-9576
Jorge Ramiro Castro Chavez2
Int Food Services Corp, Ecuador
jorgesuzuky666@gmail.com
https://orcid.org/0000-0003-4500-5940
Diego Alejandro González Calderon3
Rankmi, Chile
dgonzalez.jim@gmail.com
https://orcid.org/0000-0003-0121-867X
Johanna Daniela Ruano Cardenas4
Maint.SA, Ecuador
danyruanoc13@gmail.com
https://orcid.org/0000-0002-7766-2809
Resumen
Actualmente, a nivel profesional y personal se maneja una gran cantidad de información
de cualquier ámbito, sea laboral, escolar, familiar, salud, etc., y por el avance
tecnológico ya no se llevan registros manuales, sino un almacenamiento digital,
ubicándolo en varios lugares, tales como correos, notas rápidas o archivos de texto, que
limitan la obtención inmediata de información a recordar. En este sentido, la presente
investigación tiene como objetivo diseñar un prototipo móvil llamado “Second Mind”,
que permite al usuario almacenar información (notas, tips, conceptos, rutinas, ayudas
técnicas, etc) en el dispositivo móvil, donde se puede buscar y tener accesibilidad a
datos importantes o relevantes, permitiendo manejar su información de forma efectiva,
inmediata y organizarla en base a su necesidad, con esto se le permitirá accionar sin
dificultad en cualquier lugar que se desempeñe con sus registros personales.
Palabras Clave: digital, app, almacenamiento, tecnológico, dispositivo.
Abstract
Currently, at a professional and personal level, a large amount of information is handled
in any field, be it work, school, family, health, etc., and due to technological advances,
manual records are no longer kept, but digital storage, locating it in various places, such
as emails, quick notes or text files, which limit the immediate collection of information
to be remembered. In this sense, the present research aims to design a mobile prototype
called "Second Mind", which allows the user to store information (notes, tips, concepts,
routines, technical aids, etc) in the mobile device, where you can search and have
accessibility to important or relevant data, allowing you to manage your information
effectively, immediately and organize it based on your need, with this will allow you to
act without difficulty anywhere you perform with your personal records.
Keywords: digital, app, storage, technological, device.
Introducción
En el día a día, para poder comunicarnos y realizar incluso distintas acciones, se
necesita de información o datos que faciliten las actividades diarias. Se ha visto que en
generaciones anteriores la tecnología no era muy accesible y manejaban su información
en libros, libretas y registros manuales, poco a poco la tendencia ha ido cambiando y se
ha permitido digitalizar la información, facilitando incluso hasta la escritura de la
misma. Se observa actualmente que incluso con este avance, y con varios aplicativos
que se tiene, como por ejemplo en Google el Dropbox, MEGA, MediaFire, Google
Drive, que se lanzó en el año 2012, así como también el mismo bloc de notas, o el
correo electrónico (Martín-Barbero, 2015), existen limitantes al obtener los datos
deseados en el momento justo que se requiere.
La información muchas veces se almacena en varios lugares y registros, de hecho, sea
por capacidad, disponibilidad, o netamente por falta de una aplicación como repositorio
que ayude a almacenarla, ha dificultado la disponibilidad, ya que con frecuencia se
necesita traer un dato importante a la mente, provocando retrasar o posponer ciertas
actividades, sea a nivel personal, comercial, de ingeniería, e incluso a nivel escolar, se
suelen suspender actividades académicas por no disponer de información inmediata que
permita organizar al usuario y trabajar de forma productiva.
En base a dicha necesidad, se ha visto como mejoramiento la creación de un prototipo
de aplicación móvil en Xamarin forms, manejando una base de datos SQLite y con el
IDE de desarrollo Visual Studio .Net 2019, desarrollada por versiones en GitHub (B,
2021), la misma que permitirá al usuario almacenar información, sean textos, imágenes,
links en su dispositivo con un buscador que con solo ingresar una palabra clave se
obtendrá la información, manteniendo disponibilidad continua e inmediata.
Con lo antes expuesto, este desarrollo está dirigido a cualquier persona que maneje y
disponga de un dispositivo móvil Android, y tenga la necesidad de registrar datos y
tener memorias almacenadas para su desempeño, siendo un aplicativo muy útil y
novedoso donde puede llegar a muchos usuarios, con tan solo aprovechar la facilidad
móvil (Dominguez, 2018). Este desarrollo es un aporte a la sociedad que puede llegar a
cualquier parte y sin distinción, a tal punto de que a un niño se le facilite almacenar
información escolar y a un adulto memorias difíciles de recordar y comprender con tan
solo una búsqueda en su dispositivo.
Metodología
La implementación de una metodología en un desarrollo de software proporciona
grandes beneficios al proyecto, mejorando la calidad y productividad dentro del entorno
de trabajo, para este caso en específico se utilizó la observación directa y la metodología
Kanban.
De acuerdo con Marshall y Rossman (1989), citados en Kawulich (2005), la
observación es "la descripción sistemática de eventos, comportamientos y artefactos en
el escenario social elegido para ser estudiado" (p.79), en este sentido, el uso de esta
técnica permitió tener un panorama más amplio en cuanto a la descripción de las
situaciones que se presentaron.
A su vez, es importante me mencionar la definición de la metodología aplicada. “La
palabra Kanban viene del japonés y traducida literalmente quiere decir tarjeta con
signos o señal visual. El tablero más básico de Kanban está compuesto por tres
columnas: “Por hacer”, “En proceso” y “Hecho”. Si se aplica bien, y funciona
correctamente, sirve como una fuente de información, ya que demuestra dónde están los
cuellos de botella en el proceso y qué es lo que impide que el flujo de trabajo sea
continuo e ininterrumpido”, (Kanbanize, s.f).
2.1 Fases de ciclo de producción
Kanban está basado en el desarrollo incremental, esto quiere decir que el trabajo a
desarrollar se divide en diversas fases, con esto lo que se busca es acelerar el proceso
del desarrollo del software; estas fases son puestas en las columnas que correspondan.
En estas tarjetas no se describe la totalidad de la tarea a realizar solamente, se da una
descripción general del entorno de lo que se quiere, para que el equipo de trabajo
conozca la carga que posee; en estas tarjetas se describen si esta tarea depende de otras
(Gilibets, 2020).
En la siguiente Tabla 1 se visualizará la lista de requerimientos presentados para este
proyecto.
Tabla 1.
Requerimientos del prototipo
Requerimientos funcionales
Identificación
Nombre del requerimiento
Descripción del requerimiento
RF01
Recursos de prototipo móvil
"Second Mind"
Para el prototipo se debe emular desde un celular.
El acceso al aplicativo mantendrá un login.
RF02
Menú de opción de prototipo móvil
La aplicación tendrá dos botones, uno de registro
para ingreso de datos y otro para consulta de la
información.
RF03
Registro de información de
prototipo móvil
El usuario al seleccionar Registro podrá ingresar y
grabar los datos como: textos, imágenes, links en la
prototipo y una palabra clave para recordar.
RF04
Consulta de información en
prototipo "Second Mind"
El usuario al seleccionar en pantalla “Recordar” se
habilitará un buscador, al tipear una palabra clave
podrá mostrar su información almacenada en
"Second Mind".
RF05
Eliminar Información en prototipo
móvil
El usuario podrá eliminar información registrada
que ya no desee mantener almacenada.
Requerimientos no funcionales
Identificación
Nombre del requerimiento
Descripción del requerimiento
RNF01
Interfaz del sistema.
El prototipo presentará una interfaz de usuario
sencilla para que sea de fácil manejo a los usuarios.
RNF02
Se requiere uso de cámara propia del dispositivo
móvil.
Identificación
Descripción del requerimiento
RNF03
La memoria permitirá que la búsqueda sea
altamente inmediata, los datos se almacenan en
SQLITE y las imágenes se almacenarán en Amazon
para AW S3 "repoawsxamarin".
RNF04
Se garantizará a los usuarios un desempeño en
cuanto a los datos almacenado en el sistema
ofreciéndole una confiabilidad a la misma.
2.2 Requerimientos de software
GitHub. - Es un servicio basado en la nube que aloja un sistema de control de
versiones (VCS) llamado Git. Éste permite a los desarrolladores colaborar y
realizar cambios en proyectos compartidos, a la vez que mantienen un
seguimiento detallado de su progreso (González, 2021).
Visual Studio .Net 2019.- Lenguaje de programación diseñado para crear una
gran variedad de aplicaciones que se ejecutan en .NET. Este lenguaje con
seguridad de tipo es eficaz y están orientado a objetos. Se basan en .NET
Compiler Platform “Roslyn”, que proporciona API de análisis de código
sofisticadas y es de código abierto en GitHub (Microsoft, s.f).
Xamarin Forms. - Es un marco de interfaz de usuario de código abierto que
permite a los desarrolladores crear aplicaciones de Xamarin.Android,
Xamarin.iOS y Windows desde una única base de código compartida.
BD SQLite. - Es un ligero motor de bases de datos de código abierto, que se
caracteriza por mantener el almacenamiento de información persistente de forma
sencilla (SQLite,2018). A diferencia de otros sistemas gestores de bases de datos
como MySQL, SQL Server y Oracle DB, SQLite tiene las siguientes ventajas:
- No requiere el soporte de un servidor, SQLite no ejecuta un proceso para
administrar la información, si no que implementa un conjunto de librerías
encargadas de la gestión.
- No necesita configuración, libera al programador de todo tipo de configuraciones
de puertos, tamaños, ubicaciones, etc.
- Usa un archivo para el esquema, crea un archivo para el esquema completo de
una base de datos, lo que permite ahorrarse preocupaciones de seguridad.
- Es de código abierto: está disponible al dominio público de los desarrolladores, al
igual que sus archivos de compilación e instrucciones de escalabilidad
(Develou, s.f).
Es por eso que SQLite es una tecnología cómoda para los dispositivos móviles. Su
simplicidad, rapidez y usabilidad permiten un desarrollo muy amigable.
Xamarin Essentials. - Es un paquete compatible con Microsoft que se conecta a
varias características nativas para el usuario y mejora con cada versión, en este
caso se usó para las imágenes y links (Ruiz, 2017).
AWS SDK. - Para .NET simplifica el uso de los servicios de AWS porque
ofrece un conjunto de bibliotecas que a los desarrolladores que usan .NET les
resultan lógicas y familiares (Madhuri & Madhuri, 2016). Todos los AWS SDK
ofrecen compatibilidad con el ciclo de vida de las API, como administración de
credenciales, reintentos, cálculo de referencias de datos y serialización. AWS
SDK para .NET también admite abstracciones de nivel superior, como S3
Transfer Utility, Cognito Identity Provider y AWS DyanamoDB Session State
Provider. Visite el GitHub de aws/dotnet y encuentre bibliotecas y herramientas
para .NET en AWS (Amazon, s.f).
2.3 Restricciones
Tomando en cuenta que el proyecto tiene como propósito un prototipo funcional, se
tiene en cuenta las siguientes restricciones:
Para el prototipo no se podrá usar dispositivos móviles que tengan una versión
inferior de API 22.
El prototipo será compatible desde la versión 5.1 o posterior.
El dispositivo que utilice el prototipo debe tener conexión a Internet para
almacenar las imágenes en el repositorio de Amazon AWS.
En el prototipo no se podrán almacenar videos.
A continuación, en la Tabla 2 se muestran las personas involucradas en el desarrollo del
proyecto con sus role asignados:
Tabla 2.
Responsables y roles en la metodología Kaban
Personas/Instituciones
Roles
Mg. Renato Toasa/Universidad Israel
Stakeholder
Diego González
Service Request Manager.
Jorge Castro/Robert Almache/Johanna Ruano
Service Delivery Manager.
A su vez, se estructura un cronograma de actividades como base, para el desarrollo del
proyecto que se muestra a continuación en la Figura 1.
Figura 1.
Cronograma de actividades
2.4 Fases del proyecto
Fase 1.- Inicio
En esta fase desarrollada del 11 al 19 de octubre se definieron los lineamientos del
proyecto, el tema, la identificación de requerimientos, mockups del prototipo y gestión
de actividades para el desarrollo.
En la siguiente Figura 2 se muestra el tablero Kanban, definido por actividades del
proyecto, tareas por hacer, tareas en progreso y tareas finalizadas.
Figura 2.
Planificación e inicio actividades Kanban
Fase 2.- Diseño del prototipo
En esta fase, distribuida del 19 al 23 de octubre, se procedió con el diseño y desarrollo
del prototipo, en base a los requerimientos funcionales y no funcionales identificados.
CRONOGRAMA DE ACTIVIDADES
11-oct. 14-oct. 17-oct. 20-oct. 23-oct. 26-oct. 29-oct. 1-nov. 4-nov. 7-nov. 10-nov. 13-nov. 16-nov. 19-nov. 22-nov.
INICIO DEL PROYECTO
Definición del Proyecto
Identificación de RF
Mockups del prototipo.
Propuesta del Proyecto.
Aprobación de Propuesta
DISEÑO
Diseño arquitectura Mvc
Diseño de la base de Datos
CONSTRUCCIÓN
Creación Arquitectura y Login.
Creación Menú principal.
Creación de métodos para BD.
Creación de Métodos para imagen.
Carga de imagenes en AW S3
Merge del prototipo Final
Pruebas de Testeo.
Informe final del proyecto
Manual de Usuario
Entrega de prototipo y defensa
FIN DE PROYECTO
En ella se registra y se ejecutan las siguientes actividades que se visualizan en la Figura
3.
Figura 3.
Tablero fase 2
En la siguiente Figura 4 se muestra el diseño de la arquitectura MVC
Figura 4.
Arquitectura Mvc “Second Mind
Fase 3.- Construcción del prototipo
En esta fase, distribuida del 25 de octubre al 15 de noviembre, se procedió con la
creación de Login, menú principal donde consta el botón Registrar/Consultar, métodos
para BD e imagen, cargas de imágenes y Merge. En la Figura 5 se observa el tablero
correspondiente.
Figura 5.
Tablero fase 3
Fase 4.- Pruebas e informes
En esta fase, distribuida del 15 de noviembre al 21 de noviembre, se realizaron las
pruebas de testeo y correcciones del prototipo, el informe final y el manual de usuario
(Figura 6).
Figura 6.
Tablero fase 4
De esta forma, en las fechas estipuladas en el cronograma se da por concluidas las
actividades (Figura 7), usando la metodología desarrollada por intervalos y con
responsables por cada actividad o tarea.
Figura 7.
Fin actividades en Tablero Kanban
Resultados
En las Figura 8 y Figura 9 se observa la pantalla principal y login único
(administrador).
Figura 8. Figura 9.
Pantalla Inicial Login de User
Para el estudio se tiene como parte de los resultados la funcionalidad del prototipo
móvil que cumple con las especificaciones planteadas y aprobadas, el mismo se ve
reflejado y demostrado con las pruebas funcionales, que a continuación se detallan:
En la Figura 10 se muestra el menú con los dos botones (Registra/Recuerda) y en la
Figura 11 se visualiza la pantalla para ingreso de información.
Figura 10. Figura 11.
Menú Principal Pantalla registro de memoria
En la Figura 12 se ingresa los datos y en la Figura 13 se muestra la pantalla al
seleccionar captura de imagen a ser registrada con los respectivos botones de control.
Figura 12. Figura 13.
Ingreso de información Pantalla para capturar imagen
En la Figura 14 se muestra en pantalla la imagen capturada con cámara de teléfono y
en la Figura 15 se presenta el aviso para botón subir y guardar.
Figura 14. Figura 15.
Pantalla de Imagen Capturada Aviso por registro de imagen
En la Figura 16 y Figura 17 se muestra la pantalla al seleccionar Recordar, donde se
visualizan las memorias almacenadas y se consulta con la palabra clave.
Figura 16. Figura 17.
Acceso de botón recordar Pantalla consulta con palabra clave
En la Figura 18 y Figura 19 se muestra la consulta hecha por el usuario, donde se
visualiza la descripción, el texto y el enlace con el linkeo correspondiente.
Figura 18. Figura 19.
Resultado de consulta por descripción Funcionalidad de acceso a url
En la Figura 20 y Figura 21 se muestra la consulta hecha por el usuario, donde se
visualiza la descripción, el texto y la imagen almacenada en repositorio, correspondiente
a ese registro.
Figura 20. Figura 21.
Resultado de consulta por descripción Visualización de imagen en repositorio
En la Figura 22 se puede evidenciar la funcionalidad de eliminación de un registro en
aplicativo.
Figura 22.
Botón eliminar y mensaje de advertencia
Finalmente, en las siguientes Figura 23, Figura 24 y Figura 25 se muestran las
advertencias en caso de errores de ingreso, falta de información para registro y errores
en ingreso de la URL.
Figura 23.
Figura 24.
Figura 25.
Error al ingresar
Error al guardar sin información.
Error de URL
El almacenamiento de la información del prototipo se realizó de forma hibrida, la parte
de texto en SQLite, por lo que la ubicación del archivo se especifica en la biblioteca y
puede estar en su directorio de inicio en la carpeta del programa de invocación, y la
imagen se almacena en el repositorio Amazon S3, por el tamaño que estas disponen, así
el manejo de la persistencia de información fue exclusivo para el prototipo.
Para el desarrollo se utilizó Xamarin en Leguaje Visual Basic 2019, con una base
SQLite y un repositorio Amazon S3 (proporciona almacenamiento de objetos a través
de una interfaz de servicio web), como control de versiones el GitHub para agilizar la
creación del prototipo y la metodología Kanban, para concluir dentro de los tiempos
establecidos el desarrollo.
Conclusiones
Para el proyecto fue una parte primordial identificar la necesidad del usuario, así como
también los requerimientos para que el prototipo sea efectivo, “Second Mind” es un
aplicativo interactivo que permitirá registrar y almacenar información a corto o largo
plazo, evitando así un almacenamiento caduco y tedioso, como es el uso innecesario de
Google, o correos electrónicos para reenviarse y mantener la información, archivos en
Pc que sean limitantes de acceder. Con tan solo el uso de esta app móvil, que tiene una
interfaz amigable, se podrá disponer de textos, tutoriales y grabar incluso una URL o
imágenes, usando su propia cámara del dispositivo, así traey recordará cualquier
información que necesite de forma inmediata.
Finalmente, se realizaron las pruebas correspondientes, que permitieron verificar la
funcionalidad del prototipo y que se cumplan los requerimientos funcionales y no
funcionales, levantados al inicio del proyecto.
Referencias
Amazon,W. (s.f). SDK de AWS para .NET. https://aws.amazon.com/es/sdk-for-net/
B, G. (08 de marzo de 2021). ¿Qué es GitHub y Cómo Usarlo? Hostinger Tutoriales.
https://www.hostinger.es/tutoriales/que-es-github
Develou. (s.f). Tutorial De Bases De Datos SQLite En Aplicaciones Android.
https://www.develou.com/android-sqlite-bases-de-datos/
Dominguez, D, L. (26 de febrero del 2018). La revolución móvil (enfocada a las Apps).
https://www.delaradominguez.es/apps-la-revolucion-movil/#page-content
Gilibets, L. (11 de noviembre del 2020). Qué es la metodología Kanban y cómo
utilizarla. IEBS. https://www.iebschool.com/blog/metodologia-kanban-agile-scrum/
Kanbanize. (s.f). Qué es Kanban: Definición, Características y Ventajas.
https://kanbanize.com/es/recursos-de-kanban/primeros-pasos/que-es-kanban
Kawulich, B. (2005). Participant Observation as a Data Collection Method. Forum
Qualitative Sozialforschung / Forum: Qualitative Social Research, 6(2).
https://doi.org/10.17169/fqs-6.2.466
Madhuri, T., & Sowjanya, P. (2016). Microsoft Azure v/s Amazon AWS cloud services:
A comparative study. International Journal of Innovative Research in Science,
Engineering and Technology,
https://www.academia.edu/download/53932691/Microsoft_Azure_vs_Amazon_AWS_
Cloud.pdf
Madhuri, T., & Sowjanya, P. (2016). Microsoft Azure v/s Amazon AWS cloud services:
A comparative study. International Journal of Innovative Research in Science,
Engineering and Technology, 5(3), 3904-3907. DOI:10.15680/IJIRSET.2016.0503098
Martín-Barbero, J. (2015). Comunicación masiva: discurso y poder (Vol. 1). Ediciones
Ciespal.
Microsoft. (s.f ). Desarrollo de aplicaciones .NET.
https://visualstudio.microsoft.com/es/vs/features/net-development/
Ruiz, J. (18 de diciembre de 2017). [Xamarin.Forms] Uso de SQLite, múltiples tablas,
relaciones y operaciones en cascada.
https://javiersuarezruiz.wordpress.com/2017/12/18/xamarin-forms-uso-de-sqlite-
multiples-tablas-relaciones-y-operaciones-en-cascada/
SQLite, DB (09 de septiembre de 2018). SQLite Database search in Xamarin Forms
https://stackoverflow.com/questions/52241191/sqlite-database-search-in-xamarin-forms
Copyright (c) 2022 Roberth Alexander Almache Vallejos, Jorge Ramiro Castro
Chavez, Diego Alejandro González Calderon y Johanna Daniela Ruano Cardenas
Este texto está protegido bajo una licencia internacional Creative Commons 4.0.
Usted es libre para Compartircopiar y redistribuir el material en cualquier medio
o formato y Adaptar el documento remezclar, transformar y crear a partir del
materialpara cualquier propósito, incluso para fines comerciales, siempre que
cumpla las condiciones de Atribución. Usted debe dar crédito a la obra original de
manera adecuada, proporcionar un enlace a la licencia, e indicar si se han realizado
cambios. Puede hacerlo en cualquier forma razonable, pero no de forma tal que
sugiera que tiene el apoyo del licenciante o lo recibe por el uso que hace de la obra.
Resumen de licencia Texto completo de la licencia