In an age of cheap mobile compute devices, we would like an ubiquitous computing environment  in which applications can follow us around as we move from computing interface to interface, and from device to device. However, because of the well-known constraints of battery power, display capabilities and network characteristics for mobile computing, the resources are not equally available across all platforms. To allow applications to scale across the platforms, we need the applications to adapt to the changing constraints of the resources available in the environment.
There have been a number of adaptive applications, ranging from those attempting to alleviate the effects of congestion and limited bandwidth, such as vat , vic , ivs  and rat , to User Interface Management Systems such as Amulet  which attempt to adapt to the display capabilities through battery management schemes within the operating system. The rise of middleware has generated renewed interest in providing generic adaptation policies, but we believe that the interfaces to manipulate resource requirements are phrased in the wrong vocabulary . Recently there has been an attempt at defining object design patterns , but these do not address the holistic application. The work on the Glomop architecture  is closest in approach to our work. We have focussed on developing a policy control architecture rather than developing a scalable solution, and in particular in generalising to an architecture of adaptive applications.
In this paper, we provide a number of design choices which should be explicitly addressed when designing an adaptive application. We believe these design choice are common across all adaptive applications, and are fundamental in determining how successful the application is in adapting to changing resources yet still providing utility to the user. After explaining the design choices, we illustrate their use in the design of an Image Proxy for the WWW. A feature of adaptive applications is that they are no longer purely systems design - they interact with users directly, and we believe that user studies must be undertaken to determine the appropriate interface and behaviours for the application. We finish by describing some of the political issues that arise when adaptive applications are used.
As a side product of this work, we have empirically determined appropriate quality factors for JPEG images, which are much lower than those produced by standard scanner software. We show that if JPEG images are reduced to the threshold quality factors, then image file sizes can be significantly reduced, lightening the ever-increasing load on the Internet.