Building a Video App: What to Consider Before You Start

September 27, 2022
Written by
Twilion
Reviewed by
Twilion
Twilion
Twilion
Twilion
Twilion

How to Create a Video App Part 1

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.

Today’s customers expect to have the ability to engage with brands via video. In fact, 66% of consumers reported that their video usage has only increased since the start of the pandemic. Almost overnight, consumers had to depend on video to attend school and work, connect with their loved ones, and do business with their favorite brands.

While the pandemic might be behind us, the customer behavior and expectations that developed during that time have remained. And many businesses have taken note, creating their own video apps to interact with and engage customers.

But, building or buying a video app is no small undertaking. When you decide to join the video movement, it’s important to have a full understanding of your budget, resources, timeline, use case, and more so you can build the best solution for your customers. In this post, we discuss the top business and planning concerns you need to consider before starting your video project.

Budget

Along with standard budget concerns for the typical project, integrating video involves unique budgeting concerns of its own. First, the good news: Twilio’s COVID-19 Digital Engagement Report found that 79% of businesses increased their budget for digital transformation as a result of the pandemic. This means many companies have increased their investment in channels like video.

Now, let’s break down your budget. You’ll want to account for typical costs like staff compensation, hardware costs, and software costs. However, keep in mind that your choice of video platform will significantly impact your budget, so prepare accordingly. In the next sections, you'll see how.

Choosing The Right Provider

Providers with Host-Based Pricing

An out-of-the-box video conference solution like Zoom has host-based pricing. Their offering does not require the user to download and run an application, but their pricing is based on the number of hosts and users connected to a given session. With tiered per-user fees, storage fees for recording videos, and licensing fees, the costs will add up quickly.

Twilio

Twilio Video has a different approach. Rather than offering a video application, Video lets your business build one-of-a-kind video applications using our communication APIs—all the essential components required to integrate audio, video, and chat within existing products and systems. To implement video with Twilio, you call the APIs from your existing codebase, whether on-prem or in the cloud.

Twilio’s pricing approach is different since they provide these building blocks used to incorporate video. Twilio charges by participants per minute for the video streams and recordings rather than the number of users acting as hosts. There are storage costs too, though they are significantly lower than that of a service like Zoom.

For more information on calculating costs with Twilio, check out this calculator.

Open Source Solutions (OSS)

For OSS pricing, WebRTC.ventures has a great list of options. In this case, your budget will focus on lower-level items, including:

  • Training or specialized consulting for understanding the video tech stack.
  • Development, testing, and maintenance—similar to that of any other custom build project.
  • Hosting, maintaining, and scaling the system.
  • Load testing to understand scaling needs for the platform, database, and shared file systems.
  • Operational overhead (for example, providing on-call support for your users).
  • Day 2 operations like troubleshooting video and connection issues at scale.

Build The Right Team Skills

Next, let’s look at your engineering team’s capabilities. You should evaluate your team’s video implementation skills and their experience building and maintaining large, complex systems that integrate across multiple platforms.

Overall, the main question usually boils down to this: Does your organization have the culture and skills necessary to build, deploy, support, and scale complex systems, or should your team rely on SaaS offerings and off-the-shelf software?

When utilizing an out-of-the-box provider, the ability to customize the user experience is limited, so most of your team’s work will be related to staffing the app. In other words, your team will mostly be there to ensure that agents and customers can quickly launch a chat session.

Twilio, on the other hand, allows for customized user experiences. So you will need a team that can integrate the Twilio APIs, but they'll do so with the benefit of its extensive documentation and SDKs. In fact, with Twilio, you can deploy your video collaboration app in five minutes or less.

OSS solutions, while attractive, can come with significant operational overhead and require specialized knowledge. It can be challenging to hire staff—both for your development team and for your DevOps/Infrastructure team—with the requisite expertise to build, deploy, and maintain for OSS.

Tech Platform

Next, let's look at the foundational choice of SaaS versus build-your-own when it comes to choosing how to create a video app.

Understand Your Platform Choices

As we noted above, choosing the right platform requires a deep understanding of your need for customization, the makeup of your team, and any organizational constraints around using OSS. To make this process a bit easier, let's look at a flowchart to help visualize what offering(s) may make the most sense.

A flowchart to help visualize which offering(s) may make the most sense for your business.
A flowchart to help visualize which offering(s) may make the most sense for your business.

We can see that especially critical is the ability (or inability) to manage at scale if your organization were to self-host. You need to be very confident that your organization needs a self-hosted solution. Hosting well will require the resources of a medium to large group to be successful.

Know Your APIs

If you decide to use a platform, you’ll need to consider that platform’s APIs or SDKs to ensure it works within your organization's stack. Twilio has SDKs for most languages (C#, Java, Node.js, PHP, Python, Ruby, Go) and multiple platforms (web, iOS, Android). We also provide quickstarts to demonstrate how to build a video application using our Programmable Video offering, requiring only your implementation of a UI/UX.

App Requirements

Next, you’ll need to understand the requirements of your actual video integration. Developers and designers need to mock up the user experience, highlight gaps in the selected platform, and ensure the implementation can deliver the expected value. Your engineering teams will need these details to help decide what platform or what pieces of each platform they will need to adopt.

This is a list of the typical scenarios you'll need to consider:

  • Will a 1:1 chat offering be sufficient, or do you need group chat, or a combination?
  • What will the standard user account features look like?
  • How will users register?
  • Will they connect via social sign-in?
  • Should they receive push notifications and be able to manage their profiles?
  • Will they need desktop access and mobile access?
  • Will your users need common video add-ons like screen sharing, whiteboards, or phone dial-in?
  • Will you offer end-to-end encryption?
  • What about data privacy or HIPAA compliance?
  • What screen resolutions will you support, and what levels of video quality?
  • If you plan to monetize your video, how will you guarantee certain levels of connectivity and service for your paying users?

User Experience

Lastly, you need to remember that you're not only seeking to create a memorable user experience, but you're also working with users’ preconceptions of how video should work.

Some important considerations include:

  • How will the video interaction be triggered? (for example, a button or link to start the session)
  • What kind of layout will the application use to show the various video streams, along with text chat or screen share?
  • Should you reuse a layout that feels familiar to users already experienced with video chat?
  • How might your layout differ between the 1:1 chat versus the group chat?
  • How might the group chat layout differ between a single speaker versus a speaker engaged in a screen share?
  • What accessibility features will we need?

Another key to user experience, both on desktop and mobile apps, is testing. At a high level, ensure your test plan includes:

  • Cross-device support
  • Different resolutions
  • Validating the impact of using a rotating screen
  • Different network conditions
  • Accessibility requirements

Learn How to Create a Video App With Our Guide

Building or buying a video app is no small feat. To make sure you’re prepared, download our full Building a Video App: What to Consider Before You Start guide for a closer look at all of the business and technical concerns you need to keep top of mind to build the best video app for your company and customers.

Or, jump to part two of this blog series, Building a Video App: How to Monitor and Scale Your Project, for additional topics to address after creating your video project plan.