Our approach to this problem begins with noticing that we need a way of interfacing the large number of potential sensors to the large number of potential services that is, well, not large. For this interface we use abstract datatypes from the MIME tree (eg “image”) manifest as standard types (“image/jpeg”). Our client announces to service directories that it can provide such data with a “produces” header that parallel’s the Accept header of HTTP 1.1. The service directory replies with a list of URLs to services that can consume these types. These URLs return fill-in forms, but the slots in the form are not (just) text or file slots, they also include abstract data types that the handheld client can supply. When the user selects a link, subsequent use of the device, for example taking a picture will trigger the service and upload the image.