7 Simple ways to enhance the WebRTC user experience
If you’ve been following along with this WebRTC UX series, you now have some fundamentals under your belt. We’ve covered integrating WebRTC features seamlessly into your application, creating a great user experience for each step in a call, and designing around connectivity and bandwidth limitations. In this fifth and final post, we’ll look at ways to enhance the WebRTC experience, ensure user privacy and security, improve accessibility, and gather user feedback.
1. Text Chat (aka Multiple Communication Channels)
Although WebRTC is mostly about voice and video calling, its primary purpose is to make communication easier and more open. With that in mind, adding text chat to a WebRTC app makes perfect sense and enhances the experience by providing another format for communication. During a voice or video call, things will come up that are best communicated textually instead of verbally: URLs for web pages, text from a document or article, or commentary that shouldn’t interrupt the flow of the conversation. It is also a useful tool in debugging problems while on a call. If a user’s microphone isn’t working, for example, text chat provides an alternative channel to communicate the problem.
Text chat may be the primary form of communication for an app, with voice or video calling as the enhancement (think collaboration apps like HipChat or Slack). Don’t think of these channels as separate. Regardless of which feature is seen as the “supporting” one, having them all available provides important flexibility and makes your app more accessible. Text chat also provides more communication options beyond standard voice and video, which can be especially valuable to people with certain disabilities.
For users who are hard of hearing, video plus text chat allows for text-based conversation and realtime facial expressions and body language: important parts of conversation often taken for granted. This combination of features could be used similarly to a Video Relay Service (VRS). VRS assists calls between hearing and hearing-impaired people and enables natural conversation and the use of American Sign Language.
Text chat in combination with audio (with a screen reader) enables communication for users with vision or reading impairments. Consider how these different services in your application can be combined or used differently to support many types of users and communication styles.
2. Real-time Text
A further enhancement to basic text chat is real-time text. This feature displays words as they are being typed, instead of only displaying them once submitted. This helps communicate the nuances of conversation and language. Typing speed, pauses, mistakes, emphasis, and emotional weight are often lost when reading fully composed sentences. Real-time text is especially helpful for users with hearing impairments and is beneficial for hearing users too. Check out real-time text in action on Talky.io.
3. Screen Sharing
Another feature that enhances the WebRTC user experience is screen sharing, which gives users the ability to view another user’s desktop or a specific application. For team collaboration apps, this enables remote pair programming, group brainstorming meetings, and team feedback sessions. Educators can go through lessons with students and a company’s support representatives can walk a customer through an issue on their website. There are many more practical use cases and this extends the benefits of WebRTC and your application to a broader and more diverse audience.
4. File Sharing
Like screen sharing, file sharing builds upon the WebRTC experience. The ability to exchange files during a voice or video call opens many possibilities. A user speaking to an insurance rep could send a photo of a recent car accident and business colleagues could send each other documents they’re working on. Providing this service within your experience eliminates the need for users to hop into another app to share files.
With more and more apps surveilling and tracking their users, privacy is a big concern with voice and video calls on the web. Documentation is absolutely a part of the user experience and having a clear, easy-to-understand privacy and security policy is important. It should touch on relevant issues and explain how your application addresses them. Because privacy and security concepts can be difficult to understand, this is not an easy thing and should not be overlooked.
You should design privacy features into your voice and video calling too. For example, if a user mutes themselves or hides their video, another user should not be able to undo that. Users should feel confident that they can’t be seen or heard when they’ve activated those settings.
Private call sessions are another important feature. Allow users to lock a session with a password, ensuring that the people on the call are only those who should be. This adds another layer of privacy protection that builds trust in the user and their experience with your application.
6. Emergency Services
As more people turn to the web as their main medium for communication, things like emergency services must be considered. Many WebRTC APIs focus on building standalone applications and don’t recognize the importance of integrating with emergency response systems such as Enhanced 911 (E-911). One notable exception is AT&T WebRTC API.
E-911 serves to connect emergency callers with the public resources equipped to respond. Its efficacy is dependent on identifying and locating the caller and on the web that can be a bit more complicated than traditional phones. However, integrating with E-911 systems and providing this important service to users can set a WebRTC application apart from competition and position it as a serious communication tool, reaching far beyond its primary intended use.
7. Gathering Feedback
User feedback is crucial for designing excellent user experiences. Problems will happen and it’s great when users are encouraged to report them. Think about what kinds of questions to ask in a feedback form and when to prompt the user to answer them. For most calls, requesting feedback after the session is over makes sense. Users can provide comments on the quality of their experience and report anything they’d like to see improved. On the other hand, if a specific type of problem is detectable while a call is taking place, it can be beneficial to prompt the user for feedback while it’s happening.
Consider what details you can gather and include with this feedback. Detecting browser version could be helpful in fixing bugs, for example. Gathering automated statistics and performing post-call diagnostics will help identify problems and prioritize ongoing improvements. Things like new browser version incompatibility, device limitations, and user behavior will surface issues with your app; having good feedback systems in place makes maintaining a WebRTC application much easier.
Devices, browsers, and WebRTC are becoming more powerful and there is an exciting future for open communication on the web. New features and capabilities are popping up each day. What will you build with them?