Our Secret to Proactive Technical Support: Remote Health Monitoring
The first step to fixing a problem is knowing it exists. When developing interactive applications for our clients, we spend a lot of time testing each project’s software and hardware to ensure that it will perform as designed once it moves out of our safe, secure Development Lab and into “the wild” (aka: the customer’s location).
In addition to including analytic functions to track how our applications are used, we also incorporate remote reporting features that allow us to monitor the status of the application and be alerted when an issue arises. Over the past few years, the scope of this reporting has evolved.
Phase 1: You’ve Got Mail
One of the first methods we employed was a simple email notification. At regular intervals, the application would generate an email with logged information and simple alerts to errors or other unexpected events. These emails helped keep us abreast of the overall “health” of our installations. Many collaboration and productivity tools can accept email as a trigger, so this method of submission was very easy to add to a workflow. We were also able to set up custom rules and filters for any modern mail clients to assist in processing these messages.
Phase 2: Wait, Where’s the Network?
However, if loss of network connectivity was part of the problem, there was no way for these email notifications to be sent. To circumvent this scenario, we now have our applications post regular status updates to a cloud-hosted database using a custom API built on the Laravel PHP framework. Not only does this approach give us a way to store and process the status messages from multiple sites in a centralized location, but it also allows us to see if an update does not come in at the expected interval.
Phase 3: Hi There, Slackbot
To enhance technical support to our customers, we have also implemented a notification system based on the status updates received from our applications. Most of our internal collaboration and communication occurs through Slack, a team messaging application with many customization and integration features. Within Slack, we created a Health Monitor bot which sends pertinent messages regarding client application status directly to our Slack ‘support’ channel.
Phase 4: Making it Visible
Our developers also created a status dashboard as a Universal Windows application that gives our entire team an overview of the current health of all our active installations. This visual overview of application health allows us to quickly and efficiently identify potential issues across over 50 deployed machines.
Having these tools in place not only gives us the opportunity to assess new issues as they arise, but it also allows us to begin working on a resolution before our clients may even be aware a problem has occurred.
Making sure the experiences we design are consistently performing helps us to proactively serve our customers and ensure their ongoing enjoyment and usability of their installation.