Among the challenges for the Internet of Things, two stand out: a scalable application layer with wide interoperability and a common, reliable programming model. We propose to strip all application logic from the firmware and only provide a RESTful interface to the hardware functionality. Critical parts such as the network stack remain in the immutable firmware that is maintained by experts. Applications are developed atop the resource abstraction and run in the cloud. Leaving the embedded domain, application development is eased while sharing and customizing applications helps to cope with the vast number of diversified device types.