IPTV Application on Android platform Case Study
Our client is a US software company, and they were looking for an outsourcing company that can develop a new IPTV platform that is intuitive, dynamic and simple to use on smartphones to mainly serve the customers in the US. In an effort to boost its subscriber base through the introduction of the latest IPTV/OTT features and value-added services.
The client approached MeU Solutions with a request for an Android app (must optimize and compatible with both smartphones, tablets, and most recent Android versions) to give their customer easy access to their TV channels on mobile devices anywhere, and anytime. They will be able to choose Live TV streams, or they can select their favorite program from the TV program such as movies, theatre or shows. There are following challenges that the development team had to face up:
- Our major concerns were to ensure that the huge amount of content in the app stayed manageable for the client; stayed synchronizable with thousand program providers which the program links are dynamic and changeable at any time.
- The design and UI should be simple and attractive. A user should not experience any difficulties in using the app navigation.
- Scalability to handle a large user base: another major challenge was to build a platform robust in functionality with a scalable architecture. Being an IPTV application, it drew the interest of almost everyone in the US region. Hence, scalability was a critical aspect.
- To achieve high performance of the application even if a user has a slow Internet connection by reducing the amount of transmitted data.
- To account for the differences between a real device and emulator provided by Android SDK.
- Lack of devices that have different versions for testing and have to make sure that UX/UI and all functions work well. UI of the Android app may display inconsistent on each android version.
- Time to prepare and design for UI of the app is short and lacking document and requirement from the client.
The dev team took the first step of creating a list of requirements with the client via regular brainstorming sessions. Make a good plan with detail time and budget for designing, setting up the environment, developing front-end and back-end clearly. The requirements were then given a visual representation in terms of wireframes, which represented the probable user flow on the platform.
We then assigned relative priorities to the features for identifying the minimum viable product and kept the extra features out of the first release. This helped to keep the costs down and value high.
MeU designers created smart UI that allows the app users to access any function with a few clicks. Many functions were assigned to remote control buttons. Besides, to hold the innovative mood of the app’s overall visual style, we selected a color palette which includes various shades of white and light blue is the primary color for our application.
To ensure high performance of the app and avoid network delays, the developers came with some approaches to reduce the load on the server which helps to bring a good experience to the user with the slow network connection.
To ensure that the client will get a stable bug-free application that meets their needs, the QA team will apply Context-Driven Testing, Exploratory Testing combined with testing tools One2Explore (testing record tool) and One2Test (test management tool) – developed by our company to gain efficiency in learning and understanding the system while playing, exploring & testing the application. Besides that, the QA team also utilize the MeU Automation solution – called One2Automate to support regression testing which integrated test design, automation, and management tool and can be easily expanded and maintained with each new release cycle.
- Watch among hundreds of favorite US channels Live.
- TV schedule
- Watch TV shows
- Add channels and movies to “favorite”
- Watch recorded TV programs
- Select from the library of movies categorized by type, genre
- Display info about the programs and channels
- Get notifications on expired subscriptions etc.
- Payment and Subscription
- Manage user accounts
- Search and filter option
- Video player capable of decoding video in different formats
- Pull-to-refresh list
- Video streaming optimization depending on the connection speed
- Support Multilingual
- Manage User Profile
- Manage Users’ Credentials
- Setting up the user permissions for system access
- IP block
- Channel/Movie/Program Management
- Periodic checking of third-party server APIs to ensure their proper functioning for maximum system availability
- Manage membership
- Promo code management, Manage discounts and offers
- Payment Gateway Integration
- Sale report generation
The platform development started with building a mobile version for the users, while the administrative side was managed on a custom developed back-end. The technologies used were:
Android OS support:
4 to 4.4 and above
Android Studio 2.2
Android Supported Devices:
800*480, 1280*720, 1920*1080, 720*1280, …
English, Vietnamese, China, Spanish,…
IE 9.0+, Mozilla, Chrome, Safari
Server Specification: AWS cloud infrastructure: EC 2 – Instance, S3, Linux OS-Ubuntu Install
CI and CD: Jenkins, Dockers
The following results have been achieved in our project:
- Website optimization for availability in low bandwidth situations
- The customer has got a stable bug-free application that meets the needs of their clients for watching movies, theatre or shows.
- The user can easily pay for the subscriptions through payment gateway of their choice like PayPal, credit cards etc.
- The application’s architecture has the potential to be upgraded to the future versions with the review, rating and comment feature, support to cast the mobile screen to the TV, support voice control and gesture navigation…