Like many computer scientists of a certain age, I spent a nontrivial part of my graduate career going to academic talks about “sensor networks,” which were apparently an extremely hot research area in the early-middle aughts, suitable for distinguished lectures early on, faculty candidate talks later, and targeted research areas for not-particularly-prestigious academic job postings long after the rest of the field had moved on. The basic idea was that you’d have these enormous collections of tiny, autonomous primitive computers that were capable of self-organizing and reporting interesting-in-the-aggregate results to somewhat more powerful computers.
Sensor networks work touched on a lot of interesting challenges in systems and engineering, and the talks were always fascinating from a bottom-up perspective. But it always struck me as a solution in search of a problem. The motivation for these talks, perhaps due to the political and funding climates of the time, was always wrapped up in vague ties to national security. Depending on the host institution of the researcher presenting, the always-implausible hypothetical applications for this technology might involve placing one sensor in every cubic meter of the San Francisco Bay in order to detect bioterror attacks, or perhaps placing one sensor anywhere in the Charles River in order to verify that you should not place yourself in the Charles River.
If only these talks had led off by introducing ANT+, I would have maintained my interest far more readily. ANT+ is a real-world sensor network technology with a useful application (collecting data from fitness equipment like heart rate monitors and bike computers) that has to meet nontrivial engineering challenges (for example, working when everyone in a race is using them simultaneously). As a practical bonus, having a single standard for these devices means that I can track my bike computer or heart-rate monitor from a watch or from a cell-phone dongle — and that I can add additional data sources easily without being locked in to a single manufacturer.
Every computer scientist I know has given at least one talk with some ridiculous big-picture claim as the ostensible motivation, even though everyone in the room knows that — to use an example from one of my own talks — program analysis is interesting to computer scientists, on some level, whether or not making good software is uniquely hard or expensive among engineering disciplines. Not every research focus lends itself to a motivation that is both likely to occur in the real world and compelling to nonspecialists. But I’m inclined to believe that the field would be well-served by devoting more effort to finding such motivations, and the problems that they imply.