Hosting part of the functionality of consumer and other volume-produced devices on centralised servers has twin benefits: more features can be provided on low-cost embedded hardware and new features are enabled by the connectivity and centralisation of information. This paper will start by introducing the model of embedded devices and the remote services that they access, in order to provide an understanding of the demands placed on such embedded applications. The paper will then examine the requirements on the embedded support software (real-time kernel, TCP/IP stack and application services such as HTTP server) that are needed to support those applications. These components differ from conventional operating systems and communication stacks in order to provide the standard Internet protocols within the constraints of low-cost micro-controllers. These differences in turn affect the way in which connected, embedded applications are built. The techniques used in such applications form the final focus of the paper.