DEV Community

Digital Samba
Digital Samba

Posted on

Custom-built vs. Prebuilt: What's the Difference?

Video communication has become integral to our daily lives—there's simply no avoiding it. If you're a product owner keen to incorporate video conferencing into your SaaS application, you have many approaches. In earlier times, the choice was straightforward: Zoom or Teams. However, the market has expanded significantly, and various methods for seamlessly integrating video conferencing have since evolved.

In the ensuing discussion, we'll explore embedded technologies and provide an overview of available options. Not every solution will meet your business needs. Indeed, you might find it more suitable to launch Zoom or Teams from your user interface, which is perfectly acceptable. However, it's crucial to make such a decision consciously.

Understanding embedded video conferencing solutions

There are standalone video conferencing tools and platforms that enable embedding a video conferencing solution directly into your application.
We're all familiar with standalone tools like Zoom, Google Meet, and Microsoft Teams (commonly called "off the shelf" or OTS tools). While embedding an OTS tool is possible, it doesn't represent a truly embedded solution. It often necessitates meeting management via admin screens and the hardcoding of static meeting links into your code. We will not delve into the merits of this approach here.
A genuinely embeddable video conferencing platform offers access to an API and SDK comprising three key components:

  • Embed code: You integrate the video conference into your application by inserting a few "embed code" lines into your source code.
  • Setup and administration: Your code utilises the platform’s API for administrative tasks, such as setting the initial parameters of the embedded video conference or retrieving a meeting's chat summary. Consider the API a programmatic interface to the platform’s administrative features—functions typically accessed via admin screens in an OTS tool.
  • On-page interaction: Once active, your code employs the platform’s SDK to manage the live video conference. The SDK enables you to create custom UI elements to control aspects of the live conference, such as a button in your application that can mute a stream or toggle the visibility of a certain element in the video conference.

Types of embedded video conferencing platforms

There are several paths to exploring an embedded video conferencing solution, but they fall into two main categories.

You might construct the entire system—or significant portions of it—yourself. We refer to this as the custom-built approach. This method affords much flexibility but comes with higher financial and time investments.

Alternatively, you could utilise a prebuilt embedded platform with extensive functionality. We call this the prebuilt approach. This method is faster, though you may have to compromise on some flexibility.

Let’s explore these two approaches in more detail.

Understanding custom-built video conferencing solutions

A custom-built solution means you are effectively developing your embedded video conferencing system from the ground up. There are two subtypes within the custom-built category:

Complete in-house build

If you're particularly ambitious and can allocate several years, you might start by creating your own media server. Alternatively, you could begin your in-house build by choosing an existing media server, such as Janus, Jitsi, or Mediasoup. These low-level media servers provide the essential functionality required to transmit and receive streams.

You will need to develop all the collaborative logic yourself. This includes writing frontend code to capture the webcam in the browser, convert it into a stream, connect to the media server, transmit the stream to the server, and then develop backend logic to direct other users to where they can access the stream for viewing.

You’ll also need to create code for room creation and management, bandwidth management, scaling, error detection and correction, and numerous other low-level backend tasks.

After establishing these foundations, you can introduce basic stream-related features (e.g., muting) and elementary conferencing features (e.g., video tile layouts). This forms a basic video conference setup.

If you need collaborative features like a participant list or chat, you will also have to develop them yourself.

In essence, you are building everything from scratch.

Custom build using a low-level VPaaS

Instead of starting with a media server, you could choose a Video Platform as a Service (VPaaS) provider, such as Agora, Daily, Vonage, or Twilio. These platforms are still relatively low-level but simplify some initial video streaming logic.

Your task begins by arranging the video elements in your user interface and then progresses to coding basic stream controls, such as muting.

Next, you can develop more advanced application logic—the 'brain' of your application—such as the video layout engine, user role management, and scaling logic.

Finally, if your use case requires it, you must build collaborative features, including a participant list, chat, whiteboard, polling, question and answer sections, and more.

Thus, the process is extensive whether you opt for a completely custom build or use a low-level VPaaS. The benefit is flexibility; you can do anything you want, but you must build it yourself.

Advantages of custom-built solutions:

  • Complete flexibility to implement your core logic and architecture.
  • Full control over implementing end-user features.
  • Total control over the codebase.
  • Capability to accommodate highly specific or complex use cases.

Limitations of custom-built solutions:

  • Significant costs for software development, maintenance, and infrastructure.
  • There is a need to develop both core application logic and a range of basic to advanced conferencing features.
  • A highly competent development team is required.
  • Diversion of focus from other areas of your SaaS product development.

Understanding prebuilt video conferencing solutions

Prebuilt solutions represent higher-level VPaaS offerings (such as Digital Samba, Whereby, or Daily-Prebuilt). The term 'prebuilt' means that various components you would otherwise need to develop yourself are already constructed for you. Decisions have been made on your behalf. There is a broad spectrum of prebuilt solutions available, making them challenging to categorise in terms of visible features and the architectural and logical decisions made by the vendor or platform.

The feature range in prebuilt solutions varies widely: some are minimalistic, while others are feature-rich. Some may align with your needs, while others may make choices that are incompatible with your requirements (for instance, they might implement a video layout that simply doesn't suit your application).

Prebuilt solutions might limit some flexibility, but they offer significant advantages like quicker deployment times and reduced development and maintenance costs.

Advantages of prebuilt solutions:

  • Rapid market readiness.
  • Reduced development costs, focusing only on integration and its maintenance.
  • Allows focus to remain on other areas of your SaaS product development.
  • Predictable operational costs once integration is complete.

General limitations of prebuilt solutions:

  • Limited or no influence over vendor decisions.
  • Little or no control over the vendor’s development roadmap.
  • No control over the video conferencing codebase.
  • Potential lack of necessary features.
  • May lack detailed control options.

Key differences between custom-built and prebuilt

Maybe you’d like to see that information in a table, so here it is - https://www.digitalsamba.com/blog/custom-built-vs-prebuilt-what-is-the-difference

When to consider building a custom solution

  • You need to control the entire codebase.
  • Your use case is highly specific and cannot be met by prebuilt options.
  • Your SaaS product itself is a video conferencing tool.

When to consider choosing a prebuilt solution

  • Speed is crucial.
  • A prebuilt provider meets most of your requirements, and you can develop the missing components yourself.
  • Your development team lacks expertise in real-time communication.
  • You wish to keep your focus on your core business activities.

Prebuilt does not mean inferior

It's important to acknowledge the extensive variety of prebuilt solutions available on the market. Before opting for a custom-built solution, it’s worthwhile to conduct thorough research. Video technology is complex—very complex.

The key to successfully implementing a prebuilt solution:

  • The provider must make well-considered decisions that satisfy the majority, indicating deep market experience. This isn't just about feature choices but also essential architecture like role management, video layouts, room creation, room scaling, and bandwidth management.
  • The provider should also strive to make the system flexible through configurable settings, helping to alleviate some of the limitations imposed by these "well-considered decisions." However, it's important to note that some architectural choices may not be adjustable post-deployment.
  • To cater to a broad range of use cases, the prebuilt solution should be rich in features but not overly complex. The provider must clearly communicate that these features are available if needed but can also be disabled easily for simpler applications.

No prebuilt vendor can make decisions that will satisfy everyone completely, and settings are not as adaptable as creating something tailored precisely to your specifications.

However, a prebuilt solution that makes intelligent choices and offers the ability to tweak these decisions with appropriate settings can offer a degree of flexibility close to that of a custom-built solution. Ultimately, the suitability of a prebuilt solution depends on your specific needs.

Digital Samba: more than just a prebuilt solution

If you're new to this field and are considering a custom-built approach, ensure it's absolutely the right choice for you. How? Dedicate an hour or two to embed Digital Samba, explore the decisions we've made, and experiment with the features we offer. The time you invest here is minimal compared to what you’d spend developing a custom solution. But at least you’ll be making that decision with the full confidence that prebuilt isn't the right path for you.

If you've already opted for a prebuilt solution, consider Digital Samba as your embedded option. Our company originated in standalone video conferencing, and we've undergone the rigorous process of developing a custom-built OTS product from scratch. It’s safe to say we understand both the custom-built and prebuilt realms.

With 20 years of experience, we've incorporated all the expected features of an OTS video conferencing product into a highly customisable prebuilt platform. Our long-standing experience in the market enables us to make well-informed prebuilt decisions that suit almost any use case—likely yours as well. Why not give us a try?

Top comments (0)