Speeding Up Delivery, Localization, and Performance of a Rich-Media Christmas App
A Canadian company engaged with Altoros to introduce new multimedia features to its holiday-season app for children, as well as improve performance and accelerate time-to-market.
Summary
Brief results of the cooperation:
- The enhanced functionality and new games within the greetings app were successfully launched right before Christmas—enabling the customer to maximize its profit during the peak season.
- With a simple localization manager, it is now easier to add new languages to the app.
- An improved sound-processing algorithm implemented in one of the games ensured better voice recognition—compared to existing analogues that often fail to detect a child’s speech correctly.
The customer
The customer is a Canadian software vendor that focuses on real-time multimedia apps for entertainment. The company’s major project is the Christmas application that enables users to create personalized video greetings from Santa Claus. The customer donates 5% of their web purchases to children’s hospitals around the world.
The need
Initially, the company turned to Altoros to develop dynamic personalization forms for its mobile greetings app (which had already been operating for a couple of years). The dynamic forms were to collect the name of a child, the matter of congratulation, brief wishes from parents, etc.
Satisfied with the results, the customer asked Altoros to implement a new module that would record a video of a child’s reaction to Santa greetings. The company also wanted to add new rich-media games and localize the app into three more languages: German, Italian, and Japanese.
Under tight deadlines, it was crucial to deliver the updates into production by the holiday season—to maximize the audience.
The challenges
The development team faced the following challenges:
- A custom solution was required for localization, since non-European languages (such as Japanese) differ in structure/layout/etc.
- The module for recording a child’s reaction needed to process large video files (sized 500–600 MB each) without affecting app performance.
- The quality of the existing sound services was unsatisfactory for the project—very often it was poorly detecting what a child had said. So, the developers had to ensure top-notch voice recognition.
The solution
To meet the tight deadline, Altoros provided the customer with a balanced engineering team—structured to have the tasks finalized within the period of time available. The team relied on the Scrum methodology, releasing updates in frequent iterations.
A simple (yet handy) localization manager created from scratch reduced the time needed to add new languages to the app. This was especially important for localizing to Japanese, which appeared to be tricky. The localization manager saves all translations into a key-value data storage, then binding relevant language pairs via XML on installation.
To process large-size recordings (containing children's reactions to greetings) without affecting software performance, the videos are cached to a local storage first. (The storage is created automatically in a device’s internal memory upon the app’s download.) From the cache, videos are then sent to a server in the background mode.
For the game involving a talking elf, developers at Altoros designed a speech detection manager, crafting a custom sound-processing algorithm. After identifying a decibel level matching a child’s voice, the tool cuts out irrelevant audio segments. The algorithm then converts the voice into an elf speech, changing the signal pitch, input playback rate, and audio playback rate appropriately.
Finally, our developers ensured continuous integration by employing Travis CI. This platform automated the testing and delivery of builds, accelerating deployment by 3 times. The time needed to build a release—assembled on a daily basis—was reduced from 1.5 hours to 30 mins.
The outcome
With the balanced-team approach, continuous integration, and other established engineering practices, Altoros was able to deliver the greetings app a week before Christmas. The timely release enabled the customer to maximize its profit during the peak season. The product can already boast of several million downloads around the world—with 125+ million videos viewed.
The localization manager—built from scratch—facilitates extending localization even to non-European languages. In addition to English, Spanish, and French, three more languages are now available: German, Italian, and Japanese.
The customer is now planning to enter the Eastern Europe markets.
Platforms
iOS, Android
Programming language
Objective-C, C++, Java
Frameworks and tools
iOS: AFNetworking, Crashlytics, FBSDKLoginKit, Travis CI, AVAssetImageGenerator, AVFoundation, Core Data Android: Volley, Picasso, Travis CI, Image Cropping, com.googlecode.mp4parser Android Support Library
Database
DocumentDB
Seeking a solution like this?
Contact us and get a quote within 24 hours
