Living Room Media Center

Software Development for multimedia content management for Media Center

Software per media center
The request

Our client company, a leader in the set-top box sector, was founded with the idea that TV would not remain a simple receiver of broadcasters’ content, but would become the interface for multimedia content coming from different sources (TV broadcasters, web, user’s personal videos, and photos).

The company has developed its own UI software stack—based on Linux and OpenGL and scriptable via Python—to be able to develop pioneering interfaces that allow the integration of all contents in a uniform manner, all while maintaining the peculiarities of each genre.

The collaboration request included using the client’s development framework to help their team build the set-top box software for large companies in the industry.

Challenges faced
Solutions implemented

Do you need support for the development of your new product?

Requirements
  • Develop Media Center content management software
  • Improve the internal development framework
  • Collaborate with off-site Italy-France teams
Develer’s contribution
  • Studied and developed a workflow shared among teams
  • Set a cycle of Agile iterations with daily feedback
  • Constructed a Media Center software emulator
Advantages of our solution

Advantages of our approach

Since the definitive hardware platform was not available until a processing phase that was very advanced, we created a complete emulator of the client’s graphic system that allowed us to develop the necessary software without having to wait for the hardware to be made (or without having to later do the porting on different hardware).

Thanks to the emulator and our operating method, we reduced the integration times to zero and introduced a complete and automated test suite of the final software with about 200 regression tests.

Our experience in developing and maintaining large applications was fundamental in order to contribute to the client’s framework with additions and improvements.

Advantages of open source

The fact that the client’s software stack, although proprietary, was based on open-source software was useful during the entire debugging phase: it was possible to inspect and profile the application with the standard tools for Linux (massif, valgrind) and Python (cProfile).

Staff

“Integrating Python for creating dynamic UIs—conceived by our client—is one of the most interesting technologies we have had the opportunity to work on. We’ve willingly faced the challenge of working with a French team composed of experts in the field and brought contributions worthy of the project in which we entered.”

Lorenzo Mancini Project manager @Develer