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