Context-aware computing refers to a general class of mobile systems that can sense their physical environment, i.e., their context of use, and adapt their behavior accordingly. Such systems are a component of a ubiquitous computing or pervasive computing environment. Three important aspects of context are: (1) where you are; (2) who you are with; and (3) what resources are nearby. Although location is a primary capability, location-aware does not necessarily capture things of interest that are mobile or changing. Context-aware in contrast is used more generally to include nearby people, devices, lighting, noise level, network availability, and even the social situation; e.g., whether you are with your family or a friend from school.