User Interfaces for Simulation Software
Posted on 2009-03-02 as a part of the Photonics Spotlight (available as e-mail newsletter!)
Permanent link: https://www.rp-photonics.com/spotlight_2009_03_02.html
Abstract: The article discusses different types of user interfaces for simulation software, based on input forms, interactive graphical interfaces and on input scripts. There are certain trade-offs concerning the easy of getting started and the flexibility. An intelligent combination of approaches can lead to the best solution.
Besides the actual calculations done by a software, the user interface can be very important, as it determines whether you can do certain things within a reasonable time. There are quite different concepts:
- Some software is controlled via input forms. It is simple to fill the requested input data into the form. However, you are then required to provide the data in exactly that form, and there is very little flexibility. Basically, the user can only adjust certain parameters, but not the general structure of the inputs or outputs.
- Other software uses an interactive graphical interface. If it is well done, it gives you more flexibility than a form. However, it can be tedious to reconstruct later what inputs you have done where and in which order.
- The most flexible concept is that of writing a script (i.e., a text file containing certain commands). A script describes your inputs, the desired calculation and how to display the results in graphical and/or text form. A script also well documents what you have done. However, you may be afraid of spending too much time learning a script language. Demo scripts and good documentation may help to get started quickly.
So we see that generally there is a trade-off to be made: some concepts are easiest to start with, while others are more flexible.
In my own software RP Fiber Power, made for designing fiber lasers and amplifiers, I used a combination of concepts in order to achieve a better combination of a quick start and highest flexibility. For not too complicated cases, the user can fill out forms. The software can create a script from the form inputs and execute that script. For more sophisticated simulations, the user may take such an automatically generated script and edit it further. I feel that this approach combines the best of two worlds.
If you are interested in discussing such issues, you may want to have a look at the Linked-In group on Optical Design and Analysis Software, where I started a discussion topic.
This article is a posting of the Photonics Spotlight, authored by Dr. Rüdiger Paschotta. You may link to this page and cite it, because its location is permanent. See also the RP Photonics Encyclopedia.
If you like this article, share it with your friends and colleagues, e.g. via social media: