Archetype-based design: Sensor network programming for application experts, not just programming experts