Bug Labs de-bugs the hardware business


Bug Labs is a start-up with the laudable (and long overdue) ambition of making hardware-building "just as easy as writing software or Web applications". That's from the index page. Dig down and find that "Bug Labs envisions a future where CE stands for Community Electronics, the term 'mashups' applies equally to hardware as it does to Web services, and entrepreneurs can appeal to numerous markets by inventing 'The Long Tail' of devices. In an early blog entry, Bug Labs CEO Peter Semmelhack added, "It's Legos meets Web services & APIs. Imagine being able to build any gadget you wanted by simply connecting simple, functional components together. Now imagine being able to easily program, share and connect these gadgets in interesting ways..."

At the heart of the system is the BugBase, described as "a fully programmable and 'hackable' Linux computer, equipped with a fast CPU, 128MB RAM, built-in WiFi, rechargeable battery, USB, Ethernet, and a small LCD with button controls. It also has a tripod mount because, well, why not?"

What matters most here, second only to Bug Labs' ambitions, is its beliefs and practices around Linux and open source. Adds co-founder Peter Semmelhack, "In essence, we're building an open source-based platform for programmers to build not only the applications they want but the hardware to run it on."

I asked Peter to provide some technical that would interest Linux Journal readers. Here's his response:

Every piece of code on the BUG is GPL or GPL-compatible. The pieces from the OSS world that we've leveraged (or are leveraging) are on our website here: http://www.buglabs.net/oss_list. We are using Linux 2.6.19. In addition, the hardware schematics, BOMs, etc. will be made freely available to encourage users to hack, extend, enhance it.

For our interface between the hardware and software worlds, we chose to use RESTful web services. This way it's easy to mash up the data coming from the modules with any other web service. Think of all the cool things you could do if you could mash up the camera on your cell phone, the lat/lon from your car's GPS, and Flickr, etc. Right now that's impossible but with our architecture it's pretty straightforward. It's like any other software mashup. Our SDK/IDE is essentially an eclipse plug-in and offers an integrated, visual way to configure and program your BUG. It also provides a window into BUGnet - our community site - where you can copy applications to/from, rate existing apps, participate in forums, etc.

There are three pieces to the BUG "experience": the BUG hardware, the eclipse SDK/IDE and BUGnet. They all work seamlessly together as whole product out of the box. Lastly, I want to mention that while we chose Java as the language to launch with, there is nothing stopping engineers from using whatever other language they're comfortable with: C, C++, etc. We intend to have explicit support for those in the SDK/IDE shortly.

The Bug Labs site and blog are also full of references to Free Software and open source (they're especially fond of Ubuntu), and invitations to participate in both the FOSS value system and Bug Labs' development community. Check it out at buglabs.net.