Online meeting functionality for Hurma
Hurma System is a SaaS solution for recruitment, HR management and OKR performance that enables simple interactions between candidates, employees and recruiters/HR managers. Enabling the candidates to conduct video calls directly from the browser and storing such recordings for later use would be a very beneficial feature for all parties involved.
IT Svit has ample experience with WebRTC implementation and has published the source code for its online conferencing tool prototype — https://github.com/it-svit/ownconf more than 2 years ago. Since then, IT Svit has advanced much in using such technologies, which allowed the team to deliver video call features in a timely manner.
Location: Kharkiv, Ukraine
Industry: Recruiting, human resources
Partnership period: Dec 2019 – ongoing
Team size: 1 Python developer, 1 DevOps engineer, 1 Web developer
Team location: Kharkiv, Ukraine
Services: Online conferences subsystem development, application containerization, CI/CD and monitoring implementation
Expertise delivered: Requirements analysis, integration with the existing system, performance optimization
Technology stack: WebRTC, Python 3, Docker, Coturn, Vue.js, ffmpeg, AWS S3
The customer had the following project specifications:
- Online video conferencing should work directly from the browser without any additional software or extensions.
- The feature should support mobile devices, as well as multiple desktop platforms (Windows/Mac/Linux)
- Several core features should include screen sharing, chat, audio muting, speaker highlighting
- The system should provide automatic recovery on disconnection and easily switch between WiFi and 3G/4G/5G/LTE
- User-friendly interface
- The feature should enable meeting recording and replayability
Challenges and solutions
We decided to build this application using a peer-to-peer approach when all the call participants have equal rights and share the resource workload, without anybody having to support a dedicated server for video streaming.
The biggest challenge encountered was building a platform for stable connectivity. We developed a specific component for client applications enabling them to switch to alternative Internet access routes with minimum connection disruption. This enabled seamless switching between WiFi and mobile Internet access for mobile devices.
Bad Internet connection was a big issue even for web app performance. On the testing stage, some users experienced connectivity issues during their calls even on desktop devices with landline Internet connections. A built-in WebRTC feature constantly monitors the connection performance and lowers the bitrate of video/audio streams automatically if the connection becomes worse.
It turned out that Safari on iOS does not support RTCDataChannel, so we had to use web socket technology for arbitrary data transfer. This allowed us to enable the system to work even with Safari just as well as with all other browsers.
We integrated video calls into Hurma in a timely manner using our previous developments in this area. The ability to call anyone anytime directly from the browser has significantly simplified communication for recruiters, candidates, employees and HR managers. In addition, the ability to record all the calls (after the explicit consent) enabled the HR/recruiting specialists to replay any call later on.
The peer-to-peer approach helped us minimize resource consumption, as the main flow of data goes between clients, not from clients to a server. A simple API of the video conferencing system allowed us to easily customize UI to meet customer requirements for various cases.
IT Svit has proven its DevOps, Python development and software integration expertise once more, providing a simple and reliable tool for online communications directly from a browser.