In this paper, we explore some of the new opportunities for distributed collaborative applications that emerge from the use of XML as a data specification language. We present two different approaches: the first one transparently adds asynchronous collaboration to applications whose persistent state is in XML format, while the second one helps build synchronous collaborative applications starting with an XML schema specification. Although the two approaches start with different assumptions, they both lead to the same problem—the need for a generic one-to-one conversion between objects and XML constructs. Using object properties, we define two variants of a conversion scheme for the two approaches.