To support users in performing their tasks, applications need a better understanding of the current situation they are being used in. This chapter gives an overview of how knowledge of the current context, that is, information characterizing the situation, can be represented and how this knowledge can be used for enhancing applications. We discuss what is actually meant by “context” and “context-aware” applications. Further, we describe what has to be considered when building a context-aware application. We thereby focus on the representation of context information and how to deal with its unreliable nature. This chapter should sensitize the reader to the difficulties of using context information and give guidelines on how to build an application that benefits from knowing its current context.