.... Without having any knowledge, of the desktop itself.
To create a physical separation, between the users desktop and the OS. So that a user can have a single desktop experience, and presentation of data, irrespective of what OS is, that he or she is using, or developing in.