#hackjsy Profile: Team “Dead Man’s Handle” (OpenNMS)
Following on from my previous post, here is the next in our series of profiles summarising the people and projects from #hackjsy 2014.
We were fortunate that Dr Craig Gallen was visiting the island on the Friday of #hackjsy to talk about OpenNMS – and that he’d already decided to stay for part of our hackathon (making him one of the few “overseas” attendees!). He teamed up with Mark Wharton to form a duo who ultimately won the OOTB (Out Of The Box) award for lateral thinking.
Who are they?
From left to right (this was the best photo available, sorry Mark!), they are:
Dr Craig Gallen – A 50+ something Engineer who has worked in Broadcast, Telecoms and Academia. Craig became a committer to the OpenNMS project while doing Doctoral research on the value of open source operational support systems for large service providers and is currently an evangelist for OpenNMS in Europe.
Mark Wharton – A 40+ something software developer who has used languages ranging from low level Assembly byte code to high level Java, Python and the likes over 30 years of coding. Currently works as CTO in a Jersey-based software company, but continues getting his hands (very) dirty with code. Mentors the gaming group at Jersey Coders.
What did they make?
A native Android App written in Java accessing network, vibration, audio playback and GPS features, the ‘Man on Site’ app combines with OpenNMS to provide a simple service for checking on the health/safety of people working alone on site.
The app allows users to check in with an OpenNMS backend, which can be used to automatically manage, track and escalate their status reports alongside other network issues. Because the concept is general, although the app is originally intended for engineers on site, it could easily be extended to manage other loan workers such as health visitors, security guards, etc and could even be used to collect other metrics from the device running the application if required.
OpenNMS is configured to plot the location (and status) of each registered device on a map from Open Streetmap and the app itself has four buttons – “Start Job”, “Report In”, “Finish Job” and “Panic”. Once a user clicks “Start Job”, a timer begins and will generate alarms on the local device if the user fails to “Report In” within a specified time period.
OpenNMS also monitors the “Report In” status and if a user does not check in for a configured period of time, it will generate and then escalate an event – at which point manual processes should take over to contact or check on the worker.
Once work is finished, “Finish Job” stops the process and “Panic” provides a one press function for a worker to immediately raise a critical alarm in OpenNMS, indicating that they are in trouble and require assistance.
Because OpenNMS maintains a log of user movements as well as times and event history, this could also provide valuable information for incident management.
Where can I see it?
OpenNMS configurations and the App can be found here: https://github.com/gallenc/
And some documentation will be available in the future.
And what does the future hold?
Craig’s main motivation for this has been to promote OpenNMS as a highly
flexible platform which can have multiple applications even outside the
network management sphere, and he is very interested to know if you think it
could have wider application or indeed could be turned into a service
for use in other market sectors.
Work is continuing to tidy up the code and it will be pushed to the OpenNMS community as a simple working prototype which can be taken forwards if they recognise it’s practical uses. At the very least it is a
really good worked example of how to program Android Apps and how to
configure OpenNMS to do clever things.