ted & pamela

Posts Tagged ‘firefly’

Logitech Squeezebox and Sonos

Tuesday, November 9th, 2010

A few months ago, I set up the ability to stream music around the house using Firefly and DAAP clients. It worked, but wasn’t a very elegant solution. For example, to play music in the living room, we had to turn on the laptop connected to the receiver and connect to the Firefly server before we could play anything. It doesn’t sound too hard — and it wasn’t — but it was just enough effort that Pamela and I rarely every bothered to do it.

I discussed this with Pamela, and we agreed that we would both probably play a lot more music around the house if it was easier to do so. Thus, I went back on my journey to find a better solution.

Since I had already exhausted the free options in my last attempt, this time I turned to proprietary solutions. In particular, I was looking for some sort of dedicated hardware solution, since my previous DAAP-on-a-laptop approach was too cumbersome. After a bit of research, I narrowed by focus to the Logitech Squeezebox and Sonos lines of devices.

At first, I was leaning toward getting a Squeezebox Dual for the living room and Squeezebox Radio for the bedroom. It looked like it would solve my problem nicely — the Dual would provide a dedicated controller for selecting and playing music in the living room, while the radio would give us something similar for the bedroom and double as a clock radio. The price point was reasonable too — $300 for the Dual and $150 for the radio. After reading some reviews, however, I started having my doubts — the interface for the Dual just wasn’t that nice, and it would be even harder to select music through the buttons and menus on the Radio. There also wasn’t any way to change the music from a computer; the only way to control a Squeezebox device was through the device itself.

Sonos solves the interface problem by decoupling the controller interface from the streaming devices. This allows you to do cool stuff like link and control multiple Sonos devices at the same time, synchronize music playing from different devices while adjusting their volumes independently, control devices from your computer or smartphone, etc. Unfortunately, it’s much more expensive to get a set of devices comparable to the Squeezebox solution in terms of basic coverage — with Sonos, I’d have to get the ZonePlayer 90 for the living room, the ZonePlayer S5 for the bedroom, and the Sonos Controller 200 to control them… for a grand total of about $950. Ouch.

Well, I thought about it for a few days and was actually leaning toward purchasing the Squeezebox system, when I discovered that my employer (Google) has a 20% corporate discount on Sonos products! That decided things for me. I went ahead and bought the Sonos package (note that they don’t do bundle discounts anymore, according to the friendly phone sales representative), and it ended up on my doorstep two days later.

Setting it up was as easy as advertised. I installed Sonos’s software on my (Mac) laptop, connected one ZonePlayer to my network, and paired it with the computer as directed. When it asked me for a music source, I pointed it to a public folder on our home NAS. A few minutes later, it finished indexing all ~11k or so songs on the drive, and played music!

Since then, we’ve also set up the second ZonePlayer, configured the Sonos Controller, and installed the Sonos software on a few other computers, without a hitch. Overall, except for a few nitpicky flaws, the Sonos system does everything you’d expect it to do, and does it really, really well. For example, there’s virtually no delay between selecting a song or changing a setting and hearing the change — the immediate feedback is a nice change from the experience I’m accustomed to from most network-bound devices. The decoupling of controller from player also made for some amusing moments, where Pamela and I would fight for control of the music from our respective laptops. It’s also really cool to see that when another person changes the volume, the volume slider moves around on your own Sonos controller. Finally, and perhaps most importantly, it actually succeeded in getting us to play more music — for example, this evening when I got home, Pamela had some music playing in the living room — and she never did that with the old system.

So what are some of these nitpicky flaws? Well, here are a few:

  • Sometimes after drilling down through a few menus on the Sonos controller you can’t back up again. This is likely some odd disconnect between the way the controller actually works and my cognitive model of how the controller works, but I never figured out why/when the back button sometimes gets disabled.
  • There’s no way to edit song attributes from the controller. Sometimes I notice an error in the artist, album, or another field and want to change it, but it’s read-only.
  • After doing a keyword search, there’s no way to play all search results or add all search results to your queue. Sometimes Pamela and I like to search for a random word, e.g. “rain” and play all music associated with that word.
  • There’s no official controller app for Android, though there’s an unofficial one that works pretty well.

Overall, our Sonos experience has been awesome, and we highly recommend their products.

Streaming music from Windows to Linux

Friday, August 6th, 2010

Pamela and I had a problem we thought would be simple to solve: we have all of our music on one computer, and we want to make it available over the network to all of the other computers in the house. Sounds like it should be a pretty common problem (at least among the tech crowd), right?

Well, since we use iTunes on our Windows and Mac machines, we figured we’d try iTunes sharing first. This worked great… except that there doesn’t seem to be any way to stream music from iTunes to Linux. iTunes doesn’t run under Wine, and DAAP streaming from iTunes hasn’t worked since iTunes 6.

After a bit of searching around, I decided to try running a DAAP server on the Windows 7 machine to serve our music. Based on what I had read, our our other Windows and Mac machines should be able to stream music from the DAAP server using iTunes, and our Linux box should be able to do the same with a common player like Rhythmbox. However, the only server that people seemed to be using was Firefly, but I wasn’t sure I wanted to install it — it hasn’t been updated since 2007, and there’s never been a “stable” release of it for Windows.

Following some more hesitation and searching around, I decided that Firefly was probably the only free option available, so I gave it a shot. I downloaded the latest nightly build, from May 17 2007, and installed it. The installation went smoothly, but it didn’t seem to serve any music. Looking over the logs (which really aren’t user friendly), it appeared that Firefly might be having permissions issues, so I decided to modify the service to use my own login credentials. That seemed to do the trick.

Whew. I think we have streaming music in the house now. It’s still amazing that the DAAP server everyone’s using hasn’t been updated in the last three years…