DevTeam.Space Product Development Blog

Explore our in-depth product development tutorials and new technology announcements published by our software development experts

All articles

How to Develop a Music Application?

The free market economy has many interesting characteristics. One such characteristic is that it eventually makes differentiated products and services commoditized. Just a few hundred years ago, only the ruling elites or nobility could listen to top artists’ music. Commoners had to be content with wandering village musicians. Free market economy and technology now have made top artists just a smartphone tap away!

Music streaming revenue will reach US $ 11.4 billion by the time 2018 ends. With a ’Compound Annual Growth Rate‘ (CAGR) of 6.6%, it will be a US $ 14.78 billion market by 2022. Read about this statistics in this Statista music streaming report. Bookish economics knowledge may prompt some to comment that such commoditization of a special art isn’t desired since it might undervalue talent. However, the free market economy shows the other side of it, which is that an increasing number of artists can now reach a global audience. The pie is bigger, so to speak, whereas the supremely talented artists will anyway command a much larger audience!

Music apps allow upcoming artists to reach a wider audience, besides they enable the top artists to reach a much bigger mass market. These apps made a difference. You can also make a mark in this space with your music app. I will explain how to develop a music application in this article.

Contents

Music app licensing requirements
Music app features
Tools for making a music app
Managing the mobile backend of your music app

Music app licensing requirements

 

Let‘s clear the legal hurdles first! To create a music streaming app, you first need to get licenses. In the US, to meet the copyright regulations, you can apply for a license with ’American Society of Composers, Authors, and Publishers‘ (ASCAP). ’Broadcast Music Incorporated‘ (BMI) is another option for you in the US.

If you are operating from Europe, apply with ’European Stage Authors and Composers‘ (SESAC). In India, ’Phonographic Performance Ltd.‘ (PPL) issues licenses upon application. Check with appropriate authorities for your jurisdiction.

Music app features

The market for music apps is a competitive one. To attract audiences and retain them you need to offer features that matter. The statistics portal ’Statista‘ has collated a report on the features the audiences prefer in the US. Here is the list of key features in the order of importance:

  1. The variety of music available.
  2. Compatibility across multiple devices.
  3. Easy-to-use ’user interface‘ (UI).
  4. Ease of finding new music.
  5. To what extent does the app allow users to combine their music and streaming libraries.
  6. The ability stream on smart home devices.
  7. Curated playlists.
  8. Featured artists and exclusive playlists of them.

You can read the Statista report here.

Top music app examples

You might need some design ideas when you build an app like Spotify. I recommend that you check out the following popular music apps:

  • Spotify: This is one of the most popular music apps. Users can follow artists, additionally, they can sync music from their desktop. They can view music by browsing lists, furthermore, they can search for artists and albums. Users can add their favorite songs to Spotify music library to play them later. It’s available on both Android and iOS, besides, the Windows platform is also supported. Kindle Fire, Windows desktop, and Mac desktop versions are also available.
  • SoundCloud: Another highly popular music app, this also works with Android and iPhone. It‘s easy to search for music and artists. Users can build playlists.
  • Shazam: This app listens to the music and can tell users the name of the song and artists. Users can save as tags songs they identify with it and share tags with other users. It supports Android and iOS.
  • TuneIn: It‘s a good radio app for smartphones. Users can listen to local radio stations. Enter a song or artist, and TuneIn lists for you all radio stations that play it. This app isn‘t confined to music alone hence you can listen to sports radio and podcasts, for example.

These are all free apps. If you want to see more examples, check out “The top 10 free music apps”.

Tools for making a music app

In this guide for a Spotify like app development, I will first describe tools like ’software development kit‘ (SDK). Subsequently, I will explain the mobile app backend management options. It‘s a development project, hence, I will describe the development project execution approach after that. There are a few SDK options for a Spotify like app development.

SDK option #1: How to make a music app using the Spotify SDK

The company behind the famous music app also provides SDKs. You can find them in the Spotify developer portal. Note that their Android SDK is currently a beta version, hence, expect changes frequently.

Their iOS SDK enables your music app to authenticate users and interact with them. The connection with the main Spotify application in the background is established by the SDK. Complex operations of a music app can all be offloaded to the background Spotify application. These are playback, authentication, network, and offline caching. It‘s light-weight SDK.

This SDK requires iOS 9 or higher. Access their iOS SDK quick start documentation here. You can find their iOS SDK API reference documentation in their iOS SDK GitHub repository.

The Android SDK also is a lightweight one, besides, it offloads complex operations like authentication and offline caching to the background Spotify application. The SDK is less than 300 kb. It keeps the playback in sync with the main Spotify app. It works offline and online. The SDK needs a minimum Android version 14.

Check their Android SDK quick start guide here. API references for the Android SDKs can be found here, and here. Check the Spotify branding guidelines here.

SDK option #2: How to develop a music streaming app using the Napster SDK

Napster, which was Rhapsody earlier, shouldn‘t be confused with the earlier company that ran into legal troubles. They offer SDKs and APIs for building music apps. You can access their SDKs in the Napster developer portal. With their SDKs and APIs, you can build an app that can play over 40 million songs, besides, the company takes care of the licensing aspect. Your users can access data like artist, album, etc., additionally, they can view favorites and top charts.

You can access their Android SDKs. Their iOS SDKs can be accessed. They have extensive documentation for their APIs which you can access here. The company also has good example projects that you and your team can view. This covers common music app functions, for e.g., playing top tracks, playing top playlists, login with OAuth, etc. You can access this documentation here. To know how to integrate playback into your app using their SDKs, visit this GitHub repository.

SDK option #3: Apple MusicKit

Offered by Apple, this is an option for iOS only. Apples’ MusicKit will allow you to play ’Apple Music’ and your local music library natively from your app. If users have an account with ’Apple Music’, then they can create playlists. Refer to Apples‘ developer portal MusicKit section for details.

First, your team needs to set up the Apple developer account. Subsequently, they need to get the MusicKit identifiers, keys, tokens, etc. Check here for details instructions. The app can let users authorize ’Apple Music‘ with StoreKit. The instructions for that are found here.

Using the ’Apple Music APIs‘, the app can search for songs, playlists, artists, etc. There is extensive documentation available for these APIs. You can access them here. With the media player of Apple, the app can control playback. This allows playing songs from ’Apple Music‘ and accessing users‘ music library with permission. Read more about using the Apple media player in the app here. Apple has their branding guidelines, and you can access it here.

Option #4: How to make an app like Spotify using the SoundCloud APIs

SoundCloud doesn‘t offer Android or iOS SDKs. They provide JavaScript, Ruby, and Python SDKs. Hence, in this option, your development team has more work since they must work with APIs directly. You can access their APIs from their developer portal. If you want to use the JavaScript SDK, it can be accessed here.

They have a comprehensive API documentation. It covers the entire gamut of functions, for e.g., authentication, uploading sounds, playing sounds, search, etc. Check their API documentation here. There are also APIs to control the embedded player, and you can access the documentation for that here.  SoundCloud has branding guidelines. Read their detailed guidelines about it here.

Managing the mobile backend of your music app

I recommend that you use a ’Mobile Backend as a Service’ (MBaaS) for your music app. This project is an involved development project. Even with SDKs and APIs, you will need to spend considerable time on coding. Using an MBaaS spares you the backend development and management effort, hence, you can get a quicker ’Time to market‘.

There are several MBaaS providers, for e.g., Google Firebase, AWS Mobile, and Kinvey. This is not an exhaustive list. Check our comparison “How to choose the best mobile backend as a service (MBaaS)?” for more examples.

Note that you need to follow the appropriate guidelines for publishing the app in the ’Google Play‘, and ’Apple App Store‘. Check the respective guidelines here, and here.

Managing your music app development project

In this guide of how to build a music app, I need to now explain how you can manage this development project. This is largely a custom development project, although some of the options include SDKs. To effectively execute this project for your startup business, you need to first onboard a capable team.

Onboard your project team

You need the following skills in your team:

  • Business analysts;
  • UX/UI designers;
  • iOS developers;
  • Android developers;
  • Testers;
  • 1 PM.

The number of developers and testers will depend on your requirements and delivery schedule. Your designers should be well-versed with mobile menu navigation patterns. You can consult our guide “Mobile navigation menu examples” because UI design is critical for your app.

The PM should be well-versed with modern project management methodologies. Check our guide “Top 7 project management methodologies in 2018” for more details.

Project execution approach

Core applications in a business, like accounting or CRM, typically don‘t require frequent large changes. They process the core business data, and they are called ’Systems of Record‘ (SoRs). Since they don‘t go through frequent overhauling, the traditional waterfall methodology is fine for them.

However, mobile apps and websites are front-ends of the business. They are used for engaging customers, hence, they are called ’Systems of Engagement‘ (SoEs). Such apps undergo frequent large changes. An iterative approach like the ’Agile‘ methodology is more appropriate for these hence, I recommend using it for this project. Read more about it in our guide “How to build an Agile development team?”.

SoEs require quick feedback from the market. You need to quickly get a ’Minimum Viable Product’ up and running. The real market feedback will then let you gauge what features and enhancements you need. The ’Scrum‘ technique of ’Agile‘ methodology is appropriate for this besides, it is also a well-tested technique. I recommend you use it in this project. Read more about it in “How to build a Scrum development team?”. The PM works as a ’Scrum Master‘, whereas the team is a small one, with developers, and testers working in a closely-knit environment.

Your first step is to build a ’Product backlog’, which lists the features you need in the app. Then you prioritize features along with project stakeholders, however, you need an estimate from the ’Scrum’ team. This way you can plan a ’Sprint’, which is one iteration. It typically lasts not more than 4 weeks and must include demonstrable features.

Once you have planned the ’Sprint’, the work proceeds. The ’Scrum master’ conducts ’Daily stand-up meetings’ to get project status. These meetings also highlight show-stopper issues that the team must resolve. Once the work of a ’Sprint’ completes, it’s time for the ’Sprint review meeting’. Here the team demonstrates the features. Once the project stakeholders approve the features, the ’Sprint’ is over. However, the team must conduct a ’lessons-learned’ exercise, which is called the ’Sprint retrospective meeting’ in the ’Scrum’ context.

Consider using appropriate tools for managing the project. Trello and Asana are good collaboration tools that can help. Check our guide “The 10 best Agile project management tools in 2018”. Also, consider using test automation tools like Selenium or Jenkins.

Cost of developing a music app

All ’MBaaS‘ providers display their price on their websites. You can easily compare them and make the appropriate procurement decision for your company. However, the number of developers and testers depend on your apps‘ requirements. Your local labor market will influence your total manpower cost. Note that if you use the SoundCloud APIs, you will need to budget for more developer hours, since they don‘t offer Android or iOS SDKs.

Some of the skills may be niches in your local labor market. This means you need more time to hire developers. This can be a critical factor in your project planning. If you face challenges in onboarding a team, or you can’t spare a PM to manage this project end-to-end, consider getting professional help. Use our guide “How to find the best software development company?