Social sensing aims to collect sensory data by using human population as sensor carriers (e.g., location), sensor operators (e.g., taking photos), and sensors themselves (e.g., Twitter). The Internet of Things (IoT) applications facilitate social sensing tasks. However, designing and developing IoT applications is much more complicated than designing and developing desktop, mobile, or web applications. The IoT applications require both software and hardware (e.g., sensors and actuators) to work together on multiple different type of nodes (e.g., micro-controllers, system-on-chips, mobile phones, single-board computers, cloud platforms) with different capabilities under different conditions.