Cleogo is a novel groupware environment that allows several users to simultaneously develop programs through any mixture of three alternative programming metaphors: a direct manipulation language for programming by demonstration; an iconic language; and a standard text-based language. Cleogo is motivated by the pedagogical values of peer-learning and of collaborative problem solving, and by our desire to investigate flexible and appropriate user-interfaces for programming, particularly for youthful users. Through its real-time groupware facilities Cleogo provides a shared conversational artifact around which students can talk, gesture and work on programming tasks. Its three concurrently active programming metaphors allow students to choose a method of program expression that best suits their task and skill level. Critical issues in the design and motivation of Cleogo are described.