Backstage Blog

RSS logo

You're browsing posts of the category Android

Android Large Screen Optimization

July 31st, 2023 by Arlind Hajredinaj

Discover how SoundCloud transformed its Android app to deliver an immersive music experience on large screen devices, including tablets, foldables, and Chromebooks

Read more…

What's New with SoundCloud, November 2022

November 11th, 2022 by Ang Huang

We recently made updates to our SoundCloud iOS and Android apps to address key user experience (UX) fixes according to user feedback. Read on to find out more.

Read more…

What's New with SoundCloud, October 2022

October 17th, 2022 by Ang Huang

We recently made updates to our SoundCloud iOS and Android apps to address key user experience (UX) fixes according to user feedback. Read on to find out more.

Read more…

Android Image Loading at SoundCloud

October 13th, 2022 by Arlind Hajredinaj

The SoundCloud Android app recently got a significant makeover: a “new year, new me” type of thing. Our remarkable design team and outstanding engineers worked together to revamp the way we display all kinds of images in the app, and I’m about to take you behind the scenes on this “glow-up” journey.

Read more…

Speeding Up Builds with Dagger Reflect

January 30th, 2020 by Nelson Osacky

A large portion of an Android app’s build time can consist of Dagger annotation processing, and most developers agree that productivity is important, so we decided to experiment to see if we could save time when compiling the SoundCloud Android app. This blog post covers how we used Dagger Reflect to save developer time with minimal changes to our codebase.

Read more…

Solving Remote Build Cache Misses by Annoying Your Colleagues

October 1st, 2019 by Nelson Osacky

Part of a build engineer’s role is to speed up builds. Improving build performance and avoiding work with caching is one way to achieve this, but another tool in the build engineer’s belt is that of disallowing slow builds. This is part two in a series about solving Gradle remote build cache misses.

Read more…

Gradle Remote Build Cache Misses

August 30th, 2019 by Nelson Osacky

Until recently, one of the top technical risks facing SoundCloud’s Android team was increasing build times. Our engineering leadership was well aware of the problem, and it was highlighted in our company’s quarterly goals and objectives as modularization. Faster build times means more productive developers. More productive developers are happier and can iterate on products more quickly.

Modularization is key to decreasing build times, but avoiding work is another important part of the puzzle, and build caching is one way to avoid that work. Gradle, our tool for building Android, has a local file system cache that reuses outputs of previously performed tasks. We have been using the Gradle remote build cache in order to save our developers’ time. It helps us avoid redoing work that other teammates have already done or switching to old branches. However, to get the full benefits of caching, you have to go beyond simply setting it up.

Read more…

SoundCloud Is Playing the Oboe

June 21st, 2019 by Miloš Pešić and Julio Zynger

Media and playback are at the core of SoundCloud’s experience. For that reason, we have established and grown an engineering team that is specialized in providing the best possible streaming experience to our users across multiple platforms.

To do this, we combine the industry’s best-fitting solutions with our own custom technologies, libraries, and tools. In this article, let’s dive into how we improved latency in our Android application by leveraging a new engine for our player’s audio sink.

Read more…

Release Quality and Mobile Trains

April 3rd, 2019 by Julio Zynger

Once every two weeks, we prepare new versions of our mobile apps to be published to the app stores. Being confident about releasing software at that scale — with as many features and code contributions as we have and while targeting a wide range of devices like we do at SoundCloud — is no easy task. So, over the last few years, we have introduced many tools and practices in our release process to aid us.

In this blog post, I’ll cover some of the techniques we use to guarantee we’re always releasing quality Android applications at SoundCloud.

Read more…

Running Android UI Test Suites on Firebase Test Lab

May 4th, 2018 by Marvin Ramin

Testing mobile applications is not always an easy feat. In addition to defining what to test and determining how to write those tests, actually running tests can also be problematic — in particular, UI test suites running on real mobile devices or emulators sometimes run for an extensive amount of time.

Read more…