The advances in communication frameworks, such as Skype and Google Talk facilitate the increasing needs of communication-intensive and collaborative applications. These communication frameworks also make it possible for end-users to be more involved in the development of such applications if the appropriate level of abstraction can be provided. In this paper, we propose the design of a user-centric communication middleware (UCM) that supports raising the level of abstraction appropriate for end-users to create and realize models using the communication virtual machine (CVM) technology. The CVM technology consists of the communication modeling language (CML) and CVM, and supports the rapid conception, construction and realization of new communication services using a model-driven approach. The UCM is a layer in CVM that provides operating simplicity to the end-user by masking the underlying technology. We present the design goals of UCM, high-level architecture, a description of the runtime environment and a case study showing how the communication needs of a medical scenario is realized in the UCM.