This paper motivates and describes the notion of ad hoc mobile information systems. Such a system consists of a decentralized and self-organizing network of autonomous, mobile devices that interact as peers. Connectivity is determined by distance between devices; as hosts change their physical location they establish pair-wise peering relationships based on mutual proximity. We describe application scenarios for ad hoc collaboration with mobile devices and identify technical challenges of mobile peerto-peer systems. Moreover, we present the goals and architecture of Proem, a peer-to-peer system and development platform for mobile ad hoc applications. Proem has successfully been used as instructional tool in an advanced Software Engineering course on Peer-to-Peer Computing.