Even as I plug jumper wires into my breadboard, I’m aware of how much more powerful and easy it is to do things in software, and how much more reach you get through a web browser. Olinda has physical slots for six “friends” on its hardware social unit – revolutionary for a radio, but a meh replacement for an iChat buddy list that *scrolls*.
Why is hardware harder and less powerful than writing some software that can be experienced through, for example, a web browser, or an operating system? Or..is it something about the materiality of hardware that changes things into hard problems to solve. Certainly software is “easier” in the sense that you can more-or-less sit still, get zen and code. And finding the right tools nowadays, with online communities and such makes the route to solving problems less onerous.
I tend to think that it has something to do with the communities — the real toolkits — and their ability, from the grassroots, to work with the material. Both software and hardware have been (and in many instances, continue to be) economic commodities — someone’s trying to make a buck. Nothing wrong with that, of course. But hardware has been particularly expensive, partly because it’s material stuff, with weight and elaborately toxic and costly process costs. But, also because very few companies have had the foresight to consider how free or subsidized hardware could be a smart, strategic investment. Atmel, makers of the microcontroller that goes into Arduino’s, had that kind of foresight. They’ve underwritten most of their development kits so that they literally loose money. Their kits and programming tools are top-notch and it’s barely fair to complain, although some do, and I bristle when a tinkerer grouses about a $30 programming module. This of course from the vantage point of a hardware geek going back to the late 80s, where scoring a Xerox 820 at a Ham Radio fair set me and some buddies back a few hundred bucks, no O/S, barely any documentation. Now you get an open model — everything is revealed to you, there’s support for GCC, etc.
If I were to make a prediction, I’d guess that hardware will become more relevant not just “cause” but for the ease with which it will be possible to “code” your ideas in various interesting and hopefully playful and even preposterous ways, and the linkages between idea-objects will be as routine as TCP/IP is today. (This is already happening at the fringes. I just recently received a bit of hardware that sits atop an Arduino and allows it to talk over a standard TCP/IP link. Open hardware, open software — your own programmable networked device for about $70, all in.