Requirements
The task of the Elinext development team was to develop a mobile application on an Android (API version 10) platform for asteroid range devices: Asteroid Tablet and Asteroid Smart. It was decided to assign one developer to work on this application.
Challenge
The application should be created from scratch using a public web service API, it should follow GUI guidelines, meet reliability and robustness requirements, use internal MediaPlayer application, and connect to the embedded Voice Recognition system. The first challenge for our developer was to implement work with a public API web server, then to organize a playback of streaming media via media player. One of the requirements was to encrypt all music and media data on sd-card storage.
The second challenge for our developer was to integrate the application into an internal Voice recognition system, to have a voice search of artists, tracks, and playlists. As an Asteroid device uses a mobile internet, it should be very sensitive to listening for network changes, should be able to cache data and deal with connections lost during the application run.
For our designers, the challenge was to rewrite a revised vision of the original design into Asteroid platform way of GUI, to be coherent with all other applications. The application should support day/night modes (to switch into inverse colors).
Solution
A special library was created for all application screens to have a similar view of all elements, like list views, and to support day/night switching easily. Music stream downloading was organized as two separate threads, one for the current track, second for the next one, to predict and pre-cache the next media.
Results
The final product of the development is a fully functional application for Asteroid devices. We have overviewed the original Android application and enriched it with additional functionality. The main features of the application:
- Multi-users accounts management – to switch between users, store the previous login, autologin on next application start
- Heavy rotation section - to browse the most popular content for a user, their friends, or the whole site
- Charts section - to get the site-wide most popular items for a given type
- New releases section - to view new albums released across a timeframe
- Collection section - to view and play tracks or playlists to the current user’s collection
- Playlists section - to view and manage users playlists
- Search (with keeping search history) for artists, tracks, playlists
- Playing queue - to discover the current playlist
- Voice recognition - application meets the requirements of internal voice recognition engine, thus artists, albums, and tracks could be searched with voice
- Day/Night mode - switching into an inverse schema
- The application was translated into 10 languages