Created: 19 June 2014

Soundcloud API usability study results


The table below provides links to the final reports for each participant and the summary of the participants experiences and development systems.

  Experience Development System Report
Participant #1 7 years total: 6 years - ASP.NET, 1 year - Ruby/Ruby on Rails Microsoft Windows 7 x64; JetBrains RubyMine 6.0.3; Ruby 2.0 Click to view
Participant #2 12 years total: PHP, Ruby, Ruby on Rails, SQL, HTML5, CSS3. Windows 7 x86, Ruby 1.9.3. Click to view
Participant #3 5 years total: PHP/Javascript - 4 years; Ruby on Rails - 1 year. OS X; Text editor (Emacs) and ruby console. Click to view


Each of the participants completed tasks and answered post study questions. The table below shows the distribution of time spent on a task for each participant.

  Time spent by Participant #1 Time spent by Participant #2 Time spent by Participant #3 Average Time
Task #1 1 hour 10 minutes 30 minutes 30 minutes 43 minutes
Task #2 10 minutes 30 minutes 30 minutes 23 minutes
Task #3 45 minutes 10 minutes 20 minutes 25 minutes
Task #4 10 minutes 15 minutes 10 minutes 12 minutes
Task #5 5 minutes 10 minutes 5 minutes 7 minutes


Below is the table that summarizes recommendations for improving the developer experience of the API based on problems discovered during the study. You can click on each recommendation to view relevant comments in the participants' reports.

# Recommendation Number of participants that reported the problem
1 Consider providing more meaningfull error messages for Ruby SDK. 3
2 Consider adding more information on Ruby SDK objects, methods, method parameters, arguments and so on. 3
3 Consider making a Ruby SDK more object-oriented. 3
4 Consider adding a clear and simple explanation of what client id is. It is especially important if a developer starts from the github page ( and not from 2
5 Consider fixing the "Streaming Sounds" example or fixing the streaming part of the Ruby SDK. 2
6 Consider making a list of resources that are available with/without authentication. 2
7 Consider making a clear entry point for the different parts of the API documentation. 1
8 Consider fixing the first Ruby example on the github page ( 1
9 Consider making a some kind of default order for client.get('/tracks'). 1
10 Consider handling a track processing correctly. 1
11 Consider removing confusion between "HTTP API Guide" and "HTTP API Reference". 1
12 Consider synchronizing github page documentation ( and Soundcloud API documentation ( or removing the duplication at all. 1
13 Consider removing duplication of redirect_url in application settings and on each authentication request. 1
14 Probably you shouldn't mix ids into arguments to client.get, and similar methods. 1