GUI and UX Design Projects
Some of my proudest achievements in my programming experience have been seeing people continue to use GUIs I wrote half a decade ago, without a single issue. I've written GUIs in MFC, wxWidgets, and MatLab's GUIDE, but more recently have found it far far more pleasant to move to Qt and Python bindings with either PyQt or PySide. I've also created a GUI framework from scratch for an embedded medical device, wrapping a multi-threaded dispatching system around the decidedly non-threadsafe RAMTEX LCD library.
Lest anyone look at these pictures and think my design skills are terrible - these are the non-confidential products I can show, and are in each case tools for engineers or technicians. In recent times I've worked as a lead architect for various products and take a design thinking and customer-centric approach - and then employ a real designer to drive the visuals and flows!
Lest anyone look at these pictures and think my design skills are terrible - these are the non-confidential products I can show, and are in each case tools for engineers or technicians. In recent times I've worked as a lead architect for various products and take a design thinking and customer-centric approach - and then employ a real designer to drive the visuals and flows!
An example wxWidgets GUI I wrote to get other developers up to speed with the API and our widgets. This GUI demonstrates a number of widgets I also wrote; graphs, rotary tilt indicators, analog dials, 2D bubble tilt indicators, adjustable priority error/message logging, etc.
Laser scan viewer. A wxWidgets GUI using OpenGL for rendering. Written entirely by me on a rainy and otherwise wasted day during a field trial, and still in use six years later!
Radar FFT viewer. Another wxWidgets GUI using OpenGL for rendering. This was also written entirely by me, and replaced a pipeline of four separate applications previously required to visualise this type of data.
ImageViewer - a wxWidgets GUI that listens to a TCP/IP port and parses video data frames into images and renders them. This screenshot shows it being used to display an autonomous vehicle's current understanding of the traversability of the surrounding terrain.
Control Station GUI for autonomous robots, written entirely by me. Twice. I learnt a lot of lessons here; why threads and OS event queues shouldn't mix, when double buffering is appropriate, and that one-click usability should go out the window when your usual operating environment is the bumpy back seat of a twelve year old troop carrier and that click can potentially send a robot at full speed towards a tree.
Front-of-house GUI for controlling Cubescape Escape Rooms. The GUI is dynamically populated with controls appropriate to the room/games that announce themselves on the network.