Mobile-based Online TV Guide

Categories : All, Media and Entertainment, Mobile and Wireless

Client Requirement


This application is developed for multiple mobile platforms such as iPad, iPhone and Android.Moreover, it’s an extensively used website offering detailed information about TV channels and programs. It’s an advanced TV guide with user-friendly interface that offers ease of tracking programs and schedules. It is loaded with unique features such as Set Reminder, Explore, Advanced Search, Customize App and so on.

The purpose of Mobile-based Online TV Guide application is to give wide range of entertainment industry’s update to visitors and application users in nomenclature term we named it as “Mobile TV Guide” application. Client was intensively concentrating on the huge lists of images, banners, guide information from the server, reminders, featured or recommended programs, scheduled programs, connectivity between mobile, email and text message functions along with a transparent level of graphical representations. All the latest programs, movies or channel updates should get updated within some seconds so that the user has not to wait for results to get loaded on the device.

Client was more keen and concerned about the GUI (Graphical User Interface) of the background images with their respective categories, schedules, reminder set (if any), notifications via other sources such as Email, SMS, Calendar Alarms etc. Specifically, if a user desires to use all the above- mentioned features from this Mob App then guest user needs to register with the system.

There is a constant interaction between the web services, database services and LIVE App during runtime. On each refresh, application fetches all the required and relevant information within NO time. After logging in to the web section, users can view “Our Picks” section which displays the top TV programs or the programs in demand. The website also shows the list of Movies and Programs played currently. It shows full TV listing and top recommendations as well.

iPad Application: The iPad version of the application shows an enhanced view of the programs on logging in. It displays all the modules at once. On tapping these modules, it provides a grid view of the functionalities within the tapped module. The grid view later takes user to the details of the tapped program. The application offers the search option right on the Home Screen for users to navigate and find programs easily.

Defined each primary module and sections in brief of this iPad Application are as follows:

Web Section: Home Screen shows Pick of the Week, TV listings, Now Playing Programs and Menu to explore the web application. It also offers an advanced search option and an option to categorize and narrow the search.

iPad Section: The iPad section displays the modules and easy-to-use interface. It provides an advanced search box and several functionalities such as favorites, set reminder, menu, channels and search at the bottom of the screen.

Preferences: Used to set user preference of the program or movie he wants to find.

Favorites: Allows users to set their favorite channel or program in the favorite list.

Reminders: Users can set a reminder for the movie or program they want to watch. Reminder section provides two options: reminder via email or reminder via SMS. If both options are selected it will remind the user in both ways. User must register with the phone no. and email.

Upcoming Programs: This is a unique module for iPad which shows the list of upcoming programs or the programs which are due to go live on TV and its schedule. The Admin Section also has Research and Analysts interfaces as well. Both work functionality is similar to Manage Stock Experiences. It allows admin to re-format whenever the contents or stock records are getting updated. Research and Analysts section will also view the latest update in users account and user can view the same with different animation effects in his/her web or mobile tablet accounts.

Profiles: Account Information will display the details of user’s favorite program and the profile status.Personal Information section lists user’s personal details; for example: First Name, Last Name, Display Name, Gender, Age, Profession and Education. Added feature is ‘TV Preferences’ that allows selecting preferred languages and an option to sign up for XMLTV same preference has been applied to Communication Devices obtaining the features such as Email, SMS, Calendar Alarm etc. As mentioned about the reminders, application allows setting up reminder for user’s favorite programs. It also provides various options for setting the reminder such as SMS reminder, Email reminder and Repeat Reminder along with update and delete option. Favorite Channels/Program settings display the list of selected favorite channels and program performed as a scheduled in the application device.

Main Categories of the application: Channels, TV Listings, Best of TV, Movies on TV.

Channels are divided into categories for ease of the search. The categories are: English Movies, Hindi Movies, Kids, Entertainment and DTH/Cable operator. TV Listings module is specially designed to provide grid-view of all the programs on various channels and its schedule. Module also offers an option to customize your TV channel guide by selecting Channel Type, Date and Time of the Day from the drop down. Best of TV displays the best or the most followed Bollywood movies, Hollywood movies, Sports, Kids or Trending Programs according to the user selection. It also shows YouTube videos or promos of the best movies. Movies on TV module are specially designed for the movie fans. It offers a grid-view of all the movies showed on all the channels. On click, the movie image takes the user to its detailed information and schedule. It provides advanced categorization technique. Users can narrow their view by selecting one from this Week, Today and Tomorrow and Weekend. They can also select from All day, Playing now, Morning, Afternoon and Prime time.

Project Challenges

Team faced the following challenges:
  • Allowing the site to handle millions of users at the same time without slowing down.
  • Speeding up at all interfaces and instances to fetch as much distinguished data sets from the server.
  • Incorporating web usability principles while developing numerous features designed for enhancing the users’ community networking experience.
  • Harmonizing the simultaneous execution of various integrated features and options while maintaining consistent load balance.
  • Synchronization with Web Account, Database Servers and Mobile Tablet evolving the huge range of categories.
  • Major criteria and challenge for us was to create a fresh look and feel which should not get distracted and disturbed at any level of ratio.
  • As this application database requires huge level of synchronization between the devices and the web server, we have opted for a separate server just for fetching all the graphics level of aesthetics required and routed to the application.
  • We also need to have a synchronization of different dimensions of the images every time the page gets reloaded/refreshed with the server. Dimensions are being defined in 380×480 and 1000×860 and more.
  • Generic Code Development has been implied due to a high level of security and requirement.
  • We also have to generate an internal indigenous feature to recognize user’s application devices and then work accordingly with the device compatibility.

Technologies Used

Operating System & Server Management iOS & android OS, Multi-Server Architecture with Staging & Production Environment through Version Controlling releases, Server Optimization, Security & SSL Implementation, Scheduler for Back-ups, Alert Monitoring System Integration, Server Performance Tuning at regular intervals, Software Firewall Configuration & Maintenance
Development Tools & Environments PHP5, Xignite, Stock Editor, JSON, Java Script, Objective C, Flash,iOS SDK, Xcode 4.0.2, Open Ears & Facebook Connect Libraries etc.
Database MYSQL Database Server, DB Clustering, DB Optimization, Master Slave Replication, Query Optimization, Scheduler for Backups


Project Leader 1
Developers 4
Designers 2
Quality Assurance Testers 2


The following development approach was adopted to equip the site with numerous features and functionality mentioned below:
  • Research and analysis were scheduled in order to get the actual level of output of data to implement the infinite number of scheduling, program features and categorization to be covered by the application and can be manageable when it reaches the end users.
  • Development: High Level Coding Standards were followed pertaining to the images, graphics and row, columns simultaneously synchronization with the server for recent updates.
  • A reminder to get automatically executed at the scheduled timeslot, the system system prompts the activities on the respective user’s device.
  • The User Interface Layer which performs the Graphical User Interface of the website and Mobile Application.
  • Proper synchronization of the connectivity and interaction between the web servers and database were planned where the images are being placed.
  • How to manage the huge and different dimensions of the images that are categorized without any leakage. The images should produce the thumbnail or larger view of display.

Architecture & Block Diagram

Application Life Cycle

The application life cycle constitutes the sequence of the events that occurs between the launch and termination of your application. In iPhone/iPad OS, the user launches the application by tapping its icon on the Home screen. Shortly after the tap occurs, the system displays some transitional graphics and proceeds proceeds to launch your application by calling its main function. From this point on, the bulk of the initialization work is handed over to UIKit which loads the application’s user interface and readies its event loop. During the event loop, UIKit coordinates the delivery of events to your custom objects and responds to commands issued by your application. When the user performs an an action that would cause your application to quit, UIKit notifies your application and begins the termination process.

The following figure depicts the simplified life cycle of an iPhone application. This diagram shows the sequence of events that occur from the time the application starts up to the time it quits. At initialization and termination, UIKit sends specific messages messages to the application’s delegate object to let it know what is happening. During the event
event loop, UIKit dispatches events to your application’s custom event handlers.

Figure: Application life cycle


Event Handling Cycle

After the UI Application main function initializes the application, it starts the infrastructure needed to manage the application’s event and drawing cycle which is depicted in the following figure. As the user interacts with a device, iPhone/iPad OS detects touch events and places them in the application’s event queue. The event-handling event handling infrastructure of the UI Application object takes each event off the top of this queue and delivers it to the object that best suited to handle it. For example, a touch event occurring in a button would be delivered to the corresponding button object. Events can also be delivered to controller objects and other objects indirectly responsible for handling touch events in the application.



Figure: The event and drawing cycle


In the iPhone OS Multi-Touch Touch event model, touch data is encapsulated in a single event object (UI Event). To track individual touches, the event object contains touch objects (UI Touch) one for each finger that is touching the screen. As the user places fingers on the screen, moves them around and finally removes them from the screen the system reports the changes for each finger in the corresponding touch object.

When it launches an application, the system creates both a process and a single thread for that application. This initial thread becomes becomes the application’s main thread and is where the UI Application object sets up the main run loop and configures the application’s event-handling event code. Figure 1-.2.2 shows the relationship of the event-handling event handling code to the main run loop.Touch events sent by the system are queued until they can be processed by the application’s main run loop.

Figure: Processing events in the main run loop


[Total: 1    Average: 5/5]

Client Saying

I am truly happy with Brainvire’s exceptional service. Whenever I had a question they answered it without delay. With extreme...
Mr. Richard Desilva
I just want to say it's truly worth investing in services of Brainvire. They gave me what I required and...
Mr. Vinay Saini
Just wanted to say massive thanks for all the help from the Brainvire team. After years of having a website...
Mr. Rohit Singla
Daniel Coburn, the president of gives the honest opinion regarding his experience working with Brainvire for developing his social...
Mr. Daniel Coburn
Brainvire completed the job professionally and with an interest to solve the actual root problem I was having. They demonstrated...
Mr. Timothy Drylie

Latest Happenings

  • 04 Oct 2016
    Brainvire Making great Strides with Symfony Development Services [ + ]
  • 29 Sep 2016
    Brainvire augments its List of Offerings with Magento Sears Integration Services [ + ]