Integrating Heterogeneous Adaptation Techniques to Build a Flexible and Usable Mobile Tourist Guide