Backstage Blog

RSS logo

You're browsing posts of the category Announcements

Apple's June 1 64-bit deadline

May 18th, 2015 by Erik Michaels-Ober

In October 2014, Apple announced that all submissions to the App Store must include 64-bit support by June 1, 2015. The SoundCloud API for Cocoa contains 32-bit dependencies and will not be updated, because it has been discontinued. Anyone using the SoundCloud API for Cocoa will need to will need to migrate away from it if they wish to update their app after June 1.

To ease this transition we have built a sample app that demonstrates how to authorize a user via OAuth using only built-in…

Read more…

Linked partitioning to replace offset-based pagination

February 2nd, 2015 by Erik Michaels-Ober

The SoundCloud API will be dropping support for offset-based pagination on March 2, 2015, in favor of linked partitioning.

To page through a JSON response, pass the linked_partitioning=1 parameter along with your request and it will return a collection, along with a next_href property if there are additional results. To fetch the next page of results, simply follow that URI. If the response does not contain a next_href property, you have reached…

Read more…

Prometheus: Monitoring at SoundCloud

January 26th, 2015 by Julius Volz, Björn Rabenstein

In previous blog posts, we discussed how SoundCloud has been moving towards a microservice architecture. Soon we had hundreds of services, with many thousand instances running and changing at the same time. With our existing monitoring set-up, mostly based on StatsD and Graphite, we ran into a number of serious limitations. What we really needed was a system with the following features:

  • A multi-dimensional data model, so that data can be sliced and diced at will, along dimensions like instance, service, endpoint, and method.
  • Operational simplicity, so that you can spin up a monitoring server where and when you want, even on your local workstation, without setting up a distributed storage backend or reconfiguring the world.
  • Scalable data collection and decentralized architecture, so that you can reliably monitor the many instances of your services, and independent teams can set up independent monitoring servers.
  • Finally, a powerful query language that leverages the data model for meaningful alerting (including easy silencing) and graphing (for dashboards and for ad-hoc exploration).

All of these features existed in various systems. However, we could not identify a system that combined them all until a colleague started an ambitious pet project in 2012 that aimed to do so. Shortly thereafter, we decided to develop it into SoundCloud’s monitoring system: Prometheus was born.

Read more…

XML responses deprecated

November 17th, 2014 by Erik Michaels-Ober

The SoundCloud API will be dropping support for Extensible Markup Language (XML) responses. XML will be phased out on the following schedule:

  1. XML is currently the default response format for requests without an explicit format specified in the path (e.g. /tracks) or Accept header. This default will be changed to JSON on December 1, 2014.
  2. Explicit requests for XML — specified either in the path (e.g. /tracks.xml) or an Accept: application/xml header — will continue to be supported until December 15, 2014. After that point, only JSON responses will be supported.

Read more…

Roshi: a CRDT system for timestamped events

May 9th, 2014 by Peter Bourgon

Let’s talk about the stream.

The SoundCloud stream represents stuff that’s relevant to you primarily via your social graph, arranged in time order, newest-first. The atom of that data model, an event, is a simple enough thing.

  • Timestamp
  • User who did the thing
  • Identifier of the thing that was done

For example,

Read more…

Introducing JavaScript SDK version 2

May 1st, 2014 by Erik Michaels-Ober

SoundCloud is pleased to introduce a new major version of the SoundCloud JavaScript SDK. In version 2, we’ve rewritten much of the internal code, resulting in better performance for your JavaScript applications and support for more streaming standards, such as HTTP Live Streaming.

You can test the new version by pointing your JavaScript applications to https://connect.soundcloud.com/sdk-2.0.0.js.

We’ve also created a guide to help you upgrade…

Read more…

Security update: Heartbleed vulnerability in OpenSSL

April 11th, 2014 by Astera Schneeweisz
Heartbleed

On Monday, April 7th, 2014, a major security vulnerability in OpenSSL was made public. The vulnerability was filed as CVE-2014-0160 and later dubbed “Heartbleed”, because the bug lies within OpenSSL’s heartbeat extension, which is used for keepalive monitoring. As a result of the bug, process memory can be read out remotely by an attacker—potentially including certificates, keys, credentials…

Read more…

Welcome to SoundCloud's redesigned developer site

April 11th, 2014 by Erik Michaels-Ober

We’ve taken some time to bring all our developer resources together into a single site. In doing so, we’ve reorganized the layout to make things easier to find and also given the site a fresh new look.

We hope you like it!

If you have any feedback about the new design, follow @SoundCloudDev on Twitter and let us know.

Read more…

Removing 'hotness' parameterhotness

April 16th, 2013 by Paul Osman

The /tracks endpoint has traditionally accepted an order parameter for ordering results by either creation date or ‘hotness’. The method for calculating a tracks ‘hotness’ has never been clearly explained, but generally speaking is based on the number of likes and listens a track receives.

Recently we started to experience problems with the query that returns tracks ordered by hotness. In the past weeks…

Read more…

The Next App Gallery Update

September 18th, 2012 by Amir Shaikh

We’re making some changes to how we manage our App Gallery and wanted to take some time to explain them to you, our developer community.

The App Gallery is where we highlight interesting and useful SoundCloud powered apps and services for our users. As our developer community continues to grow, it’s even more important that we keep a high bar for apps found in App Gallery. Having a high standard…

Read more…