Users of applications don't care about the subtleties of network and display performance - they just want the software to work. Thus whether the behaviours are fixed at design-time or run-time, the user should be able to use the application without fiddling with editors to set values up. So the designer must determine and install a set of trajectories through the implementation space that correspond to some expected path through resource availability. We thus provide some fixed trajectories which give the application a behaviour when degrading in the face of resource shortage. In doing so, the designer has to determine the likely contexts in which the application is to be used, so that they can guess at the likely semantics, and then experiment and select appropriate behaviours.
The choice of fixed trajectories has a large impact on whether users will use an application and so is a very important part of the design process. We believe that the context and associated semantics can only be determined by users, so as designers we must bring users into the design process. If possible, we should study them in situ, but if this is not feasible due to project budgetary constraints they should at least be used in experimental mock-ups.