JavaScript is disabled in your browser.
Please enable JavaScript settings in your browser to allow this website work correctly.
  • Android

Customer

An entertainment corporation with a worldwide network of theme parks and vacation resorts.

Problem

The client intended to upgrade its assistive listening and captioning enabled device used in numerous entertainment locations worldwide. Created in cooperation with Softeq over a decade ago, the solution had run its course, hitting the ceiling on software scalability, and the hardware had become obsolete.

Drawing on the success of previous collaborations with Softeq, the company’s proven mobile software development experience, and in-depth understanding of hardware, the client engaged the Softeq team to develop a more modern version of the outdated software designed to run on an Android device.

Solution

The solution consists of software operating on a third-party, custom-made, ruggedized, handheld device, based on Android. The device is equipped with additional hardware required to support the assistive technology functions for which it is designed: two IR transceivers, an FM receiver, tactile hardware buttons, and a custom charging/docking station. It is designed to enhance the experience of visiting amusement and entertainment venues for people with vision and hearing impairments by providing accessibility to the attraction content, along with supplementary information.

The application supports automatic playback of audio (e.g. mp3 files, FM broadcasting) and textual (e.g. captions) content in several foreign languages, including Asian languages, depending on the user’s location within a venue, which is identified based on the following parameters:

  • Reception of an infrared (IR) packet
  • GPS coordinates

In cases where a show is already in progress, the content playback will be synchronized with the external event based on special IR codes transmitted by a nearby emitter.

The application replaces the default Android launcher and prevents other apps from launching on the device. The minimum Android version supported by the application is v4.0 (Ice Cream Sandwich).

The customer required that the source code be very clearly documented with comments thoroughly describing algorithms and methodologies used. The same applied to the data files, which in addition to comments, were required to contain parameter usage examples.

The maximum synchronization lag allowed between the content playback and a currently running show was 1/30th of a second.

All the key application configuration variables and some critical functional behavior parameters are specified in a configuration file, which allows customization of the application without rebuilding it (e.g. log and log filter, data directories, default language, buzzer, display settings, etc.).

  • The UI of the application is completely configurable via XML-based configuration files. The localization system is implemented similar to that of Android, so it is possible to modify the colors, fonts, position, and backgrounds of UI controls very easily.
  • The UI configuration files allow creation of custom menus with predefined actions, such as opening of sub-menus, starting content playback, tuning FM frequencies, and more.
  • The captioning information, stored in XML files, contains slide duration parameters and HTML content.
  • The GPS mapping information is also stored in an XML file, which can be configured for geographic areas of various size and shape (rectangular and circular) to trigger content playback on the device, if a user enters or moves inside the designated area in a specific direction.

The app is supported by a desktop application, which works as a content authoring tool, providing caption content creation and editing.

Challenge

The team was confronted with a number of challenges, as follows:

  • Given the worldwide application of the new solution being developed, the team spent a significant amount of time assessing the implementation of required functional features against the use cases
  • Due to unavailability of the production device for testing the designed application, the team had to tap its hardware development expertise to create emulation tools that would enable IR, GPS, Battery, LED, FM, and Charging Dock emulation
  • Some modifications to the Android SDK were required to accommodate the custom hardware configuration of the device
  • Implementation of an internal trigger priority system to prioritize the event processing was required — GPS coordinates, IR packets, currently selected mode
  • Implementation of a Kiosk mode to lock down the app was required
  • Development of the SD card-based, application resource (content), utilization logic using a specially built resource management system
  • Implementation of the content playback system (e.g. audio, captions, FM radio), to enable precise synchronization with shows in progress was required
  • Because of a special user location detection algorithm, the app processes raw data received from the GPS unit
  • Development of a fully customizable UI to override the native Android UI system layouts was required

Methodology

The team employed a classical Waterfall software development model resulting in several deliveries — Alpha, Beta, Gamma, Release Candidate, and Final Production releases.

Results

Despite a rather strict delivery acceptance procedure adopted by the customer, their engineering team is very happy with the performance of the Softeq team and interim application deliveries.

The solution is intended for use at all of the customer’s entertainment locations visited by millions of multinational guests annually, worldwide.

How can we help you?