Little things that count - audible alarms

As we work on customer projects and requests, we've developed number of valuable features for RapidOSS. We typically add these features as sample "solution templates". These solutions are typically distributed as part of the product under solutions directory. Solution templates serve as examples, demonstration of what's possible and starting points for customers.

In a series of posts, I'll mention some of these seemingly small features that seem to be important to some users.

I'll start with the audible alarms. Many customers want to be able to configure their PCs to warn them by playing a distinct sound (aka beep) to get their attention when there is a critical event, etc. Sounds simple enough, no?

Surprisingly this is quite cumbersome to implement with many IT management tools, requiring users to install software on the PCs, distribute scripts, audio files, etc. creating unnecessary administrative overhead. It is also hard to get it configured in such a way that is useful to the users.

Pain is a good teacher! Channeling the pain we've experienced implementing this with various IT management tools, we've designed a solution that addresses the shortcomings of existing approaches.

Once again, thanks to web based nature of RapidOSS, we were able to take advantage of web technologies. We've added a UI component called Audio Player to RapidOSS to play audio files in the browser. The audio player UI component executes a script on the server and based on the data it receives, it plays the specified mp3 audio file.

Here is the entire groovy script audio player calls to check whether there is a condition that requires playing the sound. Here is simple example script that plays the sound if there are any unacknowledged critical events and return XML.

def shouldPlay = false;
def sw = new StringWriter();
def builder = new groovy.xml.MarkupBuilder(sw)
shouldPlay = RsEvent.countHits("severity:5 AND acknowledged:false") > 0
builder.Result(shouldPlay:shouldPlay);
return sw.toString();

Some highlights:

  • User can specify any mp3 file, an obnoxious sound, recorded speech etc.
  • The UI polls the server periodically (every 30/60 secs, etc.) to check whether the audio should be played.
  • Unlike typical approaches, the sound is played only once whether there is 1 or 100 events that match the specified criteria. Believe me constant beeping is as useless as no beeps.
  • The audio is continues to play at every interval until someone takes action, acknowledges the events, etc.
  • As it is not a desktop app, there are no components to install, distribute, etc.
  • Different mp3 files can be played for different conditions.
  • Audible alarms can be used in conjunction with RapidOSS notifications

So there you have it, RapidOSS can sing to you, scream at you and wake you up when you need to pay attention. Enjoy!