SoundCloud for Developers

Discover, connect and build

Backstage Blog RSS

  • July 28th, 2017 Microservices Finagle Scala Functional Programming Inside a SoundCloud Microservice By Matthias Käppler

    If you're a regular visitor to this blog, you might be aware that we have been transitioning to a microservices based architecture over the past four to five years, as we have shared insights into the process and the related challenges [on][1] [multiple][2] [occasions][3]. To recap, adopting a microservices architecture has allowed us to regain team autonomy by breaking up our monolithic backend into dozens of decoupled services, each encapsulating a well defined portion of our product domain. Every service is built and deployed individually, communicating with other services over the network via light-weight data interchange formats such as JSON or Thrift. What we haven't touched on so far is how a microservice at SoundCloud looks backstage.

    Read more...

  • June 28th, 2017 Mobile Xbox Authentication Remote device sign-in By Tiffany Conroy

    A method for signing in to a device that doesn’t have a keyboard

    When we were developing our SoundCloud app for Xbox One, something became very obvious during usability testing: signing in with a game controller really sucks. Entering text requires navigating a virtual keyboard to individual letters, numbers, and characters one at a time – such a nightmare! Plus, letters, numbers, and special characters are spread across three screens. The more secure your password is, the worse the experience is.

    Entering a password with a game controller using an onscreen keyboard

    Read more...

  • June 20th, 2017 Architecture Data A Better Model of Data Ownership By Joe Kearney

    Once upon a time, we had a single monolith of software, one mothership running everything. At SoundCloud, the proliferation of microservices came from moving functionality out of the mothership. There are plenty of benefits to splitting up features in this way. We want the same benefits for our data as well, by defining ownership of datasets and ensuring that the right teams own the right datasets.

    Read more...

  • December 7th, 2016 Microservices Architecture Finagle Lessons in resilience at SoundCloud By Argha Chattopadhyay

    Building and operating services distributed across a network is hard. Failures are inevitable. The way forward is having resiliency as a key part of design decisions.

    This post talks about two key aspects of resiliency when doing RPC at scale - the circuit breaker pattern, and its power combined with client-side load balancing.

    Read more...

  • September 23rd, 2016 Announcements API Sign-up Changes By Platform Team

    Today we are launching a new API application process.

    Starting today, developers will need to fill out an application form to request access to our API.

    Here is why.

    As SoundCloud has grown, we’ve seen our API used in countless innovative ways that support and enhance the SoundCloud experience for our creators and listeners around the globe. At the same time, we’ve also seen a number of apps or services that act on behalf of our users without their explicit permission or attempt to use creator content in ways that are not permitted by our API Terms of Use. Apps or services that operate in this way do not support our creators, listeners or the SoundCloud community.

    Here is what it means.

    Developers who currently have API credentials and comply with our API Terms of Use may continue to use the SoundCloud API. All new requests for an API key must go through the review process, where applications will be reviewed on a case by case basis, in line with our API Terms of Use. If your application is successful, you will receive an API key.

    To review our API Terms of Use, click here.

    If you wish to submit an API Application Form, click here.