By Nikita Titarenko and Jeff Carson

For over 40 years, SF Match has been a pivotal player in the healthcare industry, providing specialized matching services for medical residencies and fellowships. Their platform plays a crucial role in helping applicants find the right fit across a wide range of medical specialties and subspecialties. With a focus on efficiency, SF Match simplifies the application, review, and ranking processes, ensuring a seamless and user-friendly experience for both applicants and institutions.

ClearScale was given the task of developing a browser-based private video conferencing solution that could handle meetings with up to 100 participants at once while smoothly integrating visitors with platform users. This system was built to offer private rooms via invitations, monitor online participants, and support essential features like video and audio streaming, screen sharing, and chat options for both direct peer-to-peer communication and broader broadcast messages.

For power users, ClearScale’s platform needed to include advanced functionalities, such as the ability to manage meeting rooms, control room access for participants, and have the capability to mute, stop, or remove participants. Additionally, the platform had to offer three different UI conference layouts and be fully optimized for mobile devices. The ultimate goal was to create a comprehensive, user-friendly platform to meet the growing demand for virtual meetings, ensuring that ClearScale could facilitate effective and efficient remote communication during a time of unprecedented need.

Chime Resources Pros and Cons

A key reason for choosing Amazon Chime was its potential for customization, especially when it came to a specific need: automatically splitting meeting rooms into private sub-rooms. For example, we wanted to create separate rooms where one interviewer could meet with several students individually. At the time, Chime didn’t offer this feature out-of-the-box, and Zoom didn’t have it either.

After evaluating different SDK tools and functionalities, we chose Chime for several reasons:

  • It was easier to build the breakout room feature from scratch on Chime compared to Zoom.
  • Chime turned out to be a bit more affordable based on our estimates.
  • Since Chime is an AWS service, it offers better integration with AWS tech support, making it easier to resolve any issues during implementation.
  • We also anticipated that as our video platform grew, we’d need to integrate with other AWS services, like Amazon S3 and Amazon Transcribe. Working within the AWS ecosystem would be much simpler than trying to connect those services to Zoom.

Amazon Chime is made up of two main parts: the Amazon Chime SDK and the Amazon Chime Client. Each has its own set of pros and cons.

Amazon Chime SDK

The Amazon Chime SDK provides a flexible and extendable foundation, allowing developers to create custom solutions in any programming language. This flexibility makes it a powerful tool for tailoring the video conferencing platform to specific needs. However, it is not a hosted solution, meaning that developers must build it from the ground up, which can be a time-consuming and resource-intensive process.

Amazon Chime Client

The Amazon Chime Client, on the other hand, is always up-to-date and offers a media platform experience similar to Skype, Microsoft Teams, or Slack. As a native application, it provides a reliable and polished user experience. However, the Chime Client cannot be modified, which limits customization. Additionally, it comes with some excess features that might not be necessary for every use case.

Choosing Chime

As we noted, one big goal for SF Match was to easily divide meeting rooms into smaller, private sub-rooms. This is where Chime came to the rescue; it fits the bill greatly since it is fully customizable through the SDK. This really helped, especially in situations like interviews or classes. One good example is when an interviewer has to conduct one-on-one meetings with several candidates, ClearScale developers leveraged the SDK to conveniently set up sub-rooms. Each one had one interviewer and a set of students, so everything remained private and focused.

Most other platforms, like Zoom, didn’t provide this level of automation within room management. Zoom does indeed have breakout rooms, but setting that up is more manual and not as easy. So with Chime, it was simpler to build these subrooms based on what customers needed without putting too much stress on the host.

This feature also made it easier to organize virtual events. Schools could use the feature to arrange classrooms, quickly splitting students into smaller groups for all kinds of purposes. In business, this application helped team leaders split participants into smaller working groups during large meetings or training sessions.

Security is definitely a strong concern for AWS Chime. It puts end-to-end encryption in place to lock unauthorized people away from the conversation and files, meaning everything stays private within data protection rules. Chime integrates seamlessly with other AWS services and third-party applications, making work more efficient.

Another major advantage of AWS Chime is that it is economically viable. Pay-as-you-go pricing only charges businesses for what is actually being used—no more than that. This makes it an appropriate option for companies of any size. It also has some features like screen sharing, file sharing, and chat to enable easy team collaboration.

AWS Chime leverages the low-latency technology of AWS’s global infrastructure to work well no matter where users are located. Whether team members are close by or far away, Chime helps them communicate smoothly so distance isn’t an issue.

Technical Details

Meeting setup

Setting up a meeting with AWS Chime is a straightforward process that requires only a few steps to initiate a video conference. The platform offers a range of standard features out-of-the-box, which means minimal initialization of the AWS Chime SDK for JavaScript is needed. This ease of setup allows typical conferences to be started without any extensive configuration or initialization on the backend side of your web application

However, the SF Match business case required a more complex setup to meet their unique needs. This included advanced features such as managing meeting rooms by power users, tracking online participants, and gathering meeting statistics. These additional requirements necessitated a more sophisticated initialization flow.

The meeting initialization process for ClearScale involved several key steps:

  1. User Authentication and Role Assignment: Users are authenticated and assigned roles, such as power users or regular participants. This step ensures that only authorized users can access certain features and functionalities.
  2. Meeting Room Creation and Management: Power users can create and manage multiple meeting rooms. This involves setting up private sub-rooms, inviting participants, and configuring room settings to suit the specific needs of the meeting.
  3. Participant Association and Tracking: As participants join the meeting, the system automatically associates them with their platform user accounts. This allows for seamless tracking of online participants and ensures that attendance and participation can be monitored effectively.
  4. Initialization of AWS Chime SDK: The AWS Chime SDK is initialized with the necessary configurations, enabling features like video and audio streaming, screen sharing, and chat functionalities. This setup is designed to be efficient and user-friendly, minimizing the time and effort required to start a meeting.
  5. Enhanced Features Activation: Advanced features such as meeting statistics collection, online participant tracking, and extended controls for power users are activated. These features provide deeper insights into the meeting dynamics and allow for better management and control of the conference.

The following diagram illustrates the detailed meeting initialization flow for the ClearScale setup:

This comprehensive setup ensured that ClearScale’s video conferencing solution was robust, efficient, and tailored to meet the specific needs of SF Match users. By leveraging AWS Chime’s capabilities, ClearScale was able to provide a seamless and powerful virtual meeting experience, complete with advanced management and tracking features that are essential for modern business communication.

Meeting runtime

Video/audio streaming and screen sharing

The AWS Chime SDK offers robust video, audio, and screen-sharing streaming to facilitate seamless communication and collaboration experiences. Participants can join meetings from various devices, including desktop computers, laptops, smartphones, and tablets. Chime utilizes adaptive bitrate streaming to deliver optimal video quality based on each participant’s network conditions, ensuring smooth video playback even in low-bandwidth environments. Chime enables screen sharing during video conferences, allowing participants to share their screens with others to present slides, demonstrate software applications, or collaborate on documents in real time. Chime leverages advanced audio processing algorithms to minimize background noise, echo, and audio artifacts, delivering crystal-clear audio streams during meetings.


The flow for accessing video and audio in AWS Chime via web browsers typically involves several steps. Here’s a high-level overview of the process:

  1. Accessing the Chime Web Application: Users navigate to the AWS Chime web application using their preferred web browser.
  2. Media Device Permissions: Before joining a meeting, the web browser prompts users to grant permission to access their audio and video devices, such as the microphone and camera. Users must allow access for Chime to capture audio and video from their devices.
  3. Establishing a WebRTC Connection: Once permission is granted, the Chime web application initiates a WebRTC (Web Real-Time Communication) connection between the user’s browser and AWS Chime servers. WebRTC facilitates real-time communication by enabling peer-to-peer audio and video streaming directly between web browsers without the need for plugins or additional software.
  4. Sending and Receiving Media Streams: With the WebRTC connection established, the user’s browser begins sending audio and video streams captured from their microphone and camera to AWS Chime servers. These media streams are transmitted securely over the internet using protocols like RTP (Real-time Transport Protocol) and SRTP (Secure Real-time Transport Protocol).

Meeting Recording

Amazon Chime recording leverages AWS’s robust infrastructure to provide a reliable and scalable solution for capturing audio and video streams from your meetings. This feature is particularly beneficial for organizations that need to keep detailed records of their communications for compliance, training, or archival purposes. By recording meetings, participants can revisit key points, share valuable insights with absent members, and maintain a permanent record of important conversations. A reference diagram for how these services work together is below:

Setting up and managing recordings in Amazon Chime involves using the Amazon Chime SDK in conjunction with AWS services like Amazon S3. This seamless integration with the AWS ecosystem allows for flexible and powerful post-processing options, such as transcription, analysis, and secure sharing.

Optionally, we can use the recording stream for real-time and post-processing, ensuring seamless integration with Amazon Services. This leads to opportunities such as creating transcripts, generating meeting highlights, or adding subtitles.

Advanced Tools

Amazon Chime SDK provides several advanced audio and video features to enhance user experience in communication applications like virtual background, noise cancellation, and background blur features:

Virtual/blur Background

Virtual Background allows users to replace their actual background with a virtual or blurred one. Users can choose from a selection of predefined backgrounds or upload their own images. The SDK uses real-time video processing to segment the user from their background and replace it with the selected virtual background or apply a blur effect while keeping the user in focus. Turning virtual background on/off is as simple as an SDK function call. However, according to ClearScale experience mobile devices can suffer from rapid battery drain or overheating.

Noise Cancellation

Noise Cancellation is designed to filter out background noise, ensuring that participants’ voices are clear and comprehensible during calls. This is particularly beneficial in noisy environments or when using lower-quality microphones. Utilizes machine learning models to distinguish between speech and background noise, effectively reducing unwanted sounds. Automatically adjusts noise cancellation levels based on the detected background noise, providing an adaptive experience. Can be enabled or disabled with simple API calls, making it easy to integrate into applications.

Chat Implementation

AWS provides 2 options for a developer to implement chat functionality for their applications:

  • Amazon Chime SDK Messaging
  • Chime SDK for JavaScript

The Amazon Chime SDK Messaging provides developers with powerful tools to integrate real-time messaging capabilities into their applications, leveraging the reliability and scalability of AWS infrastructure. Chime SDK Messaging is designed to support a wide range of messaging needs, from simple text-based communication to complex, media-rich interactions. This SDK offers features such as real-time messaging, message persistence, rich media support, and thread-based conversations, ensuring that your application can deliver a comprehensive messaging experience.

On the other hand, the SDK for JavaScript includes basic and straightforward mechanisms for sending and receiving messages through Chime. Some might find this sufficient to implement simple chat applications with custom encryption and server-side interactions.

Bi-directional Notifications and Events

Amazon Chime offers various ways to interact with clients. The JavaScript library includes observers and subscriptions to respond to events such as new messages, attendee joins, active speakers, and more. For example, addressing poor internet detection involves the following steps:

  1. Create an internet health observer using JavaScript SDK.
  2. Wait for the notification.
  3. Update the attendee’s internet signal icon and inform others about his connection issue.

Additionally, Chime can broadcast events through AWS SNS, allowing for extended custom workflows and server application integration. Developers can choose their preferred method for responding to AWS Chime events based on their specific requirements. Chime SDK for JavaScript does not natively support muting or dropping attendees by an administrator, but the following steps demonstrate how to achieve this through a server application:

  1. An administrator clicks the attendee’s mute button to initiate a server API request.
  2. The server application receives the request, which includes the attendee’s ID and the meeting ID.
  3. Server executes Chime SDK to mute attendees.
  4. Chime mutes the user and sends SNS notification.
  5. Server application handles SNS messages and broadcasts to observers using web sockets.
  6. The web application receives the event and updates the attendee’s icon to indicate they are muted.

Amazon Chime Considerations and Quotas

In our extensive work with Amazon Chime, the ClearScale team identified several considerations that might affect your experience with the platform. These challenges can impact overall performance, reliability, and usability. Being aware of these potential drawbacks is crucial for making informed decisions and implementing appropriate solutions or workarounds to mitigate any negative effects on user experience. Here, we outline some of the key challenges we encountered.

High-Quality Video Streams Causing Browser Crashes

In rare instances, high-quality video streams from connected video devices may cause the Chime SDK to fail, resulting in browser crashes. This issue can disrupt meetings and negatively impact the user experience. To mitigate this, consider using lower video quality settings or ensuring that your devices and browsers are up-to-date and optimized for video conferencing.

Lack of Screen Sharing Support on Handheld Devices

Screen sharing is currently not supported on handheld devices such as mobile phones and tablets. This limitation can be a significant drawback for users who rely on these devices for remote collaboration and presentations. To address this, users may need to switch to desktop or laptop devices for screen-sharing functionality during important meetings.

Camera Permission Handling Errors

Occasionally, the Chime SDK struggles with handling camera permissions, leading to errors. Our team found that these issues often occur with different combinations of operating systems and browsers, likely due to local device-specific problems. Rebooting the device typically resolves the problem, but this workaround can be inconvenient. Ensuring that your system’s camera permissions are correctly configured beforehand can help minimize disruptions.

Poor Video Streaming Quality with Simulcast

The Amazon Chime SDK for JavaScript supports simulcast at 15 frames per second, which can result in poor video streaming quality and pixelated images. This limitation affects the clarity and overall viewing experience during video conferences. Users may need to adjust their expectations regarding video quality or explore alternative settings to improve the visual experience.

Virtual Background Feature Limitations

The virtual background feature in AWS Chime may not function properly on legacy browsers, such as Safari versions earlier than 14 or Internet Explorer, or on older hardware. Users with outdated systems may encounter issues when attempting to use this feature. To ensure optimal performance, it is recommended to use modern browsers and up-to-date hardware.

Rapid Battery Drain and Overheating on Mobile Devices

When the virtual background feature is enabled, some mobile devices can suffer from rapid battery drain or overheating. This issue can be particularly problematic during long meetings or conferences. Users should monitor their device’s performance and disable the virtual background feature if they notice significant battery consumption or temperature increases.

AWS does a fantastic job of publishing service quotas and Chime is no exception. Some quotas that are particularly germane to be aware of in this context we’ve called out in the table below:

This table lists the resources and quotas available for Amazon Chime SDK meetings:

Resource Quota Adjustable
Active Meetings 250 Yes
Attendees per meeting 250 No
Audio streams per meeting 250 No
Video streams published per meeting 25 Yes, up to 250
Content shares per meeting 2 No
API Rate 10 requests per second (RPS) with a burst of 20 RPS. Yes, but indirectly
Note: API rate limits are increased when you increase the Active Meetings quota.
Content sharing Not supported by handheld devices No
Browsers and Operating systems see Chime SDK docs

Conclusion

In summary, both SF Match and ClearScale demonstrate the power of leveraging specialized platforms to meet complex organizational needs. SFMatch has been a vital resource in the healthcare industry for over four decades, providing an efficient and user-friendly platform for matching medical residency and fellowship applicants to their ideal programs. ClearScale, on the other hand, has adeptly utilized Amazon Chime to develop a sophisticated browser-based video conferencing solution capable of accommodating up to 250 participants with features tailored for both general users and power users.

Leveraging the Amazon Chime SDK for customization based on customer needs by splitting meeting rooms into private sub-rooms was instrumental in addressing SF Match’s requirements. This offered a level of automated room management that platforms like Zoom could not match. The combination of Amazon Chime SDK and Chime Client provided a flexible, extendable, and reliable foundation for building a comprehensive virtual meeting solution.

However, the deployment of Amazon Chime also revealed certain limitations, such as issues with high-quality video streams causing browser crashes, lack of screen sharing on handheld devices, and occasional camera permission handling errors. Despite these challenges, ClearScale effectively navigated these hurdles, implementing advanced features and sophisticated meeting initialization flows to deliver a robust and user-friendly video conferencing experience.

With its global reach, cost-effectiveness, and robust security measures, Amazon Chime stands out as a powerful tool for modern business communication. By understanding its strengths and addressing its limitations, organizations can harness its full potential to facilitate seamless and efficient remote collaboration.

Contact ClearScale today to learn how we can customize your AWS cloud project.

Call us at 1-800-591-0442
Send us an email at sales@clearscale.com
Fill out a Contact Form
Read our Customer Case Studies