The Real Industry + Sonos Challenge

This fall Sonos partnered with Real Industry to challenge university students at University of Washington and local Boston area schools to answer the following question: How do we design or build an experience that delivers the right sound, at the right moment, into people’s lives?

We were excited to have the opportunity to work with some great students in two different cities. We understand that an open platform provides the tools to build experiences that we cannot even think of. With this challenge, what better way to tap into the minds of college students! These college students really blew us away with the different ideas and integrations they planned and built. Their enthusiasm is contagious and we left the workshop with some fire in our belly to continue our work on the Sound Platform.

At Sonos, we are aiming to meet with more developers in person to gauge your interest and to make sure you have the opportunity to meet Matt and I. We enjoy engaging with the developer community and we want to make working with the Sound Platform as enjoyable as possible. In the end, we are all here to make some great experiences on Sonos.

The Challenge

Matt and I, along with several Sonos colleagues, were honored to chat to students in these locations about the Sound Platform and the experiences they can build to solve real problems. Many students took on the challenge to answer: “How do we design or build an experience that delivers the right sound, at the right moment, into peoples lives?” While brainstorming in the room, there were many ideas thrown around such as making the morning routine easier and more enjoyable, sharing music when discovering through Sonos, announcing class schedules over Sonos, different party mode features and the list goes on!

We wanted the students to be as creative as possible with their integrations. Not only were we judging their coding expertise, we challenged them to think of the development process as a whole. From ideation and product management to design and research. In the end, all of the students who submitted really impressed us with their innovation and thoughtful thinking.

The Result

Several Sonos colleagues got together to review the submissions at the end of October to determine the winner. We had a lot of interesting submissions that we really enjoyed looking over. We were particularly interested in how well students pitched their ideas to us, explain the problem they were solving and in the end demo what they built.

A few students jumped straight into their integrations, giving us details of what they built and the tools utilized to build it. Where they fell short is they didn’t give us an indication of what problem they were solving or who would benefit from their integration. Although they had some great ideas, the challenge was to build an integration that fit into people’s lives, they fell short on providing some of these details.

Many students jumped straight to interviewing their peers and family members, they thought through the UI and the user flow, these are all great characteristics of a good experience. In the end, their storytelling was much more impactful when presenting their working demo. After considering all of the options, it was a unanimous vote to pick the following teams for their projects. Not only did these students build great experiences, they really thought about the problem they were solving and delivered well.

OurSound

At Tufts University, a group of three students: Chris Markus, Electrical Engineering, Katie Elliott, Electrical Engineering and Allie Lam, Applied Math/Music Technology created OurSound.

The team took on the challenge of eliminating the awkwardness of picking a song that everyone likes at a party or even in the office. Their app plays the perfect music automatically based on music libraries of everyone in the room and mood filters the host sets to play directly to Sonos. The OurSound team utilized Google’s Flutter SDK, Spotify API and Sonos API to rate danceability, vocality and familiarity to play a playlist for everyone in the room to enjoy. Check out their winning video below:

Feel.io

At University of Washington, a group of 5 students: Xu Yan, Computer Science, Zoe Zou, Master in Science and Technology Innovation, Hal Zhang, Electrical Engineering, Michael Radenbaugh, Electrical Engineering and Padraic Casserly, Technology Innovation, Bio-Chemistry created Feel.io.

As the team stated, “Humming or singing is just a feeling set to music.” By saying the wake word Feel.io, the artificial intelligence algorithm will listen to your humming, go through the music library in the cloud and play your particular song or a closely matched genre. The Feel.io team utilized snowboy Hotword Detection, Latent factor analysis system and Sonos API to play music on your speakers. Take a look at their winning video below:

Interested in starting your career at Sonos?

We offer a range of student internships and full-time opportunities. At Sonos, you are empowered to take charge of your own career, applying your education to innovate boldly and collaborate with some of the greatest in the industry. Begin your career at a place where your voice matters in helping us further our mission to listen and live better. Summer intern opportunities will be posted by January 1, 2019. To learn more about life at Sonos, visit us here

Nancy Hernandez – Developer Advocate – Currently listening to Despicable by grandson

Sonos on IFTTT: How We Did It and Why It Matters

Sonos has always had a focus on creating meaningful partnerships. From music services to voice to our Works With Sonos certification program, we want to listen to our favorite audio content whenever and wherever. The launch of the Sonos sound platform in September opened up a world of new possibilities, with three main goals in mind – creating new opportunities for our partners, making our platform more open for developers, and providing listeners with natural and personal experiences. Unfortunately, if someone doesn’t know how to code, it doesn’t matter how open or useful our platform is – that’s where IFTTT comes in.

IFTTT is such a natural fit for us, and our users have been asking for us to integrate with them for years. The launch of our open cloud-based Control API made this a possibility – and we wanted to get this out as soon as possible. A Sonos service on IFTTT lines up with so many of our values at Sonos, allowing us to integrate with hundreds of services, including Nest, Philips Hue, Ring, GE Smart Appliances, allowing our listeners to use their Sonos in completely new and groundbreaking ways.

If you’re unfamiliar with IFTTT, here’s a quick rundown of what it is: IFTTT has integrated with hundreds of different products, websites and content providers, called services. They have millions of users using their product today that allow you to create applets, that consist of an “if” portion referred to as a trigger and a “then” portion, or action. For example, if someone rings my doorbell, then tweet “Somebody’s at my door”. With IFTTT, anyone can create incredibly useful additions to their system which would be complicated to code from the ground up.

How We Did It

Essentially, IFTTT acts as a translator between our API and IFTTT users. In order to make this possible, we created IFTTT-specific endpoints in order to feed info from your Sonos system to IFTTT (to build lists of players & favorites, for example), and from IFTTT to your system. For example, this command which resumes playback on a group called RINCON_00012345678001400:0 may look something like this.

In IFTTT, a similar request may look like this.

 

We’ve done this for a total of 11 actions for our beta release. Our most popular actions are Play Favorite, which allows listeners to play a preselected Sonos favorite on a chosen group, and Pause, which pauses a specified player, or group.

Challenges

What is the best way to show how powerful our API is while maintaining simplicity and ease of use? The biggest challenges we faced stemmed from the understanding that IFTTT users don’t have as much freedom as a developer working directly with our APIs. We needed to make sure to balance having enough options when enabling actions without overcomplicating.

In this process, we made a few particularly difficult decisions.

One issue we wanted to address was an “Everywhere” option within our IFTTT applets. In our desktop and mobile controllers, we have the option to instantly group all speakers. For our IFTTT integration, we needed to think carefully about when our listeners would utilize this functionality. We could make room grouping its own Action, or add it in as an option within certain Actions. For example, it made total sense to group all speakers when pausing, but would anyone want to resume all of their speakers at one time? We decided to have three options for room grouping – one single specified player, the group containing the specified player, or everywhere.

While we believe having room grouping options (as opposed to Actions) is a better implementation, we quickly realized that we approached it from the wrong angle. The current process in creating an Applet to play a favorite playlist on all your speakers is:

  • IF (Trigger)
  • [whatever trigger you want to use e.g. location, button]
  • THEN (Action)
    • Play Favorite
      1. What favorite do you want to play?
      2. Where do you want to play? (Kitchen, Dining Room, Bedroom)
      3. Include grouped rooms? (this room only, include grouped rooms, everywhere)

If you’re trying to play everywhere, you first have to select a single speaker, and we are considering moving the Everywhere option to the “Where do you want to play?” selection (Kitchen, Dining Room, Bedroom, everywhere).

Volume controls also fall into a similar category. We currently have Volume (Up, Down, Set, Mute, and Unmute) as standalone actions, but a Set Volume option in the Play Favorite Action could be useful for routines, alarms, or an instant party. IFTTT has a great feedback mechanism built in, and we’ve been reading and understanding how Sonos users would connect their system to their smart home.

All in all, we’re incredibly proud to have launched our Sonos service on IFTTT. Our goal is to make this the best experience possible, and trying to best understand what it means for Sonos to be the sound of the connected home.

Why We’re Excited

Sonos is focused on helping our listeners to listen better. Our open sound platform allows integrations that were previously unimaginable, and allows anyone to build and create novel experiences. Kind of. We understand “anyone” is actually limited to people who have the time, skill, and motivation. With IFTTT, listeners can easily choose and enable exactly what they believe will enhance their Sonos experience.

Our plan is to keep the IFTTT experience parallel to our APIs on our platform. Our new playlists API makes it possible to pick and play any of your Sonos playlists. And our new audioClip API allows for short audio clips and notifications to be played over your Sonos system. Imagine your Sonos speakers being able to notify you when your laundry is complete, when someone rings your doorbell, or even read aloud tweets you’re mentioned in. As our platform continues to grow and improve, our IFTTT integration will too. We’re excited to see what you’ll build! Check out our favorite IFTTT applets here:

Start Sonos When I Come Home
Start My Sonos Favorite Using the Button Widget
Reduce the Volume When Someone Rings My Ring Doorbell

Seth Goldstein – Senior Development Manager-Cloud Platform – Currently listening to Hands Up Head Down by Sure Sure
Tarush Mohanti – Product Manager-Cloud Platform – Currently listening to Final Credits by Midland

Meet Your Sonos Sound Platform Dev Advocates

Welcome to the Sonos Sound Platform. We’d like to take a couple minutes of your time to introduce ourselves. We’re the developer advocates for the Sonos platform, and we can’t wait to help you build incredible experiences for our listeners.

Matt

I’m Matt Welch, and I’m the lead dev advocate for the platform. My sole goal is to help devs and partners build incredible things on our platform. I’ve been a Sonos owner for about 8 years, and was actually hacking on Sonos before I even joined the company. I wrote a lot of blog posts on the subject in that unofficial capacity. I’m looking forward to writing a lot of posts here in my more official capacity.

Currently listening to: Great Thunder, the latest Waxahatchee record
First Concert: Adam Ant at the Norfolk Boathouse

Nancy

I’m Nancy Hernandez, a developer advocate here to support you through your journey on the Platform. I’ve been at Sonos for over 4 years now and enjoying every minute. Look forward to connecting with you through this blog.

Currently listening to: Rock This
First Concert: Wango Tango at the Rose Bowl

Of course, we’re just the public representatives of the platform. There’s a big team that has built this platform over the past few years. We are deeply grateful to and proud of them. We’ll be introducing them to you all on this blog as we grow the platform together.

Welcome. Let’s Build Great Things

We won’t keep you any more, as we know you’re anxious to start making things. Dig in to our docs, read about everything you can do, and build great experiences for our listeners. We’ll leave you with a playlist of tunes, selected by the men and women who built the Sonos Sound Platform. This was the fuel that drove our team as we put this all together. We hope it helps you make great things.

Introducing the Sonos Sound Platform: Building the Future of the Sonic Internet

We’re opening up our developer platform and APIs to make it easier than ever to partner with Sonos and build new sound experiences for the home.

To most, we make speakers. But when you think about the unique experience you have with Sonos, it owes just as much to the magic of the underlying software as it does to hardware. It’s through our platform that, together with partners, we can bring new experiences to listeners, ultimately providing unparalleled freedom of choice across music services, audiobooks, television and video content, podcasts, voice service and home automation.

When Sonos first got started 16 years ago, the technology landscape looked very different. For one thing, on-demand streaming music services didn’t even exist. Fast forward to today and the pace of innovation has been profound; the rise of streaming media, cloud computing, artificial intelligence and Internet of Things (IoT) technology are now pervasive, allowing developers to rapidly bring innovation to market.

Today, we begin the next chapter of partnering at Sonos by introducing the Sonos sound platform, which brings together new APIs, developer tools and documentation. In launching the new platform, we have three specific objectives in mind.

  1. Create new opportunities for our partners

    • Three trends are transforming the home audio market: the rise in paid streaming, rise of voice assistant speakers and the rise of the smart home. The Sonos sound platform will be the gateway through which partners can harness this growth with their own innovative solutions.
    • New cloud APIs allow us to deliver advanced capabilities for partners to build upon. Similarly, enhanced LAN-based APIs support solutions that demand low latency or the local network.
    • We will introduce capabilities to the sound platform on a regular cadence so that our joint-customers continue to get new experiences over time. We will listen carefully to our partner community and customers to make sure we are prioritizing the right investments.
  2. Making the platform more approachable for developers

    • The sound platform’s modernized APIs allow more developers than ever to bring their solutions to market. We will also invest in samples, SDKs and libraries to make it easier and faster for developers to build against the new platform.
    • Our new developer portal (https://developer.sonos.com), provides one place to create, configure and monitor integrations. Our developer advocates will be active in the community on Stack Overflow and GitHub so developers can get support with development. This blog will serve as one place to learn about new platform innovations as well as technical posts from developer advocates and product team members at Sonos.
    • Finally, our documentation has been written from the ground up with comprehensive content for developers of all experience levels, with getting started guides and technical reference docs. In addition, our Sound Experience Guidelines capture the essence of the Sonos “experience”, helping developers craft solutions that delight the user.
  3. Provide customers more personalized experiences and confidence through certification

    • We are working to add intelligence to the sound platform so customers can enjoy more natural and personal experiences on Sonos and will enable our partners to complement with their own smarts, over time.
    • The “Works with Sonos” badge allows customers to confidently identify partner solutions that work seamlessly with the Sonos system. We will continue to invest in ways for customers to more easily discover and engage with partner solutions. More details on the Works with Sonos program will be shared in a future blog post.
    • Finally, in addition to new capabilities, we will continue to invest in the reliability and security of our platform to ensure customers receive predictable experiences they expect from Sonos and our partner integrations.

With today’s launch, we are releasing a set of new control APIs that allow developers to observe and control Sonos players. Coming later this year in October, we will be following up with additional capabilities:

  • Notifications/Audio Clips – Play short, discrete sounds and notifications on a player without fully interrupting the music. The song or audio will lower in volume and resume following the notification.
  • Sonos Playlists – The ability to list and start playback of Sonos Playlists within a third-party interface.
  • Max Volume and Volume Pass-through – Partner integrations will be able to set the maximum volume of Sonos players, as well as subscribe to volume events for fixed-volume players. This will allow, for example, an A/V receiver to have its volume controlled via the Sonos app when connected to a Sonos Connect.

Thank you for your ongoing partnership as we help the world listen better, together.

James Senior
Director of Product, Platform & Partnerships, Sonos
@jsenior

An Overview of the Sonos Platform

We’re proud of the documentation we’ve created to help our partners build great experiences on the Sonos Sound Platform. But one thing we’ve heard is that newcomers to the platform can sometimes struggle to get their bearings as they try to decide which parts of our platform are relevant to their integration.

Today we’re happy to announce a significant improvement to our documentation the will help put the various capabilities of the platform into context. We’ve built a “choose your own adventure” path to guide you towards developing the best experience for your integration with Sonos.

Starting on the Plan & Build page, you can learn more about the Sonos system and the Sonos Sound Platform, then choose which kind of integration you are working on. From there, we describe the features and architecture relevant to you.

We thank you for the continuing feedback about our platform and about the support we provide. We made these changes as a direct result of that feedback. We can’t wait to see what great things you’ll create next.

Voice (and more!) Comes to Sonos

This is a post we’ve been looking forward to writing for a while now. We’ve been hard at work over the past few years on the platform you all have been working with, and we’ve been thrilled to see the ways in which it’s been put to use. Today, at an event in New York City, we finally got to tell the world about the Sound Platform for the Connected Home, and talk about some of the incredible experiences that we’re all building, together, on top of it.

Our CEO, Patrick Spence, spoke about the “Sonic Internet”, how voice and sound is changing how the internet is perceived and controlled, and how Sonos will be central to that shift. Our platform, announced today, is key to our ability to lead in this time of change, and everything we talked about today has been enabled by it. Here’s a quick run down.

Alexa Integration with Sonos

Starting today, Sonos owners will be able to control their systems with an Amazon Echo, Dot, or other Alexa device. Ask for the Beatles in the Bedroom, or your local radio station in the kitchen. Sonos with voice control makes it easier and faster to enjoy great sounding music in your home. Using this beta integration, any Sonos speaker can be controlled simply by speaking to your Alexa device.

The Platform

You all have been developing on our platform for almost two years, and have helped us as we’ve grown and improved it. We were thrilled to announce today that in 2018 Sonos will officially open its developer platform and deliver APIs to any developer who wants to integrate with Sonos. This means that, starting next year, all kinds of new innovative integrations will start appearing for Sonos, with the experiences you’re building now leading the way. If you’ve built something great on our platform and want to release it, please don’t hesitate to reach out.

Today we also rolled out a certification program so the highest quality experiences will have the ability to earn the “Works with Sonos” badge. This badge will help highlight to consumers the highest quality experiences on Sonos. As we grow our understanding of and capacity for certification, we won’t be able to certify a large number of partners. The goal to eventually make certification a submission-based process.

AirPlay 2.0

Sonos is bringing AirPlay 2.0 to its platform, available in 2018. You will be able to play sounds from devices in the Apple ecosystem on apps that support AirPlay, including content from YouTube and Netflix, in any or every room of the home. Having access to all the music and content in the world goes beyond on-demand services. Sonos listeners want to send all manner of sounds from their devices to the Sonos speakers, and we’re thrilled that we’ll give them that option next year.

Sonos One

Sonos One is the smart speaker for music lovers, unlocking voice control for your entire Sonos system. Start the music playing with voice, add songs to your playlist from the Sonos app, play music in a different room from your Spotify app —the experience is seamless. Amazon Alexa comes built-in, with support for multiple voice services coming in the future, including the Google Assistant in 2018.

As you can see, this was a big event for us, and we’re thankful for your patience and the help you’ve provided that has led to this moment.

We’re all just getting started.

Create client credentials

Use client credential keys to identify and authorize your integration on Sonos.


Company/Organization administrators and members

When you first sign up to the developer portal, if you are the first in your company or organization to sign up, you’re added as the administrator of your company. Administrators can:

  • Invite other users to collaborate.
  • Promote users to administrators.
  • Remove users.
  • Create integrations and client credentials.

If you’re a user in a company or organization, you can view the list of other users, but you can’t invite other users or manage users. You can also view integrations and client credentials, but you can’t create or manage them.


Invite others to collaborate

As an administrator, you can invite others from your company to join the site to collaborate on your Sonos integration.

users

To invite users:

  1. Click My Account in the top-right of the screen and choose Users.
  2. Enter an email address and click Send invite.

The user will receive an email invitation with a link to sign up. Once they sign up they’ll be able to see you in the Users list and you’ll be able to see them.

To manage users:

  • Select the check box in the Admin? column to promote them to an administrator.
  • Click Remove to remove a user. Users can remove themselves as well.

Note: You can’t invite users that are already on the developer portal as part of another group.


Create an integration

As an administrator, you can also create an integration.

add integration

To create an integration:

  1. Click My Account at the top-right of the page.
  2. Click Integrations.
  3. Click New control integration.
  4. Fill out the fields described below. To make changes, edit the field and click Save to save changes.

To delete an integration, click Delete.

Note: Fields are required unless marked optional.

Display name and description

Enter a display name and description for your integration.
integration description

Name Description
Display name… Enter a name for your integration. Sonos displays this name to users in the Sonos login service, when asking if they want to give permission to your integration.
Briefly describe your integration Provide a brief description of your integration to help us understand what you will be providing to users and how it will work.

Credentials

Create your client credentials.

integration credentials
Name Description
Key name Enter a name for your client credential key. This can be the name of your product, product family, or SKU. You may also want to use the key name to differentiate between different environments or locales. For example, you may have one key for your test environment and one key for your production environment.
Key The client credentials key generated by Sonos.
Secret The client credentials secret generated by Sonos.
Redirect URIs Enter redirect URLs so the Sonos login service can send the user back to your client with an authorization code. You can enter multiple redirect URLs. The redirect URL in your authorization API call must match one of the redirect URLs that you provide here. See Authorize and Authorization API for details.
Event Callback URL (Optional) Enter an endpoint that Sonos can use to send events. You can only enter one. See Subscribe for details.

Operations

The Operations tab provides the opportunity to supply information about your company to help Sonos better support our customers when your integration goes live. You are welcome to fill this information out now, but it is not required to begin development.

Introducing Sonos’ Sound Experience Guidelines

Here at Sonos, we’ve spent more than a decade thinking very deeply about how sound can be experienced in the home. We love bringing joy to our listeners through design elements like the Signature Detail on our superb Play:5 and the crystal clear sound that Trueplay delivers.

Now we’re creating an open developer platform. It’s our goal to deliver amazing experiences for the home. We’ll start by making it easy for you to integrate with us. As a Sonos developer, you’ve got an incredible opportunity to delight your listeners by building on our platform.

screen-shot-2016-12-22-at-3-37-34-pm

We want to help you take advantage of that opportunity, so we’ve put together our Sound Experience Guidelines. These guidelines reflect the insight gained from many years of ongoing thinking about how sound should be experienced in the home, out loud with friends and family. As you build your application on the Sonos platform, consider these guidelines and let them help you deliver joyful experiences.

We are convinced that Sound is the Soul of the Home. So we built the best possible Home Sound System. Designed for the way we live. That humanizes home audio. By making home listening easier, more accommodating and sonically awesome. This cannot be done alone. Let’s build great things together.