One of our clients, an institutional investor, holds in-person votes to make investment committee decisions. A simple procedure on the face of it but one that creates unintended headaches: the votes have to be manually recorded and uploaded to SharePoint by admin staff and crucially there isn’t an audit trail to ensure the validity of the original results - in other words to make sure committee members didn’t unintentionally change their minds.
After observing this time- and resource-intensive process, our team came up with a modernised way of automating the process with a simple gamified web app. At the front end, this allows committee members to enter their vote straight into the app instead of raising their hands, whilst allowing simple analytics to be built on top, generating insights about the voting system. This was facilitated by the use of WebSockets.
To understand the effectiveness of WebSockets, it’s worth comparing with the traditional method of obtaining data from the web: HTTP.
The HTTP (Hypertext Transfer Protocol) is a unidirectional protocol to allow data exchange between a device and a server. This means that a device can send a request to the server, and it must wait until the server sends back a separate response for that specific request. This method of data transfer can be very time consuming, therefore it is not viable to use for applications which require real-time updates between devices.
WebSockets on the other hand allows for a bidirectional, real-time communication between a device and a server, meaning that data can be sent and received between them simultaneously until the connection is lost or terminated.
Real-time communication between a client and a server was once achievable by polling a server resource however this is a comparatively high-latency and bandwidth intensive method, therefore the use of WebSockets is highly preferable.
Developing this web-app with WebSockets meant that our client now had an interactive user interface which collected data from employees in real-time, presented in a graphical dashboard and provided immediate access to the automated analysis of this data. All of which is updated in real-time for every user when new data is obtained through the application.
The impact for the client was three-fold: by eliminating the time it took to record and store the results of committee votes each month, we were able to save 20 hours of work. This had the knock-on effect of streamlining the investment committee process by increasing the speed of decision making.
The app also eliminated the unconscious bias in committee voting, as the analytics were able to identify patterns in voting – both positive and negative. Finally, it guaranteed accurate records of data at the point of voting, as the results were input directly into SharePoint instead of requiring a manual upload.
For businesses that have a time-consuming process to collect, process and visualise data from their employees, creation of a web-application with the use of WebSockets can and will save time and prove to be beneficial in the long-run by potentially saving hours of labour, as well as providing visualised analysis which would not have been possible otherwise.