Several years ago, Apriorit delivered a secure mobile device management (MDM) solution to our client, and we have been collaborating on projects ever since. So when our client needed to add a custom audio player to their MDM solution, they entrusted us with this task.
Apriorit specialists covered the full development cycle from initial requirements research to product support and post-release upgrades. With our help, the clientโs team could focus on tasks within their area of expertise and get a reliable, competitive, and convenient audio player.
The client
Our client is a US-based communications company that provides a mobile device management solution for organizations with strict security requirements. This solution allows their customers to securely manage Android devices and provide communication services to end users.
To make the MDM platform more competitive, our client decided to add a custom audio player for music and audiobooks.
The challenge
To be competitive in a saturated audio streaming market, our client required a solution that could:
- Provide the same convenience and audio playback features as the best audio streaming applications on the market
- Form pricing and process payments and refunds within the app
- Play music smoothly on devices with a poor internet connection
- Support both music streaming and playing locally stored audio files
- Comply with requirements of the music provider to access their music library
The result
Our client got two competitive Android apps for their MDM system: an audiobook player for uploaded books and a music player for streaming. The last app also successfully passed compliance testing with the music providerโs requirements. Thanks to that, the app can allow users to stream a wide variety of recordings.
After we added the apps to the MDM system, the client was able to deliver more services to their current users and attract new ones.
Our solution
Since we had already worked with this client on implementing the MDM system, our team had a good understanding of their business requirements, environment, and communication preferences. Thus, we could focus on the main task โ working on a technical solution for the media player.
After analyzing the clientโs requirements and API data from the music provider, we did the following:
- Offered to split one app into a separate audiobook player and music player
- Created basic architectures for the two apps
- Designed UIs for the apps
We suggested first delivering and integrating an audiobook player into the MDM system and then adding music player functionality to it. This way, we can more efficiently test audio playing features. As a result of the suggested action plan, the client could quickly add this functionality to their product and start offering a new Android app.
Once the client approved this plan, we gathered a team of Apriorit experts, selected a suitable tech stack, and started development.
Planning your own media delivery project?
Partner with Apriorit to get all the expertise and assistance you need.
How we did it
We divided the project into five stages that cover all key elements of the software development life cycle. Hereโs the roadmap that helped our team turn the clientโs vision into a competitive product:
Stage 1: Project discovery
Our team performed an initial analysis of the clientโs and providerโs requirements when the client first approached us with the idea of a new application for their MDM system. However, conducting a thorough project discovery phase helped us collect all project requirements, assess the competition, and identify risks to take into account during development.
In addition to eliciting requirements, we benchmarked popular audio streaming applications like Spotify and YouTube Music. The results provided us with target metrics for our appโs performance and an understanding of user expectations towards streaming services.
We identified the following technical challenges to address during development:
- Handling tens of thousands of requests per day on the provider side
- Processing and playing back a large number of tracks simultaneously with a poor internet connection
- Managing payments within the app
- Passing strict compliance requirements with the music provider
With these challenges in mind, we improved our initial architecture design and technical requirements for the app. We also created a delivery schedule.
Stage 2: Developing an audiobook player
After some research on available audio playing solutions, we chose ExoPlayer as the engine for our application. This open-source Android media player supports both playing local audio files and streaming audio. Itโs flexible and could be customized according to our clientโs requirements. An Apriorit designer also created a custom, intuitive UI for the player.
Our audiobook player allows MDM administrators to:
- Upload audio files
- Manage files via an admin panel
- Add and delete books from an internal app store of the MDM system
- Play audiobooks on end-user devices
Developing an audiobook player as a separate application allowed us to test the solution and verify the correctness of our technical approach. This also allowed our client to monetize the audiobook application right away while we kept working on the music player.
Related project
Improving a Windows Audio Driver to Obtain a WHQL Release Signature
Explore how we helped a British audio technology company improve the UI of their software, enhance their custom Windows driver, and get WHQL certified.
Stage 3: Developing a music player
We started work on a music player with improving the initial technical specification and creating the UI. Then, we implemented basic application components and a music search feature. To ensure that we implemented it correctly, we partially integrated the application with the music providerโs service and tested it on Android tablets.
Our tests and integrations were successful, so we started adding more features to the app, such as:
- Music purchasing
- Playback
- Music pricing management via the web page
Many users of our clientโs MDM system have a poor internet connection, which disrupts music streaming and detracts from the user experience. To address this issue, we implemented caching of popular songs on our Amazon S3 instance. Caching allowed the Apriorit team to improve the appโs performance, reduce infrastructure load, and ensure smooth streaming.
Finally, we fully integrated the app with the music provider.
Stage 4: Establishing compliance with the providerโs requirements
A crucial part of this project was to confirm that client solutions comply with provider requirements. We used a test account of the music providerโs service to integrate our app. It provided only limited access to music in the providerโs database. To get full access, we needed to comply with the providerโs requirements and buy a production account.
Compliance testing took one week. During this time, the music provider verified that our Android app provided the same quality of music purchasing and streaming as their own application. We also discussed several issues with the app on the providerโs side.
After successful compliance testing, our client started monetizing the new app and providing new services to their users.
Stage 5: Adding more features
We continued to enhance the app with new features after its release. The key features we added at the end of the project were:
- Internal reporting. This feature allows the client to generate various reports on audio player usage in their MDM system.
- Refunds. End users needed to be able to get refunds for purchases of content that had issues. During development, we encountered cases of double spending and cooperated with the music provider to solve this issue. Adding refunds improved end-user satisfaction with the app and helped the client avoid content-related risks.
The impact
Our decision to divide an audio player into two apps and release the audiobook feature first allowed the client to start monetizing the new player early. During the first couple of weeks after the final release, the client sold several thousand songs via their MDM system.
The new features we delivered helped the client to attract new end users, improve the competitiveness of their product, and monetize it in new ways.
Looking for a mobile and web development partner?
Reach out to leverage our experience in development, testing, and support of apps for these platforms.