Using Open Source to Deploy a Proprietary Technology in the Online Video Space
The Problem: Showcasing a new Voice Analysis technology
The Client, a Chicago-area start-up with exclusive rights to package and market an innovative software-based Voice Analysis technology within the United States, sought to build a Web 2.0- oriented community video site. The site would feature entertaining, real-time analyses of statements made by prominent political, sports and entertainment celebrities. The challenges in creating this site included a compelling public interface, a unique media player that would synchronize the display of the media with a graphical analysis, and a complex administrative backend. To manage the process, the Client wanted to incorporate the collection of content from various sources with a workflow process that applied the Voice Analysis software to the content.
The Analysis: Supporting evolving requirements
With no experience in the rapidly changing online video space, the Client needed guidance in requirements definition and related issues. For example, due to legal and other considerations, the Client was unsure where the video content would ultimately come from when the site was deployed. As a consequence, the solution called for the development of a process that would support frequent and sometimes major change requests with minimal disruption or rework. Also, the media player, and any back-end media processing software, would need to support various media formats and sources, including the ability to stream content from other sites. As a minimally staffed start-up, the Client had no project support mechanisms in place and would be relying on PSC to implement appropriate project management and development methodologies.
The Solution: Combining Open Source with proprietary standards
PSC chose to build the base application using Python and Django. Python is a dynamic objectoriented programming language renowned for its productivity and flexibility, and is usedextensively in production at major Web players like Google and YouTube. Django is a Pythonbased open source Web framework ideally suited for the development of community Web sites that require content management functionality and Web 2.0 features such as RSS feeds, Ajaxinterface enhancements, and Web Services integration. Both technologies enabled rapid application development and support in an environment characterized by uncertainty and frequent change requests. Django specifically provided a solid foundation for the development of content management features needed to organize and maintain an online video site. Adobe Flex was chosen to build the unique media player, which is based on Flash, the industry standard for presentation of Web video. The player draws Voice Analysis data via Web Services calls to the Django application and synchronizes it with the playing of the video or audio.
Because the site was aimed at a general audience, it needed to tolerate high volumes of traffic. A hosting solution based on Red Hat Linux was architected, and included load-balancing hardware to support caching mechanisms implemented at the application level. Finally, the development process was supported by PSC's experience in agile development methodologies and associated tools like Trac, a leading Open Source project management and collaboration tool which facilitated task tracking and prioritizing, and communication among team members.