As a Solutions Architect at Agora based in Europe, Joe Pritchard helps companies of all sizes integrate video and audio streaming into their applications. Before Agora, Joe worked on media applications for various tech & media companies including Twitter, where he launched live streaming projects with some of the largest organizations in the world.
Live streaming is now commonplace in many types of applications including social media, dating, education, workplace tools, live events, healthcare, banking & ecommerce. Companies integrate these features directly into their own applications rather than use external services, to have full control over branding, UX, security, user authentication, monetization and more. This also allows them to innovate by adding custom engagement features.
Integrating live streaming into your application doesn’t have to be complicated, but there are some key steps that will help you succeed:
1. Form a close partnership with your vendor’s technical teams
- Get advice from the technical experts that know the platform best.
- Ask Sales teams about the different technical resources available to help on your project. For example, Solutions Architects, Sales Engineers and Developer Evangelists.
- Collect a list of developer support resources like public Slack channels, Stack Overflow links and Best Practice Articles and share these with your team.
2. Pick the right development foundations
- A good vendor will offer a wide range of resources to help you get started: demo projects, quick start guides, comprehensive API docs and tools for building app templates. Share these with your team, then decide together on the best foundations for your use-case, capabilities, team size and stage of project.
- If your team is familiar with a particular framework to develop their native applications (e.g React Native, Flutter, Electron), be sure to review carefully what the vendor offers before starting development.
- Take a look at community developed projects (for example on GitHub), before building any significant new add-ons. It may be that the community has already solved the same requirement.
- If you are trying to decide between mobile web or native mobile applications, review your vendor’s mobile web support guidelines.
3. Consider security best practices from the outset
- Look out for security resources like best practice guides. Have your security team and developers read the documentation and consider this as they start to design your solution.
- Check if your vendor offers best practice/code reviews, especially if you have specific requirements (e.g. for HIPPA compliance).
- Understand any data processing or storage considerations before starting development.
- Make a security checklist and review this prior to going live.
4. Have clear requirements and responsibilities across teams
- Design for user experience first, but ensure your Business, Product and Engineering teams are all clear on pricing models/calculations and how UI designs and configurations can impact cost as you scale. For example, vendors typically charge based on resolution or bandwidth, which is directly related to the video settings you use and your number of streams.
- Consider in advance any shared back-end functionality that you will need and agree on who will be implementing it. For example, back-end API services for Analytics, Admin, Recording, or User Authentication. If you have a separate back-end team, ensure they are prepared for any dependencies they need to contribute.
- Consider design differences for Mobile vs. Desktop. Design your mobile UI’s to show fewer video windows than desktop, to account potentially lower CPU and bandwidth. Ask your provider for best practice guidance on this subject.
5. Test using the devices and networks your customers will be using
- Test streaming from the environments your users will be in. For example, by simulating low bandwidth or from mobile networks.
- If you support web users on mobile, be sure to test this and review any known limitations vs. Desktop or Native.
- If you are working with end users in high security environments like (banks, military, schools, corporate networks), check with your provider if any further configurations or customer whitelisting will be necessary.
- If you plan to perform load testing, discuss with your vendor in advance, to make sure they are prepared for the excess resource.
6. Give your users streaming advice and test tools
- Suggest that your users connect to fast/reliable networks where possible.
- Guide your users to use the right equipment: External cameras and microphones can offer professional studio quality, in-built cameras and mics can provide a more real ‘live’ experience.
- Offer tools to help your users test their setup before going live (for example a bandwidth/network check, camera check, microphone check).
- Ensure your users are using a supported device/OS. Give them advice in advance and ensure your app tells users if their setup is not supported.
7. Prepare carefully for launch
- Before going live, look at the support options your vendor provides and consider what is right for the size and nature of your business. A good support service will have plans that give you access to named contacts, 24/7 support, code reviews etc.
- Get familiar with Analytics services before launching. Ask for a demo of these tools for both business and technical teams.
- After going live, be sure to stay in touch with any vendor contacts you make, to stay on top of any new products, features, and beta testing opportunities.
Advice and resources for an Agora integration
Agora’s Real-Time Engagement Platform provides reliable worldwide live streaming with ultra-low latency, scalability, and flexible interactive features. Our easy-to-embed APIs, broad range of SDKs, and partner ecosystem help you embed voice, video, real-time messaging and recording solutions quickly and cost-effectively.
Here are some useful links to help you make a success of your Agora integration:
- Get started with our demo projects, API docs, quick start guides or our new App Builder (BETA) tool.
- Get help from our technical teams via our public Slack channels, Stack Overflow, articles and Events.
- Consider whether to use our native iOS and Android SDK’s or frameworks like Flutter and React Native.
- Read our pricing calculation pages, to see how the resolution of the video that you choose in your code affects the pricing.
- Check out our Community GitHub for more projects/add-ons.
- Try out our Analytics Dashboards/Products before launching and share these with business and technical colleagues.
- Discuss with your teams, which of our back-end API’s you will need and who will integrate them: Cloud Recording REST API, Authentication Token/Server, Admin/Console REST API’s.
- Review and implement our security best practice.
- If you are operating in high security / corporate environments, please review our firewall guidance before launching.
- Our enhanced support plans can guarantee you high touch support, direct access to named Solutions Architects and Customer Success Engineers, code reviews & best practice advice.
- Get in touch with our Sales team to learn more about the technical assistance we can provide for your company.