Did you every have the need to setup a process where you can track time while working in the form? Recently I was asked about if Infowise forms had the ability to performs some type of stopwatch capability. The answer to that is yes there are date and time functions avaliable for this type of functionality. There is one caution though, you won't see a timer counting live on the form, that cannot be done. However, we can track time with custom buttons and functions.
With Infowise Modern forms, Dynamic rules and custom button controls you can build these type of processes easily. Below is a form that puts these idea in to action to implement a form of stopwatch with a lap timer. This type of timing system is used in downhill ski races and rally races where tracking the time a participant crossed several checkpoints on the course is as important as the time it takes to cross finish line. Each participant can have several (mostly 3 to 4) runs and their times will be averaged to determine the final placement of the winners. Fro the purpose of this blog we are just going to focus on the stop watch functionality.
Stop Watch Timer
Timer Buttons
Start
The Start button begins the timer when the participant starts the course. This will track in the Recorded Times the start of his particular run,
Lap Time
A lap timer is a kind of stop watch that records the time a participant crosses a course checkpoint without stopping the clock. Pressing this button saves the time event recorded event with the current duration and reopens the form to keep tracking other checkpoints on the course so the clock does not stop at this time. This would be similar to a user completing a task.
Stop
This button works similarly to the Lap Time button but it completes the time trial of the participant as the participant crosses the finish line.
The Custom buttons are defined as Action, Save, and Edit buttons. This gives the ability to modify the details on the form to provide the updates before the save and edit functions. Some of the Dynamic rules are there to control when the different fields can be written too. For instance, Record Time is a Yes/No field that sets the permissions for Duration Completed and Recorded Times to allow to be written to or not. Duration Completed uses a dynamic rule to get the seconds from Start Time to the current time stamp.
There are several dynamic rules that help to control the form and how it records the times.
- StartTime (a date/time field) is set to display:none to facilitate the calculation of Duration and is set by dynamic rule to [Now] when the new form is opened.
- The custom buttons for the stop watch all perform some updates to field before executing a save and edit function.
- Each time the form opens there is a dynamic rule that sets the Record Time to No
- When a timer button is pressed the Record Time is set to Yes before the values are written and the form is saved.
- Duration Completed is only calculated when StartTime has been established and uses a Dynamic rule formula $Seconds([StartTime]|[Now])
Ultimately this is just an example of what you can do with dynamic rules and date and time functions to track time. However, with some adjustments these function could provide some insight into response times or other time sensitive applications.
This example is available as a template solution for M365 if you are interested in applying it to a new site. To install select the Stopwatch and Timers template from the template solutions from your Ultimate Forms Interface.