top of page
Search

Agora.io, the New Way to Incorporate Communication Services

  • Writer: Juan Rosales
    Juan Rosales
  • Mar 29, 2019
  • 3 min read

If you’re a relatively new developer like myself, chances are you probably already have a couple projects under your belt. Whether it’s purely mathematical like data collecting or more design orientated like games, the projects we have shape our current experiences and knowledge. With that being said however, there is also a good chance that newer developers, like myself, are probably unfamiliar or have little familiarity when it comes to real-time broadcasting. While it may seem more of a niche than a necessity, the fact of the matter is that technology and software is becoming more and more orientated around human connections. As a result, it’s becoming more and more imperative to keep up with demand and learn the necessary software and principles to implement communication services in our projects. While the thought of working with clients, servers, and networking can seem scary at first, there is a better, much simpler way to incorporate communication services: Agora.io and their revolutionary software product.

Agora.io is an industry-leading communications platform company with a goal to revolutionize person to person interactions across the globe. Staying true to their mission, Agora.io prides itself on its ability to accomodate developers of all skill levels and backgrounds. More specifically, their beginner friendly SDKs provide developers with an efficient yet feasible approach to implementing real-time broadcasting into various projects. So whether you’re a newcomer in the gaming industry, a professional retail analyst or somewhere in between, Agora.io’s product aims to incorporate human interaction into your next big project.

Agora.io provides several easy to follow guides on their website including how to install and create a simple video chat app here. The guide has clear step by step instructions with plenty of illustrations to indicate where to place our objects and what starter code to use when building it. Agora.io also offers clear and easy to read documentations for their SDK. The starting code combined with the documentations is simple enough to construct a fully functional video chat app within 2-3 hours while also being versatile enough to give users the liberty to experiment with their new video chats. In fact, the tutorial, documentations, and SDK combined are so beginner friendly that I spent more time customizing and polishing my video chat app than actually trying to set it up and its functionality.

Once I managed to set up a basic, functional video chat, the first thing I wanted to do was add some more functionality. Because of how simple the SDK is, I was able to add a functional mute/unmute voice option and an enabled/disabled video option in under 30 minutes. Afterwards, I focused on visual appeal to make it more engaging. So I decorated the chat with visually appealing UI buttons, non-obstructive text and backgrounds of nature and the oceans.

Main menu of my video chat app Chat server of my video chat app

Once that was completed, I then wanted to focus on adjusting the scale and placements of the UI in such a way that it would come out organized and clean regardless of each device’s individual dimensions and orientation. While a bit challenging at first, the resolution problem was solved by installing a universal resolution within the code for all devices to follow. As for the orientation aspect, that part was solved by encoding logic that detects whether users are holding their devices in portrait or landscape positions and then adjusting the current resolution so as to match said current position.

My app in three different devices with three different dimensions

The last major thing was that I wanted the video chat to be able to organize all the caller videos into an organized layout regardless of the number of current callers. More importantly, I wanted that layout to constantly adjust itself as other users entered or exited the call. This is the part that I got stuck on the most but eventually I figured that the best way to go about it was to create a list and display it under the user’s video. More importantly, the list would adjust the size of every other caller in the list according to the number of callers at that moment in time so that all callers could fit in a designated space regardless of the total number of callers. After some trial and error, I was finally able to create this layout similar to how other video chat services layout their callers and videos.

Screen shot of a video chat Screen shot after new caller enters

So to conclude, despite never working with real-time broadcasting, I was able to create and polish my very own video chat app in about a day and a half. Agora.io’s product is very developer friendly and a revolutionary step in modernizing communications world wide in development. As someone who likes exploring new approaches to old problems and discovering new tools, I would highly recommend Agora.io’s SDK to both promising and experienced developers alike.


 
 
 

Follow

  • linkedin
  • twitter
  • facebook
bottom of page