The WPS presents a range of objects that must cater to the requirements of a wide variety of users. For many of these users this choice can be confusing and can, in some cases, reduce the usability of the WPS.
There is, therefore, a real need to provide a restricted range of objects which meet the exact needs of the user. While the user may have many objects, he will only want to use a small number of object types. The WPS allows him to complete any task by using only three types of objects:
The user need not see, or understand, the concept of a "program" to be able to work with a file, thanks to the associations between data files and programs. See Running Programs and Associating an Object with a Program for more information on this topic.
Note that placing program icons directly in folders on the desktop can cause problems for the Workplace Shell as well as being inconsistent with the object-oriented approach we are trying to adopt. If the user makes a shadow copy of the program icon to another folder, then direct edits (Alt-MB1) the icon description, he can change the program executable name. The correct technique is described in Shadow Copies of Programs. However, since this technique requires the user to know a lot more about the way the system works, it is probably better to simply eliminate this potential source of error by only using data file objects.
OS/2 Version 2.0 also provides new ways to pass information between programs running in different environments to provide as completely integrated a work space as possible. This saves time and prevents the user from introducing errors through rekeying data.
In addition, by removing extraneous objects, the user gains improved consistency of operation and thus enhanced usability. For example, double clicking on any object now opens a window which presents the contents of that object. This perspective is valid for data files, folders and devices, but not for programs.
This kind of consistency makes the system easier to learn for inexperienced users and encourages them to explore the capabilities of the system. An example of how to set up such a system is given in User Requirements.