> If possible replicate some of the earlier work because you may discover that you're building on a lot of unreported assumptions.
I concur wholeheartedly, and this is my recommendation to every new PhD student. Replicating earlier work has many benefits for a PhD student in the beginning of their studies:
* It forces them to deeply understand the system they're replicating. Much more deeply than simply reading the paper would.
* It allows them to uncover the many corner cases which the original paper probably just briefly mentions. (If it mentions them at all.)
* It makes them think about how they would design an experiment so that it is repeatable and reproducible.
* It is a good source for inspiration for alternative solutions to the problem or even new problems altogether.
Alas, replication is way too uncommon in systems CS, which I think is one of the reasons why other scientists often look down on systems research.
There is a protocol called CoAP that has some traction [1,2]. It describes a standard for accessing sensor data and also includes discovery. Technically, I don't think there is a major challenge.
The problem, IMHO, is rather in who will pay for the physical devices. The common view is that there is no money to be made from the sensor hardware itself. Thus, the only way to sell hardware would be to bundle it with a service that the user pays for. Assume that I, as a utility company, subsidize a smart meter to be installed in customers' homes -- what would be my incentive to open it up to other developers?
I concur wholeheartedly, and this is my recommendation to every new PhD student. Replicating earlier work has many benefits for a PhD student in the beginning of their studies:
* It forces them to deeply understand the system they're replicating. Much more deeply than simply reading the paper would.
* It allows them to uncover the many corner cases which the original paper probably just briefly mentions. (If it mentions them at all.)
* It makes them think about how they would design an experiment so that it is repeatable and reproducible.
* It is a good source for inspiration for alternative solutions to the problem or even new problems altogether.
Alas, replication is way too uncommon in systems CS, which I think is one of the reasons why other scientists often look down on systems research.