Building a Video App: The Complete Buyer’s Checklist

September 27, 2022
Written by
Reviewed by
Paul Kamp
Twilion
Lyssa Test
Twilion

Building a Video App: The Complete Buyer's Checklist

This article is for reference only. We're not onboarding new customers to Programmable Video. Existing customers can continue to use the product until December 5, 2024.


We recommend migrating your application to the API provided by our preferred video partner, Zoom. We've prepared this migration guide to assist you in minimizing any service disruption.

As businesses continue the transformation toward digital communication, video chat has become a prevalent tool. In fact, 66% of consumers report that their video usage increased or significantly increased since the start of the pandemic. In response, many businesses are prioritizing video to keep up with these evolving consumer preferences.

Whether it’s through video marketing, live streaming, or one-on-one conversations, video increases empathy and creates stronger connections with your customers—and that’s good for business.

But building a personalized video platform requires businesses to consider myriad concerns, from application requirements to technical implementation. In this post, we’ve provided a list of important considerations when building a video app.

We’ve divided these considerations into 3 main sections:

  1. Choosing a video API/SaaS provider
  2. Video app requirements
  3. Day two concerns

We’ll go through the most important questions to ask yourself before you build a video chat app and touch on common use cases for a personalized video platform.

1. Choosing a video API/SaaS provider

Choosing an API/SaaS offering lets you focus on platform features and integrations, off-loading the technical concerns regarding deployment and scalability to the provider. Here are the main questions to ask when considering video app platforms.

Does the provider have the APIs and SDKs to match the needs of your video app?

Once you’ve defined your video application’s requirements, you can evaluate which APIs and SDKs best fit your build specifications.

Twilio has back-end SDKs for most languages and platforms, including web, iOS, and Android. Plus, quickstart guides provide helpful guidance, especially if you’re new to using Programmable Video.

What types of video interactions does the platform offer?

Does the platform support one-on-one video calling or group video chat? Are group chats for collaboration or single-presenter sessions? Twilio’s Guide for the Impatient (in our Guide to High-Quality Video Applications) breaks down the recommended settings for these formats across platforms.

What are the provider’s capabilities and constraints regarding recordings?

If your platform needs to store video recordings, then you need to know where and how a SaaS provider will store the recordings. Twilio offers the ability to store recordings directly into Amazon S3.

What are the provider’s capabilities for encrypting video streams and stored recordings?

With Twilio, all communication streams traverse encrypted channels and include encryption at rest. It’s only in the composition process (of multiple video streams) or transcoding (for quality purposes) that videos can be decrypted in storage.

Twilio also allows you to configure encryption keys to ensure content is always stored encrypted. Only the holder of the encryption keys (you or someone on your engineering team) can decrypt encrypted content. That means no one else—not even Twilio—can access the decrypted content. This level of security is often necessary for telehealth platforms.

How easy is it to integrate additional features like whiteboards, chat, or phone-based dial-in?

During the COVID-19 pandemic, video chat applications became the norm. Because of this, users have come to expect certain add-ons as baseline features—such as whiteboards, screen sharing, and text chat.

Your app requirements will largely dictate what integrations you need from the API, SDK, or SaaS provider you choose.

2. Video app requirements

By defining your video app requirements, you’ll provide a clear structure to your application. Your design and engineering teams can use this guidance to define the user experience (UX), highlight gaps in the selected platform, and ensure the final implementation delivers the expected value.

What platform will you target—web, mobile, or both?

The end-user platform refers to how your customers will use your application, and the choice you make here impacts your project and timeline. So whichever platform(s) you choose, make sure your development platform supports your video application needs with SDKs in the languages your engineering teams use.

How will your users register and authenticate?

User account registration, login, authentication, and authorization are all critical concerns closely tied to your system’s security. Consider how your chosen provider handles these considerations.

For example, some platforms require clients to connect with a token generated by a server-side component. These tokens—generated with a secret—verify their authenticity. Twilio uses an API key secret for this and provides subaccounts and key levels for more granular authorization and permissions control.

What is your video use case—one-on-one chat, group chat, or a combination?

Again, consider your business needs and use cases. What kind of video interaction will your application offer? For customer service interactions, one-on-one video chat is usually sufficient. However, your business needs might require group video chat for collaboration or single-presenter formats.

Let’s look at the considerations for each use case.

Group video

Group video sessions allow you to facilitate meetings, conferences, or group learning environments. A platform that supports group video will need the following features:

  • Active speaker indicators
  • All-participant muting or disabling of participant cameras
  • Parallel-running text chat
  • Multiple-participant layout
  • Acoustic echo cancellation (AEC) and noise Suppression (NS)
  • Breakout rooms

One-on-one video chat

One-on-one video sessions are standard within the context of customer service, telehealth, and document electronic signing. This video format typically requires:

  • Add-ons, like screen sharing, whiteboards, or real-time collaboration tools
  • File sharing
  • Virtual or blurred background support
  • Recording and transcription

Whatever your business needs, Twilio Video provides a wide array of features—e.g. virtual backgrounds, customizable video chat layouts, video recording, text-based chat, and more—to match your use case.

Various video chat layout options.
Various video chat layout options.

What add-ons does your video chat app need to support?

Do you know which add-ons your platform needs to provide the memorable video experience your users expect? Will you need to support phone dial-in for audio-only participation?

Consider what integrations your platform solution can support. If you’re not building these tools in-house, you’ll need to ensure that the SaaS providers or APIs you choose provide easy integration.

Do you have encryption requirements for video chats and recordings? Do you need to comply with HIPAA?

Does your application need to support end-to-end encryption, deal with protected health information (PHI), or comply with Health Insurance Portability and Accountability Act (HIPAA) regulations? If that’s the case, Twilio will sign a Business Associate Addendum (BAA) to ensure that you can build a HIPAA-compliant video application.

How will you ensure that all users—regardless of device and network bandwidth—have an incredible experience?

Giving your users an optimal video experience means delivering what your users need, even if network bandwidth or device capabilities introduce constraints. By using Twilio’s Network Bandwidth Profile API, you can use resources more efficiently to prioritize video tracks.

If you want to monetize your application, what metrics will you utilize to track usage?

Do you plan to monetize your video application? If so, you’ll need to think through your pricing model and determine how you’ll capture the metrics needed to apply that pricing model. Will the cost to your users depend on the number of connected users, connection time, or some combination of both? Or, will you apply a flat rate or provide a subscription model?

Metrics regarding connection latency, video latency, and audio sync issues are also important. This data will help you understand how to fine-tune your application to honor your SLA.

Will you rely on the platform’s noise and echo cancellation features or need to build something specific?

Modern video chat can benefit from new technology, such as noise and echo cancellation. For example, some options leverage machine learning for an improved UX. So consider whether this is a feature your application will need.

What specifications do you have for video chat layout?

Because many customers already have experience with video chats, they’ll also have expectations about how a video application should look. How will you lay out your video chat for one-on-one video calls, group chats, or single-presenter formats? Additionally, how might your users’ devices impact those video layout choices? These are all important questions to consider.

How will you ensure that your application meets accessibility standards?

Regulations about accessibility for people with disabilities can differ among countries and regions. As a result, your business might have contractual requirements with customers, or your industry might dictate certain compliance requirements. Don’t overlook your application design to meet accessibility standards.

What is your testing plan to account for different devices, capabilities, and network bandwidth capacities?

With different use cases for platforms, devices, network connectivity, and other factors, your engineering team will need to conduct robust testing to ensure your application supports these cases. Ensure your test plan considers cross-device support, screen resolutions, screen rotation, and different network conditions.

How will you track customer satisfaction metrics, like CSAT and NPS?

Do you know if your customers feel fulfilled through your video chat application? You can find out by tracking customer satisfaction scores (CSAT) through surveys administered by SMS or email.

Additionally, a net promoter score (NPS) survey asks customers whether they would recommend you to their friends or colleagues. Tracking these metrics will help you identify the challenges your customers face with the product, giving you insight into how to address those challenges.

3. Day Two concerns

These questions will help you create a plan to address further concerns after your application goes live, including observability, visualization dashboards, and long-term storage. It’s best to establish that plan before you go live.

What telemetry will your system expose, and how easy will it be to access and integrate this telemetry?

Your system can generate a wealth of data that provides insight into usage patterns, issues, and opportunities for improvement. Consider the tools you’ll need to help you capture, filter through, and understand that data.

After collecting that data across your entire system, you may also benefit from exporting it to a centralized application performance monitoring platform. Additionally, you’ll need to consider the ease of integration with such a platform.

How can you correlate events across internal systems and the video chat platform?

Many events in your application, such as a user’s sign-on, result in requests and processes firing across your servers and distributed resources. If you use a tool like OpenTelemetry for instrumenting your application, you can then use a request ID header to bring visibility to events that happen within and across your system.

What dashboards do you need to visualize data on usage and resource consumption?

With your metrics, logs, and traces all in a centralized location, your team will need dashboard visualizations to make sense of the data. Dashboards will allow your team to see critical data, such as:

  • Active users
  • Types of video sessions running
  • Platforms and devices used
  • Core resource consumption
  • And more

You can also leverage webhooks when building your video platform, enabling you to collect data for key user events like room creation, session activity, and recordings. Twilio puts this data at your fingertips with Video Insights, which is available out of the box for group, P2P, and WebRTC Go developers.

Twilio’s Video Insights Dashboard
Twilio’s Video Insights Dashboard

How will the team track storage usage? When will old recordings be put into cold storage or deleted?

Your budget will dictate storage limits for video recordings. For example, some host-based providers offer a storage limit per host. Twilio, on the other hand, charges a low flat rate of GB stored per day. As part of your application requirements design, consider whether you might implement time-based automatic deletion or cold storage archiving. Doing so will help manage storage needs and costs.

Build a personalized video app with Twilio

The COVID-19 pandemic has accelerated digital communication strategy by six years, with applications that support video chat fast becoming the norm. By considering the questions we’ve outlined in this article, your team can put a plan in place to build a customized video chat application that delivers an unrivaled UX for your customers.

But before you start building, download our full Building a Video App: The Complete Buyer’s Checklist for our full list of questions and considerations to keep in mind. Then, when you’re ready to build a personalized video app, contact us to get started. We’re here to help!

This is the third and final installment of our Building a Video App blog series. For more detailed advice on what to consider as you build your own app, check out part one, Building a Video App: What to Consider Before You Start, and part two, Building a Video App: How to Monitor and Scale Your Project.