Music Streaming App
Type: Mobile development
Requirements: The task of Elinext development team was to develop a mobile application on 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, with 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 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 internal Voice recognition system, to have a voice search of artists, tracks and playlists. As 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 connection lost during application run.
For our designer the challenge was to rewrite a revised vision of 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 current track, second for the next one, to predict and pre-cache 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 the additional functionality. The main features of the application:
- Multi users accounts management – to switch between users, store 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 a requirements of internal voice recognition engine, thus artists, albums and tracks could be searched with voice
- Day/night mode – switching into inverse schema
- The application was translated into 10 languages