GSLIC

Graphic System Level Interface Control

CZMIL SLIC's User Interface

GSLIC is a front-end user interface for the CZMIL systems SLIC software. It provides access to all of SLIC's parameter tracking and command and control functionality. Aside from interfacing with SLIC, it also provides complete automation of common tasks on the CZMIL system and on the operator PC.

GSLIC was implemented using Python and Qt. This allows it to be platform independent. Currently it can run on both Windows and Linux. For Windows installations, I use PyInstaller and Inno Script Studio. PyInstaller generates a single binary or executable file that includes the Python Runtime Environment. This way the target Windows PC does not have to have Python pre-installed to run GSLIC. Inno Script Studio creates a typical Windows installer executable that users will be familiar with.

This image (click to enlarge) shows GSLIC's Dash panel.

Design

The layout design of GSLIC was intended to be intuitive for system operators. CZMIL is an extremely complex system. However, operators who were familiar with it were able to use GSLIC with little to no instructions. Everything was laid out to be straightforward and easily accessible.

The artistic design of GSLIC was intended to look sleek and professional. The colors were chosen to provide clear contrast without being flashy (and also to be clearly visible in direct sunlight). The icons (some made from scratch and some made using elements of public domain [free for commercial use] images) were designed to attempt to convey the actions they represent.


A Short Video Demonstration




Why focus so much on artistic design when functionality is all that is needed?

When I was in school, I took a class called Human Computer Interaction Design. Although the class was taught in the Computer Science Department it was actually more of a psychology class. It primarily focused on the psychology of end-users and how their mindset can differ completely from the engineer's.

I learned a lot in this class but there was one concept in particular that stuck in my head over the years. We reviewed a case study in which users were presented with two different software applications that did the exact same thing. The users were then asked to choose which software they would want to use regularly. The first application was designed to be functional with a very generic looking user interface. It performed its tasks flawlessly. The second application was designed to have a sleek artistic interface. Unlike the first application though, this one had a number of bugs intentionally placed in the functionality. The results of the case study were counterintuitive for most typical engineers. The users overwhelmingly chose the application with the bugs because it looked sleek and clean. This taught me that the user experience is an extremely important concept that cannot be ignored for any software application.