I like running and I like technology. So I’m always exploring new ways to use technology to track better my runs, get metrics and take decisions while running on which tracks I use, etc. I normally wear my iPhone attached to my arm and the software I’m using is warning me each kilometre about my performance.
I recently acquired a SmartWatch. It talks to an Android device, which is the one that has the computing power. The watch works only as an extension of the phone. But when I’m running, I can look at it and get a bit more insights of my run without having to look at my arm which is, I can tell you by experience, dangerous!
I started wearing the SmartWatch on a daily basis. I rapidly realised that when I have my phone in my pocket, I receive the alarms in my watch so I can look at it faster and be informed and even take decisions. Here are some examples: the phone buzzes because I have a meeting in 15 minutes. I look at it on my watch without having to get the phone out of my pocket. Or I receive mentions or direct messages in twitter; I can scroll down and see those messages in my watch. In many situations, that is quite convenient, for example in the bus or when I’m standing up in my beloved Central line in London (connected via WIFI to the world). I have also realised that the battery life is now longer (not turning on/off the phone keeps the battery alive longer!)
Maybe some of you might think now “Ok Albert, but what’s the relation between ServiceNow and the SmartWatch?” After understanding these functionalities of extending your phone to your wrist we decided to do an integration with ServiceNow and the SmartWatch, so you can receive alerts into your watch. When you are alerted you can also act directly from the watch. You can approve a change, you can call to better understand an urgent incident that is affecting your systems or you can just open ServiceNow on your iPhone or Android.
So how did we integrate ServiceNow with the SmartWatch?
In order to understand the technical architecture of the integration one aspect we want to highlight again is that the Sony SmartWatch is just an extension to display information and cannot do any computation. Due to that, an essential first step was to develop a native Android application that runs into the Sony SmartConnect application. Besides the development of this application a second app had to be created, namely a new web app which is a Java service based on REST servlets. This app is responsible for receiving the message, creating a request for Google cloud services and eventually invoking it by asking the Google cloud services to send the notification. It is placed into a GFT web server (Tomcat 8).
From a ServiceNow point of view, the platform reacts to every incident submission which is assigned to a VIP. When an incident was submitted on the ServiceNow platform a (REST) message will be send through a URL with the following set of parameters:
- incident sys ID and
- VIP’s mobile phone number.
As a consequent step, Google Cloud will receive the submitted request and will process it, whereupon it will build the notification, put it into its queue and, once it’s ready, send the notification to the smartphone.
Since the smartphone and the SmartWatch are connected via bluetooth the native Android application automatically re-sends the notification to the extension, in this case the SmartWatch, as soon as the mobile receives it in order to be displayed.
To finalize the process, the SmartWatch offers the users three options:
- Request more information: the Android app will ask for ServiceNow XML Web Services to retrieve more information about the incident and will parse the payload. The mobile will then send it back to the SmartWatch to be displayed.
- Call the VIP: Sony SmartWatch 2 will request the native Android application to call the user’s mobile phone number using the smartphone.
- Open the record: the Android app will be used to open the SNOW URL associated with that incident in the mobile phone browser.
And now it is up to you to let your imagination fly with this integration. Which other functionalities can you think about?