Developing IoT applications: challenges and frameworks | Synapse