Safety Monitor Application

Embodiments relate generally to methods and systems for providing a computerised safety monitor application in a handheld mobile computing device. An example method comprises: within the safety monitor application, allowing user configuration of a monitor time period; executing a timer function to run a timer from a beginning of the monitor time period; in response to a signal from the movement detection component indicative of movement of the mobile computing device by more than a threshold movement amount, resetting the timer to run from the beginning of the monitor period; and in response to the timer reaching an end of the monitor time period, generating and transmitting an alarm message to at least one remote destination using the wireless communication means of the handheld mobile computing device.

DETAILED DESCRIPTION

Described embodiments generally relate to safety monitor applications. In particular, embodiments relate to such applications and methods of their use and provision and to mobile computing devices executing such applications.

Referring now toFIG. 1, a system100for providing a safety monitor application is described in further detail. System100comprises a hand held mobile computing device110in communication with a server145over one or more public networks140.

The hand-held computing device110may be embodied as a smart phone or tablet computing device, for example. The server145has an interface module147specifically configured to pair with and interface with a safety monitor application118executing on the hand held mobile computing device110. The system100further comprises a data store146in communication with, and accessible to, the server145to store data relating to the use of the safety monitor application118and the status updates that it generates. Additionally, system100may comprise one or more destination devices150to receive alarm messages from the server145, depending on the monitored safety status received from the safety monitor application118.

System100further comprises a download server160to facilitate the download of the safety monitor application118to the handheld mobile computing device110.

In some embodiments, the hand held mobile computing device110may transmit messages to one or more of the destination devices150instead of, or in addition to, messages being routed by a server145. For example, a text message to be transmitted from the hand held mobile computing device110may use existing mobile communications infrastructure and transmission protocols to rout such text messages directly to a destination device150, instead of via server145.

In this context, public networks140may include publicly accessible mobile telephony infrastructure as well as publicly accessible data communications infrastructure, including the internet.

The hand held mobile computing device110comprises at least one processor112and a memory114accessible to the processor112for read and write operations. The memory114comprises executable program code grouped into code modules that provide computing device functions. Such groups of code modules define an operating system116and the safety monitor application118. Other software code modules may be stored in the memory114for execution, including various native device functions that can be called by the operating system116or safety monitor application118. The memory114comprises persistent non-volatile data and program storage for implementing the operating system116and safety monitor application118, but also includes volatile memory, such as random access memory (RAM).

Hand held mobile computing device110further comprises a display132, which may be a display screen for a smart phone or tablet computing device display, depending on the particular embodiment of the hand held mobile computing device110. The display132is driven by the processor112together with any additional graphics processing devices or circuitry that may be necessary or desirable for display functions.

Additionally the hand held mobile computing device110comprises one or more input components134. Such input components134may include a transparent touch screen interface overlayed on the display132, for example, and/or an inbuilt or electronically coupleable key pad, for example.

Hand held computing device110further comprises a transceiver module136, including one or more antennae for transmitting and receiving data to and from the server145via the public networks140. The processor112controls the transceiver module136to transmit and receive data according to protocols known in the art. The hand held mobile computing device110further comprises a location component135, such as a global positioning system (GPS) location identification module, and one or more accelerometers138to detect movement of the hand held mobile computing device110.

The system100is intended to be used by workers that are performing their duties alone in a potentially remote area with possible safety hazards. Provision of the safety monitoring application118as part of the system100is aimed at providing an alarm and notification system to alert one or more colleagues and/or personal contacts of the owner/user carrying the hand held mobile computing device100, in case any events occur that are or may be potentially adverse to the safety of that person.

It should be noted that the system100may be used in circumstances other than just for employees of a company that may be involved in maintenance and/or inspection work. Described embodiments of the invention may also be beneficially used in a broader context by people whose safety may be of concern to others while they are involved in certain activities, including the elderly or disabled. The system100is therefore specifically configured to monitor for periodic feedback, such as regular movement or user input, from the user of the hand held mobile computing device110that would tend to indicate that no adverse event has occurred that would affect the safety or wellbeing of the user.

As described herein, the safety monitor application118is of a kind that may be downloaded onto hand held mobile computing device110from the external download server160and installed as one of a number of applications running on the hand held mobile computing device110. Such a download server160may be commonly accessed through a link to an “App Store” for devices executing an operating system provided by Apple, Inc.™ or an “App Market” for devices running an Android™ or other operating system, for example.

Safety monitor application118comprises a number of software code modules that, when executed by the processor112, cause the handheld mobile computing device110to perform safety monitoring functions as described herein. Such code modules include a user interface module122, a timer module124, a configuration module126and a status detection module128. The user interface module122is configured to generate appropriate images displays for the safety monitor application on display132and to provide input options for receiving user input where appropriate. The timer module124is configured to execute timer functions to count down (or up) to time periods specified by default or by the user in the settings screen600(FIG. 6). The configuration module126cooperates with the user interface module122to allow setting of the timer parameters, contact details and other input received via the settings screen600. Optionally, the configuration module may cause an update to be sent to the server145when certain new configuration settings (such as contact details for alarm message recipients) are entered into the settings screen600and saved onto the device memory114. This allows the server145to locally store the alarm message recipient contact information (and optionally other information) and allows the alarm messages received from the computing device110to be shorter and therefore more reliably sent. The status detection module128is configured to monitor changes in apparent user status or timer status or alarm status while the safety monitor application is executing.

Referring also now toFIGS. 2 to 11, methods of providing and executing safety monitor functions of the safety monitor application118are described in further detail with reference to the flow charts ofFIGS. 2,3and4and the example screen displays ofFIGS. 5 to 9and the example alarm messages ofFIGS. 10 and 11.

FIG. 2is a flow chart of a method200of providing a safety monitor application for the handheld mobile computing device110. Method200begins at210when the safety monitor application is selected and downloaded from the download server160by existing application download techniques. Once the safety monitor application118is successfully downloaded at210, then the safety monitor application118sets default configuration parameters at220, such as default time periods, for example.

When the safety monitor application118is successfully downloaded onto computing device110or upon the safety monitor application118being first launched, details of the computing device110and any details of the user, such as name, number and email details, are provided to the server145in order to register the user as owner or user of the computing device110and the computing device110itself with the server145.

At240, the safety monitor application118sets a default timer mode, which, as described in further detail below, may be a motion detection mode or an interval timer mode. In some embodiments, the default timer mode may be the motion detection mode, while in other embodiments, the default timer mode may be the interval timer mode.

At250, once the safety monitor application118is executing on the handheld mobile computing device110, the user is invited and allowed to configure (by user input), alarm message contact information and timer parameters. An example configuration screen is shown inFIGS. 6A and 6B(withFIG. 6Bbeing a vertically scrolled version of the same display as shown inFIG. 6A). The user is invited to input a mobile (cellular) telephone contact number for the handheld mobile computing device110and to input a user name in user identification fields610. The user name is included in any alarm messages that are transmitted to destination devices150and is therefore intended to reflect the name by which the user of the computing device110is most commonly known.

The user may configure functions of the handheld mobile computing device110using the interactive display600of the safety monitor application118. One configuration option may be to enable or disable the interval timer mode of the device by selection or deselection of a toggle selector620, for example.

The user is also invited via interactive display600to input timer configuration parameters into motion alarm notification configuration fields630for configuring the motion detection alarm notifications. In this respect, the fields630include a first field to input a number of minutes to elapse without any motion being detected by accelerometers138before an alarm message is transmitted. A second field of the motion alarm notification configuration fields630is to specify a number of seconds that the local alarm is to run for. For example, if the time interval entered in the first field of fields630were twenty minutes and the timer timeout were ten seconds (in the second field), then if there were no motion detected for twenty minutes, an alarm would sound for ten seconds, locally emitted from the computing device110.

The user may also configure first and second interval timer alarm notification configuration fields640, inputting a number of minutes that the interval timer is to run for in a first field and a number of seconds in the second field that the alarm is to sound for once the interval expires. If the user does not provide input in fields630or640or sets them to improper or impractical values, those fields are populated with default configuration parameters by the parameter configuration module126.

Additionally, the user may be allowed to configure whether a messaging alarm is transmitted using a messaging alarm configuration tool650that includes an enabling toggle selector655and an input field to input a contact mobile (cellular) telephone number to be the recipient of the messaging notification if an alarm condition occurs. Similarly, the user may configure an email alarm configuration tool660by selection of a selectable toggle selector665and inputting an email address into a recipient field. The messaging and email alarm configuration tools650and660may each allow one, two, three (or possibly more) recipients to be contacted in the event of an alarm condition occurring.

Referring again toFIG. 2, after the user has configured the settings of the safety monitor application118at250, the safety monitor application may allow the user to change timer mode at255, for example, by selecting a “toggle mode” selectable option860(FIG. 8). If the selectable option860is selected, then at260, the safety monitor application118changes the timer mode to another timer mode. While only two timer modes are described herein and depicted in the drawings, embodiments may include a third or fourth timer mode, for example, and changing of the timer mode260may toggle through all available timer modes. Depending on the timer mode that is selected, then either method300or400(as described in further detail below) is performed at260.

After255or260, the status detection module128monitors for a change in status of the user's interaction with the safety monitor application118at265. This change in status may be triggered by user input or may be determined based on an alarm condition or by a change in timer mode, for example. The status change monitoring at265is also performed continually by the status detection module128, during the performance of methods300and400. If a status change is detected at265, then the status detection module128of the safety monitor application118transmits a status update message to the server145, which logs the status update in relation to data records pertaining to the registered user and computing device110at270.

Referring also now toFIG. 3, the method300of executing a safety monitor application in a motion detection mode is described in further detail. Method300begins at step305when the “no motion” or motion detection mode is selected following step260. In the motion detection mode, the safety monitor application118is idle until at310the timer start button730(FIG. 7) is selected in order to start the timer. Once the timer start button730is selected, then at312, the timer module124checks whether recipient contact details have been stored in the device memory114. If no such details are stored or they do not seem to be valid (according to basic format checks), then an error message is displayed at314and the timer is not started. If seemingly valid contact details are stored in memory114, then at315, the timer module124of the safety monitor application118checks whether the interval and time out periods have been populated into configuration fields630and, if not, then at320, the default monitor period is set and stored. If interval and time out periods have been stored, the timer124begins a timer function at325to count down the specified or default motion detection interval.

If at any time while the timer is running, movement above a threshold amount (that is pre-configured within the software code of safety monitor application118when it is downloaded onto computing device110) is detected according to signals received from the accelerometer138at330then the timer is reset to begin again at325. The threshold amount of movement to be detected before determining that there is device movement is configured to avoid resetting the timer because of small vibrations picked up by the accelerometers138.

If the monitor period expires at335without movement being detected at330, then a local alarm signal is emitted at340and then at345the safety monitor application118generates and transmits an alarm message to the server145using the transceiver module136. At350, the server145logs the generation of the alarm message and generates and sends alarm messages to the contacts specified in the alarm message received from the computing device110or previously received from the computing device110.

The local alarm signal emitted at340and at other alarm conditions (e.g. at445or when the panic alarm button is held down) is configured to be a piercing high-pitched human-audible sound that over-rides any physical or software muting or volume control of the device sound and is emitted at maximum device volume. The emitting of a high-pitched sound at full volume more reliably pierces background noise in order to reliably notify the user (and possibly others who might hear it from nearby) that the alarm condition has been triggered (i.e. by timer expiry).

The alarm message preferably includes information to identify the nature of the alarm, the computing device110that the alarm is being transmitted from and the user concerned and optionally also the time interval (in minutes) that expired to trigger the alarm event. Example alarm messages are shown and described in relation toFIGS. 10 and 11below. Additionally, the safety monitor application118transmits with the alarm message location identification information, such as the GPS position determined by the location component135, for example. This location identification information may include an exact GPS location or may include an estimated location.

In response to receiving the alarm message from the computing device110, the server145generates and sends alarm messages to the configured contacts. Such messages are routed by conventional means to one or more destination devices150. Such destination devices150need not be a physical device associated with the contact, for example, where the contact information given is an email address that is not routed directly to a physical device.

The safety monitor application118emits the local alarm signal at340until at355user input is received to cancel the local alarm at360. The local alarm may automatically cancel after expiry of the timer timeout period configured in alarm configuration fields630and640.

Referring also now toFIG. 4, a method400is described for executing the safety monitor application in an interval timer mode. Method400begins at405, following selection of the interval timer mode at260. Until the timer start button730is selected at410, the timer awaits user input. Once input is received at410to start the timer, then at412, the timer module124checks whether recipient contact details have been stored in the device memory114. If no such details are stored or they do not seem to be valid (according to basic format checks), then an error message is displayed at414and the timer is not started. If seemingly valid contact details are stored in memory114, then at415, the timer module124checks whether suitable timer periods have been configured for the interval time mode. If no timer period (or no suitable timer period) is determined to be configured at415, then timer module124sets a default timer period at420and then begins the timer at425.

In the interval timer mode, if user input is received to stop the timer at430, then the timer is stopped at435. Otherwise, the timer module124waits for the timer period to expire at440. Once the timer period expires at440, the local alarm signal is emitted at445and then at450, the safety monitor application118generates and transmits an alarm message to the server145similar to the alarm message transmitted at345but indicating that the timer was in the interval timer mode, rather than the motion detection mode. At455, the server145sends alarm messages to stored contacts in a similar manner to step350described above. In some embodiments, the handheld mobile computing device110may be configured to transmit text messages, such as SMS (short messaging service) directly to a destination device150via public mobile telephony network infrastructure. This may be done instead of or in addition to transmission of such text messages via server145.

If at step460, user input is received to cancel the local alarm, then the local alarm is cancelled at465and the timer is reset at425to begin again.

In either the motion detection mode or the interval timer mode, a panic alarm button may be provided which allows the user of the computing device110to cause a panic alarm message to be transmitted to the contacts via server145(whether or not the timer is running in either mode). This panic alarm button may be in the form of a start button730or a stop button830(FIG. 8) and may be activated by holding that button for a pre-configured activation period. Alternatively, the panic alarm button may be a separate button to the start and stop buttons730,830. The panic alarm may optionally be activated only during the execution of the timing function following steps325or425or alternatively may be activatable at any time, even if a timer is not running. Once the panic alarm button is pressed at365or470and held for the activation period at370or475, then a local alarm signal is emitted at340or445and the safety monitor application118generates and transmits an alarm message to the server at350or455, as described previously.

In order to be able to provide the location identification information as part of an alarm message, the location component135regularly and periodically determines the geographic location of the computing device110and provides this to the processor112, which stores it in memory114for use in case an alarm message is to be transmitted.

The location component135may be configured to determine the geographic location of the computing device to within a calculated accuracy. This calculated location accuracy may be transmitted along with the determined or estimated geographic location of the computing device110when an alarm message is transmitted to the server145. The relative location accuracy may be indicated on a display generated by the user interface122, examples of which are shown inFIG. 7as720and inFIG. 8as820. The location accuracy may be displayed as a number and/or qualitative indication such as “good”, “poor” or “unknown”. The location accuracy information may be useful information for the user to know, for example where the user is in a low-reception area and the user is about to begin work and intends to rely on the safety monitor application118.

FIGS. 5A, SB and SC illustrate example displays of introduction pages510,520and530displayed to a user viewing the safety monitor application118(as generated by the user interface122) for the first time or in response to selection of a “help” or “information” option displayed on one of the other screens. A first introduction page510may explain that the safety monitor application118acts as an emergency beacon in the pocket of the user, so that in an emergency, the safety monitor application informs, for example, three colleagues via SMS and email that the user is not responding and gives the colleagues the user's last location. Introduction page520may explain that in one timer mode, which may be referred to as a health detection mode, the user may configure a time period by which the user would intend to routinely provide user input to the device110and that the safety monitor application118will alarm locally upon expiry of that time period without receiving user input. If the safety monitor application118generates an alarm and no further input is received, then the safety monitor application118will generate and send alarm messages to one or more contacts including the last determined geographic location of the computing device110. In introduction screen530, the motion detection mode may be explained in a similar manner to the health detection mode in screen520.

FIG. 7is an example display of a home screen700for an interval timer mode. The home screen700may display a configuration option705to allow the user to reconfigure the alarm and notification settings as described above in relation toFIGS. 6A and 6B. Home screen700may further comprise a banner area710that identifies a name and contact address or phone number of the user of the handheld mobile computing device110. In a main portion of the home screen700, the start button730is provided to enable the user to start the interval timer. This toggles to a “stop” button (as shown inFIG. 8) once it is pressed. A count down timer display may be included in a portion720of the home screen700, to indicate the time remaining until the end of the timer period, optionally together with an indication of the GPS location accuracy determined by the location component135in combination with the processor112.

Home screen700may also comprise a mode identification banner740, together with an indication of the full interval period configured for that mode. Home screen700may also comprise a status banner750to indicate the current status (ie active, inactive or alarm generated, for example), together with the time at which the status was most recently changed.

FIG. 8shows an example home screen800for a motion detection mode of the safety monitor application118. The motion detection mode is displayed in a banner840. The stop button830is in a central portion of the home screen800and is indicated to function as a panic alarm button at835if held down. A banner845may also indicate the timer period after which an alarm will be generated if no motion is detected. An alarm notification period820may indicate the remaining time until alarm as long as no motion is detected.

FIG. 9is an example display900of a message910that appears (as generated by user interface122) when an alarm condition occurs and step350or455has been performed. The display910indicates that the alarm has been sent on behalf of a named user at915and indicates a destination mobile phone or cell phone number to receive an SMS message at920, plus an email address shown at925to which an email alarm message will be sent. The user may tap the display910to dismiss it, as indicated at930.

FIG. 10shows an example email message display1000received at a destination device150. The display1000may include a banner1010and alarm description1020to indicate the date and time of the alarm. Additionally, a title of the alarm condition may be indicated in a portion1030of the message. The reason for the occurrence of the alarm condition may also be provided in a portion1040. The user of the handheld mobile computing device110may be indicated in a portion1050of the message.

Finally, the last recorded location of the handheld mobile computing device110may be indicated by GPS coordinates or as a selectable link1060to view the location on a map application installed the destination device150.

FIG. 11shows an example text message display1100of an alarm message received by SMS. The alarm message1110indicates a reason1140for the generation of the alarm, indicates the name of the user1150of the handheld computing device110that generated the alarm and indicates a selectable link1160to display the last recorded location of the computing device110on a map. The link1160may be embedded in the text message in such a way as to include a human readable GPS location1165, for example in the form of GPS coordinates.