Case Study

Audiobook SDK Application

Q3 develops an Audiobook SDK for a European company that provides IT solutions for disabled.

Q3's global sourcing model gives the maximum benefit to customers in terms of cost savings, improved quality, access to highly talented professionals, flexibility of operations and reduced time to market.

Company Profile

The client is focused on providing IT solutions for the disabled. The client provides standard IT solutions for people with literacy problems in Sweden and other European countries.

Business Situation

The client needed to build an Audiobook Reader Application that could read the basic audiobook formats available in the market. The client required this to be a highly extendable system to which new formats could be added without changing the underlying design. For this purpose, the client needed the software to be broken down into the SDK and Frontend Application.


Challenges

  • The SDK needed to be extremely basic to use in order to add new formats to the system.
  • The application needed to be generic and extendable to add new formats to it.
  • The audiobook format needed to be understood and overhauled completely to create our own application specific format.
  • The application needed to cater to various Windows specific platforms.
  • There was a business constraint on the project schedule from the client's end, which made the timelines very aggressive.

 

Technical Solution

Q3 realized the importance of delivering a quality product within the stringent timeline constraints of the client, and mobilized a team of Windows developers and proposed an N-Layer .Net based architecture with Unity Framework, Enterprise Library, Microsoft Speech APIs and NAudio Library. The application consists of two parts. The SDK is a 3-Layer system with the following components:

  • Service Layer: This layer consisted of methods that the SDK exposed to the frontend application.
  • Business Layer: This layer contained all the logic of the SDK and consisted of the following:
    • File Parsers
    • Audio Player
    • Preference Manager
    • Session Manager
    • Bookmark Manager
  • File Access Layer: This layer provided access to the files to be read from the file system for parsing.

The frontend application was a Windows Application which provided GUI functionalities and relied on the SDK Services for all the logical functionalities.

This enabled us to provide an extendable solution that made it very easy to integrate new formats by writing new format specific parsers. The use of Unity Framework as a Dependency Injection Framework enabled dynamic binding of the parsers to the application, thus removing the need to recompile the application every time a new parser was added.

 

Technologies

Architectural Component Technologies/Frameworks
Language
  • C# .Net
Target development OS
  • Windows XP (32 & 64 bit)
  • Windows Vista (32 & 64 bit)
  • Windows 7 (32 & 64 bit)
  • Windows Server 2003 (32 & 64 bit)
  • Windows Server 2008 (32 & 64 bit)
Client layer
  • Standard Windows Application
Application layer
  • Net Framework 4.0
  • Unity Framework 2.0 (Microsoft Enterprise Library 4.0)
  • Logging and Exception Handling Application Blocks
  • Microsoft Speech API 5.1
  • NAudio Library
File access layer
  • Microsoft .Net File Handling APIs
Tools
  • Microsoft Visual Studio 2010
  • SVN Source Control


Customer Speaks

blockquoteIn this difficult economic environment, Symfo decided to outsource one of its most critical developments to Q3 Tech. We were definitely reluctant doing so at the beginning of the project. But rapidly we understood that Q3 had the necessary skills and professionalism to bring the project to a successful realization. It was not always easy primarily because of the differences of culture. However once we understood each other, things went much better. We also understood that such a difficult project needed intense communications between Q3 and our company. Our company works on two time zones (Europe and East Coast North America) and we were amazed by the availability of the Project Manager and his team. It really contributed improving communications between us.

Phase I of our product is now ready and we are quite happy with it. We are definitely ready to start Phase II with Q3 and we highly recommend them.blockquote

Serge Bodart
CEO, Symfo SA, Belgium.