History and motivation
Since around the year 2010, in the academic context of courses related to Control Systems at our universities, GNU Octave has been adopted as a simulation tool with a didactic focus. As this tool evolved, we paralleled its progress by developing didactic objects to enhance our teaching activities at both undergraduate and postgraduate levels.
In this journey, aiming to enrich our students’ experience, we initiated an investigation into how to develop graphical interfaces that would facilitate interaction with the created didactic objects. The initial approach involved creating graphical applications using the Qt framework. These applications, interacting with the user, executed processing in GNU Octave, collected the results, and presented them in graphical interfaces.
Although this improvement in user experience was evident, we encountered various limitations, particularly concerning the distribution of applications across different operating systems. For this reason, and considering that GNU Octave introduced the ability to represent visual controls through the uicontrol
function, we began exploring an implementation that would allow visual representations in an editor capable of automatically generating script applications.
The early versions of this editor (now guiEditor) were designed to allow the creation of a single dialog window with basic controls and the inclusion of calls to other functions as part of a library. As we transitioned our previous work to this new tool, additional questions arose: Could we incorporate multiple windows? How could we add script files with functions? And more intriguingly, how could we structure an application with all these elements that could also generate a package for distribution on different systems?
This work, undertaken over the past 15 years, has positioned guiEditor as a mature tool. However, far from concluding its development, we are diligently working to incorporate new features that enable the realization of more complex projects.
Development team
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.
Although both have inspired and executed the implementations that have shaped the tool presented today, various professionals, academics, and enthusiasts have contributed in diverse ways. Whether through proposals, reporting issues, or suggesting different improvements.
Objectives
The overarching goal of guiEditor, as well as the various associated tools and toolboxes, is to modestly contribute to the development of scientific and educational applications. Specific objectives derived from this overarching goal include:
An indirect objective associated with those mentioned above is to establish a user community. By sharing our experiences, we aim to refine the tool to best suit the individual needs of each user.