According to Bizzabo report
, 60% of smartphone users use their devices to attend online conferences. At the same time, the number of such people is constantly growing, both due to the recent pandemic and social distancing, and because video calls provide ample opportunities for communication within an organization or between groups. All of this creates a great environment for building your own application
like Zoom or Google Meet. And in this article we will tell you how to do it and what you need to do.
Step 1: choose a project niche
The first decision you must make when launching your online platform
is choosing your target niche. Such a niche can be any direction of human activity where people have to communicate with each other at a distance, from business and scientific consultations to children's get-togethers and book parties. The main thing is that the chosen niche is large enough.
Niche selection will affect many aspects of development
. For example, an online conferencing application might target children, adults, or seniors. An application for children should have an interface as simple and clear as possible, as well as bright. If the application is aimed at people between the ages of 20 and 50, then the interface should be clear, concise, and functional. In turn, the interface for the elderly should take into account possible problems with vision, speed of perception and coordination of movements.
Also, your application can be focused on some kind of field of activity. For example, to conduct school lessons or meetings of neighbors, where they will solve issues related to the arrangement of a street or area. In the first case, you need to implement two user roles (teacher and student) with different rights and capabilities, while in the second case, you need to implement only one user role with identical rights and capabilities.
In addition, the application for organizing online lessons
will be more focused on showing various educational materials (pictures, videos, graphs) and various interactivity related to learning (tests, voting, presentations). And the neighbors conference app will be more focused on voting and financial transactions, for example, to raise money to improve street lighting or equip a park nearby.
Step 2: study your target audience
Scale usability of the system for four popular solutions for organizing online conferences. Source
After you choose a niche to launch your application
, you need to analyze your target audience: demographics, preferences, habits, the necessary ways of interacting with other participants in online conferences, the desired functionality and the application monetization model. All this will help you understand what kind of software you need to develop so that users like it and bring significant profits.
There are several ways to study your target audience:
- Analysis of competitors. Examining popular online conferencing apps can help you understand which designs and features are popular with users and which ones cause negative reactions.
- Open sources. On the Internet, you can find quite a lot of different marketing and statistical data on a wide variety of target audiences, including users of online conferencing applications. You can use these sources to analyze the target audience of your project.
- Own research. You can also organize surveys, focus groups, A / B testing and other events yourself to help you understand what software your target audience needs.
- Special tools. These can be special applications for collecting feedback (Appcues, Usabilla), heatmap analysis (Crazy Egg, Hotjar), analytical tools (Google Analytics, Heap Analytics) or application usability testing tools (Lookback, PingPong).
- Custom Big Data. These are very, very large sets of (usually) unstructured data about user behavior when interacting with search engines, applications, services and organizations.
Step 3: define the characteristics of the application
. Users are usually too busy to fill out large registration forms, so keep them as short and simple as possible. You can add only the most necessary fields, such as name, phone number, email. Also add integration with all major social networks for even more convenience (Gmail, Apple, Facebook, Twitter).
If the application is aimed at young children, then registration of new users can be done as in Facebook Messenger Kids. In this video calling app
, parents create a profile for their child through their account and associate it with their device. At the same time, a parent can see almost everything that his child does, writes, sends or downloads.
. This section displays general information about the user. The specific list of information and settings depends on the niche and target audience. Typically, these are login information (login, password), contact information, social media profiles, payment information, friends list, etc.
Search and add contacts
. Implementation of this feature requires two functions: a search engine with filters for easy navigation and quick search of other platform participants by account name, phone number or real name, as well as the integration of contacts from the phone book of the user's device.
Displaying contact status
. Users should have a mechanism by which they can determine if the time is right to communicate with other users and organize an online conference. There is no need to invent something new here, it is enough to create your own version of statuses (online, available, busy, away, etc.) from popular social networks and instant messengers - this is easier, cheaper, faster, and more familiar to users.
In-app text chat.
Almost all applications add the ability to communicate using text chat inside the conference, some - directly with each other. In addition to such conveniences as receiving confirmation from a contact that they are ready to participate in a conference, chat is also useful when you need to ask something from meeting participants without distracting the speaker. You can also send images, videos, text documents and other files via chat.
Video and audio calls
. It will be strange if you develop an application
for online conferencing and do not add the ability to communicate via audio or video between two people. With this feature, conference participants will be able to connect with individuals to clarify important points for them.
Group video calls
. This is, in fact, the main function of all online conferencing applications, since it is it that is responsible for their work. How exactly you need to organize the work of this function depends on the niche and target audience. In addition, you also need to take into account the monetization model, since most services deliberately limit the maximum number of conference participants and the opportunities available to them, in order to then sell them at extra cost.
List of conference attendees.
Organizers and attendees usually want to know who will be attending the conference. This is how they can prepare questions or identify who they can connect with at the conference.
. They will inform users about new messages, upcoming conferences, sent files, termination of a subscription, platform update and other important things. You can implement push notifications both from scratch and using third-party tools: Twilio or Firebase.
This opportunity increases communication efficiency and improves customer experience as it creates significantly more opportunities for collaboration on projects.
Noise blocking, noise reduction.
This feature detects and suppresses (removes from the video stream) distracting noises such as keyboard clicking, paper rustling, chair creaking, noise of traffic outside the window or fan.
. With this function, the application will be able to encrypt messages on the user's device and decrypt it on the recipient's device. This way you can ensure the privacy of your users and provide your application with a secure service tag. Usually AES-256 and HMAC-SHA256 protocols are used for encryption.
This option allows the user to change the background to an image or video from provided templates or downloaded files. A very useful feature if you need to hold a conference and visually present data (tables, graphs, images, etc.). This function is also often used to hide the mess in your apartment.
Stickers, masks and emojis.
Help make chat more lively and personalized as people can express their feelings.
This feature allows you to monetize apps by selling subscriptions, premium features or premium emojis.
Step 4: pick a technology stack and API
The scheme of interaction of the video SDK with the application client. Source
Front-end. It includes tools for developing mobile applications, with the help of which they create the user interface and all other elements with which the end user interacts. Usually this are:
. This is the server side, in the case of an online conferencing platform, it is mainly responsible for video streaming, which usually happens through the next five stages:
- Capture. A camera on the user's device captures information or raw video data visually.
- Segmentation. The video today contains a lot of information, which can take a long time to send it over the Internet in the “as is” format. Therefore, streaming video is first divided into small fragments (usually 2-3 seconds) - segmented, only after that is transmitted via the Internet.
- Compression and encoding. The compression process removes redundant data in the video stream to reduce file size and thus speed up transmission. Encoding is changing the format of video streaming data to standard video formats such as H.264, HEVC, VP9, or AV1.
- Distribution via CDN. Streaming from a source server located in a specific geographic location can cause delays and increase server load. To avoid delays, you will need a CDN (Content Delivery Network) of servers that cache and serve content, not the origin server. CDN eliminates streaming from the origin server and makes live broadcasts available to many users from different locations with minimum delay.
- Decoding and displaying. At the last stage, users' devices receive streaming video and decompress it. Then the video player in the smartphone merges the video fragments and plays it on the screen.
To implement these processes in the backend of an online conferencing application, you need a special protocol, for example, WebRTC. For CDN integration, it usually integrates with Google CDN service, which uses HTTP (S) load balancing as the source of cached content and static and / or dynamic content via a single global IP address. The cloud service in this case is likely to be Google Cloud Platform, and the database is Mongodb.
API (Application Programming Interface)
. A set of solutions for connecting external and internal interfaces, as well as integrating third-party services that extend the functionality of the application. The specific set of integrations depends on the type of application, its functionality and additional capabilities.
Here are the APIs you can use to create an online conferencing application:
Step 5: get started with product development
It is best to create an application for online conferencing through custom development, since only in this way you can ensure a high quality product with reliable protection of user data.