Real-time Text/Audio to Video/PPT Convertor Tablet App

Categories : All, Media and Entertainment

Client Requirement

Client required the following:
  • White board and ability to record text and audio.
  • Maximum 6 pages for presentation.
  • Options to change font, color scheme etc.
  • Clear board feature.
  • Social network integration.
  • Support for multiple video formats.
  • Interactive user interface.
  • Timely synchronization between audio and video.
  • Video upload from Device to Board web server.
  • One time user registration is required if user wants to upload the video to board server.

This is a tablet application created to run on both iPad and Android-based operating systems.

This application can be used for multiple purposes including corporate meetings and e-learning. purposes

Client wanted to launch an innovative concept of automatic video creation out of text written on the board.

The application is also capable of capturing audio.

Real-time Text/Audio to Video/PPT Convertor Tablet App application provides a digital white board.

Whatever a user writes on the board and speaks while writing gets recorded in the form of presentation which can be used for future reference shared on social networking sites or emailed to intended users.

Project Challenges

Team faced the following challenges:
  • Recording of audio and text in the background to create MPEG video.
  • Timely audio-video synchronization.
  • Sync between the web application and phone device.
  • Smooth writing on the board while video recording is occurring.

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 Xcode 4.2.1, Objective C, Core Data Framework, iOS SDK 5.0, MVC etc.
Database SQLLite Database Server, DB Clustering, DB Optimization, Master Slave Replication, Query Optimization, Scheduler for Backups


Project Leader 1
Developers 2
Designers 1
Quality Assurance Testers 1


The following development approach was adopted to equip the site with nume rous features and functionality mentioned below:
  • Development – High Level Coding Standards were followed for managing backup data volume. Simultaneously, synchronization with server for recent data modulations was also performed.
  • Syncing existing and newly available data for backup with our database required specific attention. This helped in result generation.
  • Designing the application interaction and flow for user-friendliness and interactivity.


Application Life Cycle

image 1

The application life cycle constitutes the sequence of 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 to launch your application by calling its main function. From this point on, the bulk of the initialization work is handed over to UI Kit which loads the application’s user interface and readies its event loop. During the event loop, UI Kit coordinates the delivery of events to your custom objects and responds to commands issued by your application. When the user performs an action that would cause your application to quit, UI Kit 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, UI Kit sends specific messages to the application’s delegate object to let it know what is happening. During the event loop, UI Kit dispatches events to your application’s custom event handlers.

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 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 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 the application’s main thread and is w here the UI Application object sets up the main run loop and configures the application’s event -handling code. Figure shows the relationship of the 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

1.Model: The model object knows about all the data that need to be displayed. It is model who is aware about all the operations that can be applied to transform that object. It only represents the data of an application. The model represents enterprise data and the business rules that govern access to and updates of this data. Model is not aware about the presentation data and how that data will be displayed to the browser.

2.View: The view represents the presentation of the application. The view object refers to the model. It uses the query methods of the model to obtain the contents and renders it. The view is not dependent on the application logic. It remains same if there is any modification in the business logic. In other words, we can say that it is the responsibility of the view’s to maintain the consistency in its presentation when the model changes.

3. Controller: Whenever the user sends a request for something then it always go through the controller. The controller is responsible for intercepting the requests from view and passes it to the model for the appropriate action. After the action has been taken on the data, the controller is responsible for directing the appropriate view to the user. In GUIs, the views and the controllers often work very closely together.


Development Highlights

This application for iPad is built around objective C and core data framework. This application was also made compatible to iOS SDK 5.1 at a later stage. Almost all the modules are developed using foundation, core graphics, UI KIT and AVAssetWriter framework. All the user interface items are placed in view controllers and are linked with the controller files project along with the outlets, actions of the UI element. Integration of various 3rd party tools was required. The site was developed and fully functional within a span of 3 months.

[Total: 1    Average: 5/5]

Client Saying

If you're starting a new business or want to upgrade an existing site, I strongly recommend Brainvire. The employees are...
Mr. Manjesh Singh
Brainvire is a professional company with professional developers who understand the problems that we are facing as a company. Outsourcing...
Mr. Clarke Verdel
Daniel Coburn, the president of gives the honest opinion regarding his experience working with Brainvire for developing his social...
Mr. Daniel Coburn
BIG THANK YOU to Brainvire team for all their smart work and fantastic services. We are very pleased with the...
Mr. Greg Pietsch
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 [ + ]