Case Study: Narrowcasting network project
The client is a Netherlands-based software house specializing in custom software solutions,
and building software to improve customer communication and business processes.
Narrowcasting network is a brand-new type of digital media designed to reach target portions of the public.
They employ selective broadcasts of media-rich content to a variety of types of "receivers".
These receivers are typically television, computer monitor, or flat screen display such as plasma display panels (PDPs)
or liquid crystal displays (LCDs) with a multimedia player attached.
This project was an online narrowcasting network. There were three major parts:
- Front office application for audience
- Back office application serving the Front office application and supporting the internal processes
- Media player playing a schedule of play list of a certain channel
This project was intended for small and midsized companies. The problem was these companies cannot start a project to
roll out a narrowcasting TV channel. Companies can subscribe to the network and start their own TV channel.
They would be able to buy programs and show them on screens in customized look & feel (specific colors, logo etc.).
- Visual studio 2005
- .NET Framework 3.0
- 3rd components: Rhino Mocks
- Xceed Component
- FTP & UDP
- UML Tool: Enterprise Architect 7.0
Nova participated in this project from the analysis phase, and went through design,
development, implementation and testing.
According to the requirements, in order to make the project development transparent and improve the quality and reduce the risk,
we adopted agile development methodology and VSTS (Visual Studio 2005 Team System) during the whole project development process.
- Front office application
The front office provided service for the customers through website such as account management and resources purchasing
- Back office application
The Back office was used to monitor the players and the distribution. It will log and escalate on certain events.
- Media Player
The media player was Windows oriented PC. It would play schedules of play lists which contain various programs.
The communication between the media player and network was conducted by XML messages. The network would create a Smill xml
(http://www.w3.org/AudioVideo/) to communicate about the schedule and play list.
The media player can support Flash Program and Mpeg Program. As our flash engineers had created a flash framework,
the client can create customized flash based on this framework. The media player can communicate with flash program and control
flash program's behaviors. The player software and the programs can communicate with the network system by web services and ftp communication.
Challenges of the development process
- The client did not get the requirements clearly specified at first because he was not the end customer and
he needed to clarify these requirements with his customers.
We added discussions in Top Team so that we could clarify everything in details. To ensure communication efficiency,
our Project Manager had conference call with the client twice a week. We created a document to list our understanding on
the requirements for the client's confirmation. We also made a prototype before implementation, and adjusted our design
based on the client's feedback. Another step was to deliver the product as soon as possible. Once we implemented a part of the product,
we sent a version to the client for confirmation.
- The project was for a brand-new domain, there are not many of success solutions to reference.
We spent a lot of time to investigate which solution to choose, and actively communicated with our client,
for every design was passed our client confirm.
- The stability of Player is important, requiring the player working in order for many months without crash.
We were care about the performance of player and used code analysis tool to check and improve our code.
To make the player working a long time, we wrote one simple program to change the Web Server's files,
so the player could synchronize files from Web Server.
Benefits to the Client
- Low development and maintenance cost compared with onshore development team.
- Practical and efficient development methodology guarantees a flexible implementation process and reliable quality.
- The architecture framework was developed based on the .Net Framework and three-mode, but we enhanced it with more usability
and application-specific architectural features.
- The system is more stable, easier to be extended and maintained.