In a distributed collaborative application, a key requirement is that all users see the same copy of a shared window object at any given point in time (WYSIWIS). In this paper, we study 'userassisted causal ordering' of messages as the basis for achieving WYSIWIS. The approach requires specifying the synchronization constraints on accessing shared window objects in the form of an order in which messages need to be processed and object state updated. The specifications are made available to the window subsystem based on the user-level knowledge about the actions on objects and the current (shared) object state. In contrast with the current approaches employing transaction models, our approach allows flexibility in the programming of collaboration-style applications, and offers increased levels of concurrency.