Graphical user interfaces defined with the MATLAB version of Simian GUI can be tested and used in a native MATLAB figure. They can also be deployed on the MATLAB Production Server, which allows users with sufficient access (Active Directory) to access the tools through their internet browser in real-time. They do not require a MATLAB license or more computational power than is needed for the browser. The appearance of the GUI in local MATLAB mode is the same as that in deployed mode.

Simian GUI is supported in MATLAB releases R2020a to R2022b.


The basic workflow of Simian GUI in combination with the MATLAB Production Server is illustrated in the image below.

Local use

While the tool is under development, using the MATLAB Production Server is not a necessity yet. The general workflow is as follows:

  1. Start off by defining the form (GUI) initial states and underlying behavior in MATLAB. Tie the front-end to the back-end by specifying what event should trigger what computations.
  2. The form is initialized in a MATLAB figure. In this figure, you can change values in the form using checkboxes, text fields etc.
  3. When you are done making changes to the form, click a button that triggers a submission of the form data to the back-end (MATLAB). The computations you specified for that button are performed and updates are sent back to the form for the user to interact with.

Deployed use

Your tool can be used with the MATLAB Production Server using the following steps:

  1. Generate an archive from your MATLAB code and deploy your tool on the MATLAB Production Server. This is described in Deployment.
  2. Configure your Simian Portal to add a link to the deployed web app for the users.
  3. A user can now access the tool from their favorite web browser without requiring an active MATLAB session. Since the application is the same as in local mode, the same edits can be made as in step 2 of the list above.
  4. After a button is clicked, the data is submitted to the back-end (MATLAB Production Server) where computations are performed. Updates are sent back to the front-end (the user's web browser).