Marjan Television Network (MTN) was established in 2009 as a platform from which to develop and launch a new television channel that would not only entertain but also capture the imagination of a Persian speaking audience. Its broad spectrum of content quickly gained an unprecedented following and fanbase amongst Persian-language web and satellite viewers. AVAMAE enjoy an ongoing relationship with MTN, working with them from the beginning to help it go from strength to strength in every aspect of its web operations since its launch.
Most recently, we were briefed with building a new website as well as native iOS and Android apps. The website and apps would act as focal points for the channel for a worldwide audience, hosting a range of engaging content. The client wanted a cohesive solution with a maintainable codebase to provide a solid foundation for future growth. We were given a User Experience (UX) and User Interface (UI) design created by a third-party to bring to life.
This was a big project which came with a couple of main challenges. The first was creating a robust, secure system which was also scalable. It needed to be able to manage large amounts of varying data, handle any security issues such as DDoS attacks and also have a maintainable codebase to allow for easy growth.
The second was reconciling the client's programming assets and schedule to suitably drive the web and app interfaces. The platform needed to deliver a variety of rich content easily and quickly, 24/7.
A secondary challenge was being able to adapt to changes in requirement throughout the project, to make sure that the result matched the client expectation within a reasonable timeframe.
We delivered a highly scalable, cloud-based platform, using a microservice architecture for maximum scalability. Each significant component is built as its own ASP.NET Core microservice with its own database and storage solution, using Docker containers deployed onto a Kubernetes cluster. A combination of Amazon CloudFront Content Delivery Network (CDN) and CloudFlare create a high level of resiliency, allowing the platform to manage large amounts of data remaining highly secure.
We ensured architectural consistency by employing a tree structure. The web and the native apps use React and React Native respectively, allowing us to deliver the rich User Experience we were given to produce by the third-party – including a clear right-to-left layout / navigation and content primarily in Farsi - and to consolidate the business logic required for both app types into a single code base. Using this technology meant that the web and native apps could share as much functionality as possible, making the codebase as maintainable as possible.
A real-time integration with MTN's broadcast management system, Broadview, allows for the network's schedule to be reflected on the platform in real time, making programmes available seamlessly. The integration's media rights management settings ensure that programme availability stays within in bounds of media-rights constraints. The integration with Amazon Web Services (AWS) enables media-distribution playback for live services and Video on Demand services. AWS Simple Queue Service (SQS) messaging automatically indicates when new media assets are available for streaming. The MTN team can manage their wide variety of content from their custom CMS, which allows them to push out changes to the web and app platforms quickly and easily.
We anticipated the need to accommodate changing requirements so proposed a managed services contract for this project. Running the project on a managed services contract allowed us to be flexible, adapting to evolving priorities and implementing changes quickly and efficiently, as and when needed.