Introduction: Our team has developed graphical user interfaces to meet the needs of NASA researchers in their need for an interface to interact with autonomous Nanolabs. Our team has run various tests to determine the ideal method the creating the interface, we collected data from the other Nanolab groups and were able to implement it in some of the interfaces data. The data collected for the interface themselves are qualitative and were used to determine
Testing Procedure: Test if GUI buttons work and operate as should. Add changes to graphical interface to improve usability.
Prototype Designs
Preliminary design 1
Preliminary design 2 and 3
Results:
Code.org GUI - Beginner
Final revision of beginner GUI. A simple interface that will use many buttons and pictures along with a help feature that will offer explanations of mildly challenging words or functions.
The main portions of code here provide a simplified view of how the main structure of the code.org GUI will work. It uses different "screens" that are controlled through the dropdown menu.
Kivy GUI - Intermediate
Intermediate design that will offer less pictures however a similar amount of color to appeal to the user. It will be more straightforward and offer raw data along will visuals.
Code for the user interface designed through KIVY. It was designed over a frame of three pages (Graph, Camera, and Main).
Tkinter GUI - Advanced
Advanced Design that will offer raw material and less focus on visual appearance. The interface will let the user plot or graph data using external programs such as MATLAB or excel.
Code using the Tkinter package though the PyCharm. This method is flexible and offers a profesisonal environment. The Tkinter package will enable the user to access raw data/files and have flexibility for future implementations.
Reflection: The test shown provides an example of how limited a user can be on different interfaces. The program was able to run however the interface itself is limited because of all the roots and bindings. It was difficult to be able to connect separate pages (different Nanolabs and language features), without having to offer another interface. The code was able to run flawlessly and the next step will be data collection.
Expert Feedback: With feedback from Glenn Johnson, Gene Gordon, Florence Gold, they recommended we work with other Nanolab groups and try to set up an experiment with the Nanolabs that they have built. Our team is taking their advice into account and are working with each group individually to incorporate the specific devices and instruments they are using to record data and implementing it into the code of the GUI. They also recommend combining the three separate interfaces into one program that will use a graphical package but offer the three different levels of knowledge.
Recommendations: Our team wants to implement a touchscreen and data input for a fully functional graphical user interface (by implementing hardware and data collection). Our group also wants to develop cross-platform access (Linux, Chrome OS, etc.). We also view the interface as something that can be custom (people will be able to design and collect data from their own experiments).
Conclusion:
We evaluate test results to not only improve and find out what is best within the project, but it is to highlight the flaws and needs that need to be addressed within the project so they can be focused on before any preliminary mistake will be made in the final design/revision. Our group has determined that much work is needed to full complete the interface. However, this work will become immensely easier with the collaboration from other groups who will offer insight and information on their specific hardware and code.