Oops... your message was not sent

Your message has been successfully sent

Jetruby Blog
Let's talk!

Featured Technical Stories Based On Our Experience

Expertise

Music Streaming App for the Chinese Market: PYRO Music Case Study

What is PYRO Music?

A platform combining some of the best features from the world’s leading music streaming services, PYRO Music is a music streaming app, which is born to give a generation of Chinese not only access to the biggest record labels and DJs around the world, but also enable you to change your listening experience, create and share your own style of Electronic Dance Music. With PYRO Music, you can discover new music, in HQ formats, and shape your sound to share with your friends and followers.

Challenges

  • Specifics and uniqueness of the Chinese IT industry — from the Great Firewall to the cultural differences of the target audience.
  • Major code refactoring and infrastructure optimization. We had to improve the overall performance of the platform and make it equally accessible to all Chinese users.
  • All-encompassing redesign including PYRO Music website, music streaming apps, and the admin panel.
  • Find the right balance between cost-effectiveness and performance of the available services to use.

On the way to solution

App Development

It’s no revelation that the best way to get an idea about certain things is to experience them yourself. Following this point, our team visited China to see all the technicalities from within.

In a nutshell, the knowledge we gained and the practices we learned during the little time spent in this magnificent Asian country have been truly invaluable.

There is no exaggeration saying that neither dedicated forums nor even hundreds of google translated manuals could have given us the full picture of how specific and unique the Chinese IT industry is.

However much information the Internet can offer you about The Golden Shield a.k.a. The Great Firewall of China, we can assure you that it’s just a tip of the iceberg.

There is a lot more to consider when developing a project meant for the Chinese audience. For example, there are some issues with routing within China. Overall, we had an amazing cultural experience and were able to meet and spend time with lots of interesting people.

Solution itself

Upon arriving back home, we got down to the full code refactoring of PYRO Music. Luckily, previous developers left quite informative how-tos that gave us better insights into some technical aspects of the project. At the end of the day, we managed to greatly simplify the code making it simpler, better structured and easier to build new functionality on top of it.

App Development

After that, we proceeded to implementing more drastic improvements. Here is a quick list:

  • We moved PYRO DNS to dnspod.cn, i.e. simplified DNS resolving for all the users within China;
  • The project infrastructure was completely assembled on Aliyun;
  • Solr full text search engine was replaced with Elasticsearch;
  • Caching was properly configured so there are no more stutters when browsing the website;
  • Pjax was dropped in favor of using Turbolinks. The interface is fast as ever!
  • Finally, we made a complete redesign of PYRO services (its website, and mobile applications) and built the admin panel from the scratch.
  • We’ve implemented monetization via China-based services: WeChat Pay and AliPay.
  • Successfully survived high load when PYRO Music conducted PYRO Top100 China DJs event last August.

Result

App Development

The improvements we made has brought PYRO a couple of big steps closer to becoming a consummate global-scale music streaming app, leaving its Chinese competitors far behind. Further, with all its uniqueness and scale, the project has had a great impact on our team as well. Based on the knowledge gained both in China and throughout the development, we were able to refine our working approaches to increase the quality of deliverables.

Technologies used

  • Swift
  • Ruby 2.5.0;
  • Ruby on Rails 5.2.0;
  • REST API;
  • Haml / BEM / Sass;
  • Turbolinks;
  • Elasticsearch and PostgreSQL;
  • Leaflet with BaiduMaps.
  • Java
  • RxJava

App Devlopment

With that said, it’s time for you, our dear reader, to download the PYRO Music app and check out all the goodies that we’ve implemented and enjoy the vibes of true electronic music!

Website: https://pyromusic.cn/

iPhone app: https://itunes.apple.com/us/app/pyro-music/id1063184708

Android app: http://a.app.qq.com/o/simple.jsp?pkgname=cn.pyromusic.pyro

JetRuby Agency
This post has been contributed by:
New Articles