In artificial intelligence, specifically qualitative reasoning, spatial reasoning, analogical reasoning and learning, learning from natural language, sketch understanding, and inference engine design. In cognitive science, understanding how analogy and similarity work, including the roles they play in cognitive and perceptual processes. We are developing the Companion cognitive architecture to explore the hypothesis that analogical processing is at the core of human cognition. In education, using AI techniques to create new types of educational software and activities. In human-computer interaction, the use of sketching as an interface modality to knowledge-rich systems, and the use of natural language processing with simplified English to interact with intelligent systems and reduce tailorability in cognitive simulation. In computer game design, the roles AI, and especially articulate software, can play in creating better game engines and synthetic characters.