DP4 application programs that use devices may be written in QA Build, or C.
The OSDI helps the application developer in three ways:
It allows him or her to write standard DP4 applications that can be used with any combination of input and output devices
The exact implementation of the special devices is hidden from the application programmer
It localises and minimises any device-specific code that must be written
A DP4 application can make calls to handle both output and input devices. The DP4 device interface hides the device implementation from the application via a set of general device handling calls. These calls can only reference devices that have been defined on the system database. For output devices the application program generally only has to select the required output device from the system database and then output the desired data to it. Output to any device uses the same programming techniques as are used for general purpose printing in DP4 (as explained here). The application may contain some error handling, though this will be localised as far as possible. The application may also request status information from the device.
Input device handling generally consists of selecting a range of input devices from which input is acceptable. The application than calls the normal APIs for data input. Once entry is complete the application may want to know where the input came from. This information is available via a simple API.