Historia y motivación
Desde aproximadamente el año 2010, en el ámbito académico de las asignaturas relacionadas con Sistemas de Control en nuestras universidades, se adoptó GNU Octave como una herramienta de simulación con enfoque didáctico. A medida que esta herramienta evolucionaba, acompañamos su progreso desarrollando objetos didácticos para mejorar nuestras actividades docentes tanto a nivel de grado como de posgrado.
En este trayecto, con el objetivo de enriquecer la experiencia de nuestros estudiantes, iniciamos una investigación sobre cómo desarrollar interfaces gráficas que facilitaran la interacción con los objetos didácticos creados. La primera aproximación consistió en la creación de aplicaciones gráficas mediante el uso del framework de Qt. Estas aplicaciones, al interactuar con el usuario, ejecutaban procesamientos en GNU Octave, recopilaban los resultados y los presentaban en interfaces gráficas.
Aunque esta mejora en la experiencia de los usuarios fue evidente, nos enfrentamos a diversas limitaciones, especialmente en lo que respecta a la distribución de las aplicaciones en diferentes sistemas operativos. Por esta razón, y considerando que GNU Octave incorporó la capacidad de representar controles visuales a través de la función uicontrol
, comenzamos a explorar una implementación que permitiera representaciones visuales en un editor capaz de generar automáticamente aplicaciones script.
Las primeras versiones de este editor (ahora guiEditor) estaban diseñadas para permitir la creación de una sola ventana de diálogo con controles básicos y la incorporación de llamadas a otras funciones como parte de una biblioteca. A medida que trasladábamos el trabajo previo a esta nueva herramienta, surgieron preguntas adicionales: ¿Sería posible incorporar múltiples ventanas? ¿Cómo podríamos agregar archivos script con funciones? Y más intrigante aún, ¿cómo podríamos estructurar una aplicación con todos estos elementos y además generar un paquete para su distribución en diferentes equipos?
Este trabajo, desarrollado a lo largo de los últimos 15 años, ha posicionado a guiEditor como una herramienta madura. Sin embargo, lejos de concluir su desarrollo, estamos comprometidos en trabajar diligentemente para incorporar nuevas funcionalidades que permitan la realización de proyectos más complejos.
Equipo de desarrollo
As mentioned earlier, guiEditor emerged with the intention of facilitating the use of computational tools in undergraduate and postgraduate courses. Dr. Eduardo J. Adam proposed the development of this tool, and Mg. E. Sergio Burgos initiated its development.
Currently, Dr. Adam oversees the design and construction of various tools that define the requirements and functionalities to be incorporated, while Mg. Burgos is responsible for implementing the necessary features in guiEditor.
Aunque ambos han motivado y llevado a cabo las implementaciones que han dado forma a la herramienta que presentamos hoy, diversos profesionales, académicos y entusiastas han contribuido de diversas maneras. Ya sea mediante propuestas, informando sobre errores o sugiriendo diferentes mejoras.
Objetivos
El objetivo general de guiEditor, así como de las diversas herramientas y toolbox asociados, es contribuir de manera humilde al desarrollo de aplicaciones científicas y didácticas. A partir de este objetivo general, se derivan metas específicas que incluyen:
Un objetivo indirecto asociado a los mencionados anteriormente es establecer una comunidad de usuarios. De esta manera, al compartir nuestras experiencias, buscamos perfeccionar la herramienta para que se adapte de manera óptima a las necesidades individuales de cada usuario.