Design-time behaviours include the use of reactive protocols in the face of congestion, such as in the video conferencing tools vic and ivs. These are fixed policies of degradation, or fixed trajectories through the implementation space. In general design-time policies are easier to encode.
However, as the applications become more generic and are used for more disparate tasks, then the semantics of the application are increasingly determined by the context of use, and the utility of the application is difficult to pinpoint. An application which simply reports the state of some object has simple semantics and will only be used in a very limited set of contexts, and thus the behaviour can be pre-determined. The user can either have an update or not. On the other hand, a web browser is used by users in many different ways [10, 14], and the semantics of the retrieved pages depend highly upon context. As designers, we can only make best guesses about the utility of various implementations, and so we can only select trajectories through implementation space that approximate the profile of some imaginary user. In real situations, we must allow users to override profiles to determine which aspects of the application semantics are important to them at run-time.