To paraphrase a famous maxim, “Oh, what a difference a decade makes.”
The emergence of the Internet over the last ten years has brought extraordinary changes to software development. Because of the Internet, large amounts of useful, well-engineered code are now widely available, and much of that code is available for free or under generous licensing terms. Moreover, there’s little distinction these days between developers and end-users: end-users have capitalized on the newly-networked world to take an active role in the development and enhancement of products that many of us use every day.
Still other changes abound. The explosion of web use has prompted organizations to adopt alternatives to capture increasingly divided consumer attention — and attendant marketshare. For instance, and once unheard of, many companies have chosen to loosen their stranglehold on what was once considered the crown jewels of any endeavor: data.
For example, online companies such as Amazon, eBay, and Google publish APIs to their enormous data stores. Allowing and promoting such interoperability has not only spurred additional growth for those companies (and created an entire cottage industry of data retrieval services), it’s also given eager users novel ways to access information far away from the desktop.
In this installment of “Out in the Open,” we introduce you to Slim Devices (http://www.slimdevices.com), another technology company that’s fully embraced the open source model — with great success. While the company’s digital music streaming device, the Squeezebox, has won industry accolades, the real praise for the product comes from its users: because Slim Devices’ software is provided under the GPL, it can be extended quite easily — and has been — to meet any need.
Slim Devices’ Squeezebox (pictured in Figure One) streams music from your computer to your digital stereo over a wireless or ethernet network.
|Figure One: The Slim Devices’ Squeezebox attached to the author’s home stereo.|
At a compact 8.5″W x 2″H x 4.5″D size and sporting several forms of audio output, including standard RCA connections, a headphone jack, and optical and gold-plated S/PDIF outputs, the Squeezebox can be used practically anywhere. Better yet, it’s compatible with BSD, Linux, Mac OS X, Solaris, and Windows, and supports a wide variety of popular music formats, including MP3, Ogg Vorbis, WMA, and even Shoutcast streams, among others.
Although we were excited at the prospect of trying the Squeezebox, our previous experiences with similar products made us skeptical. However, it quickly became apparent that convenience is king when it comes to the Squeezebox.
Installation was a breeze, requiring less than fifteen minutes to successfully stream music.
Following the instructions provided in the box, we installed and configured the software (included on a CD) on a Linux workstation hosting a large MP3 collection (more about the software in a moment). Next, we connected the Squeezebox to a home stereo system, entered the 128-bit wireless network key via the supplied remote control, and gleefully watched as the Vacuum Fluorescent Display (think LCD on steroids) reported that it had connected to our DHCP server and successfully requested an IP address. Finally, we used the remote control to navigate to our MP3 playlist, which was designated during the software configuration process. Now connected, a tug-of-war ensued over whether to rock out to Enya or Santana.
The companion software, known as SlimServer (shown in Figure Two), both manages your music collection and communicates with the Squeezebox.
|Figure Two: The SlimServer application|
The SlimServer isn’t unlike other music players that you may have used in the past: it offers a simple interface for browsing and searching your library and managing playlists. However, SlimServer’s architecture is what’s intriguing: it’s completely web-based, written in Perl, and released under the GPL.
Since it’s open, a community of developers around the world have contributed a rather amazing array of features that greatly enhance the utility of the base product. You can view a comprehensive list of known contributions on the Slim Devices site at http://www.slimdevices.com/dev_third_party.html.
For example, Kevin Walsh has developed a number of plug-ins, some of which include a BBC News ticker, a blackjack card game, and a phone book. Learn more about his contributions at http://www.slimp3.rtfm.info/downloads/index.html. Also, Christoph Hoffman wrote a Windows application to facilitate the translation of the SlimServer interface. You can download the application at http://www.ccweb.cc/sle. Many of the SlimServer controls have been translated into seven languages.
Slim Stands Up
To learn more about Slim Devices’ open business approach, we spoke with CTO Dean Blackketter. Blackketter shared some rather valuable insight into the company’s decidedly entrepreneurial origins, product specifications, and his thoughts on technology development trends.
LINUX MAGAZINE: Tell us a bit about Slim Devices’ history.
DEAN BLACKKETTER: Slim Devices was founded in early 2000 by CEO Sean Adams. He developed the hardware for our original product, the SLIMP3, on his own, with a little seed money from his family. With the help of a friend, he even hand-soldered the first 100 units!
At the same time, I was taking some time off after a whirlwind adventure at WebTV and was working on my own networked MP3 system based on off-the-shelf hardware. I saw a posting about SLIMP3, bought one from that first batch, and started working on the software for it.
I started sending Sean patches, and he sent me a free player. I sent him more software and he sent me some stock. Finally, after some substantial work on my part, we realized that we both were committed to it full time, so he sent me a job offer.
Since inception, Slim Devices has raised about $330,000 in seed money from family and some outside investors. Beyond that, we’ve grown and created new products from the revenue on sales of SLIMP3 and Squeezebox.
LM: What’s the size of the Slim Devices staff?
BLACKKETTER: We have about twelve full-time employees now. That includes our manufacturing team, which does the final assembly of Squeezebox in-house in Mountain View.
LM: How many comprise the IT team?
BLACKKETTER: I’m the CTO and webmaster. I also lead server software development with a great deal of help from our open source community. Sean keeps our network, web, and mail servers running, and Kevin, our technical support manager, maintains our community system (mailing lists, CVS, Wiki, and bug tracking). Desktop support is always available from the person to your left.
We’re a multi-platform shop with Macs, Windows, BSD, and Linux in-house. Most of the desktops are Macs, with Windows PCs where necessary. BSD is our preferred server platform.
LM: How did the decision to build the Squeezebox come about?
BLACKKETTER: Our first product, SLIMP3, was originally designed to be a test bed for a low-cost embedded Ethernet module. But there was such terrific interest in it — that is, people bought them — that it became our flagship product.
Once we had SLIMP3 shipping in volume, we received a lot of feedback from our customers about how we could improve it. The top three requests were built-in wireless, digital output, and support for uncompressed audio. So we gave the people what they wanted.
LM: The Squeezebox has won accolades across the IT community. Did the considerable interest in your product come as a surprise?
BLACKKETTER: Not really. Our original target market was “geeks like us,” but we’ve worked very hard to make the product as intuitive and simple to use as possible. It’s hard to make something easy-to-use, but in the end, both our technophile customers and their spouses are happy.
LM: Describe the hardware development process. What have been some hurdles in getting the platform and accessories, such as the remote control, constructed?
BLACKKETTER: We do as much as we can in-house. Sean is our lead hardware designer, and we have a printed circuit board designer, Mike Fieger. Together, they do the electronic design. We’ve had some outside help from Black Rose Technology for our industrial design of the case, and for our remote, we have an outside vendor that specializes in custom remote controls.
LM: What’s been the overall time to market for the Squeezebox hardware and the initial server release? Are any hardware updates/upgrades planned?
BLACKKETTER: The SlimServer software has been evolving since 2001. Squeezebox took us longer than we had hoped, almost a year. Since we’re such a small company with capital constraints, we sometimes have to trade time for money.
We don’t comment on future hardware updates (other than there will be some). The software is in continuous development with new pre-release versions available every day and new minor releases available about every month.
LM: Can you tell us a bit about the internal hardware components of the Squeezebox?
BLACKKETTER: The Squeezebox CPU is from a company called Ubicom, and is traditionally found in low-end networking equipment, such as wireless bridges and access points. It connects directly to an 802.11b wireless card and to an integrated MP3 and D/A converter. The Ubicom chip is a really interesting design: it’s fast enough to do an Ethernet MAC in software and has a lot of integrated hardware that helps us keep the parts cost down. When we can do something in software instead of hardware, we generally stick to software.
LM: Are there any plans to release the SlimServer hardware specifications?
BLACKKETTER: The bulk of SlimServer is under the GPL, so it’s all there. The network protocols are all documented. The Squeezebox firmware is currently closed source, but we’re considering changing that in the future.
LM: Why license SlimServer under the GPL?
BLACKKETTER: Sean originally put together a little Perl script that acted as a server for SLIMP3 and placed it under the GPL, which is generally what he does whenever he has a bit of software he wants to share. Our customer base really loved this concept and has contributed greatly over the years, so we stuck with what worked.
LM: Does SlimServer use any other development languages aside from Perl? What brought about the decision to base it on Perl?
BLACKKETTER: The main SlimServer application is written in Perl. On Windows, there’s a MFC application that acts as GUI shell embedding an Internet Explorer ActiveX control. The Mac side has a Cocoa application for installation and another application for a System Preferences pane. We expect to move some of the server to C down the road for performance reasons. Perl has been great to us since there’s such a huge community of folks out there who know a bit of Perl and feel comfortable writing a plug-in or fixing a bug.
LM: With the rise in digital music devices such as the Apple iPod or Dell’s digital player, has Slim Devices seen similar growth?
BLACKKETTER: We’ve seen some excellent growth in sales of our product and an explosion of introductions of network-enabled music players from other manufacturers. That said, it’s a new category and requires a little customer education to explain the basic concept. Our ideal customer is somebody who’s ripped all their music for their iPod and understands how it changes their relationship with their music. Squeezebox lets them free the music that’s trapped in their iPod or PC and listen to it around the home.
LM: Any sort of venture capital interest?
BLACKKETTER: Yes. In fact, we’re working on a round of financing right now.
LM: The idea of providing extensible interfaces to products seems to be gaining popularity. For example, Amazon, Google and eBay all offer web services hooks for their data stores. Do you see this trend continuing, and what sort of benefit to you think it has for the consumer?
BLACKKETTER: It’s of enormous benefit. In our case, we couldn’t possibly come up with the great ideas and software that come from our community. So, we focus on making ways to help folks extend the SlimServer platform. Every person who writes and contributes a little Perl script to make their Squeezebox more valuable to them helps make every Squeezebox more valuable to every customer.
LM: Do you feel there is an opportunity for other open source projects to establish a hardware presence? There are instances where open source networking projects could develop an accompanying standalone appliance.
BLACKKETTER: Absolutely. The challenge is to make sure that you make the hardware valuable enough to compete with commodity hardware companies and cloners, especially when you consider the substantial cost advantages that Asian manufacturers have.
LM: Given the success of the Squeezebox, surely you have something else planned for the future. What’s next?
BLACKKETTER: There’s a lot of good stuff happening with SlimServer, including software-based players, plug-ins to access a wide variety of music available on the Internet, home automation, and more. Like I said, we don’t comment on future hardware developments.
We have to have some surprises!
If you have a particularly interesting use of Open Source software, please contact us at firstname.lastname@example.org with the details and we’ll be in touch. Thanks to Slim Devices for the evaluation Squeezebox, and to Dean Blackketter for his valuable input.