In the recent years, the cloud approach to computing has become increasingly popular, in part because it provides location- and device-independent access to applications and data. This feature, in turn, allows to implement a computing system with unified data, in which one's data can be accessed and modified from any device one uses. However, pure cloud computing architectures may be a relatively poor implementation of such a system, with potential issues including non-availability, merge issues and trust issues. In this paper, a three-component model of human-machine interaction is introduced, and various approaches to implementing a unified-data computing system are described using this model, including offline detachable storage and classic cloud infrastructures such as Software-as-a-Service and Cloud Storage-as-a-Service. Their strengths and weaknesses are then analyzed. An alternative approach to building a unified-data computing system is suggested, which combines most of the strengths of both cloud-based and offline approaches.