Portable Distributed Objects, or PDO, is a programming API for creating object oriented code that runs anywhere on a network of computers. It was created using the OpenStep system, whose use of Objective-C made the package very easy to write. It was characterized by its very light weight and high speed, things that cannot be claimed for similar systems like CORBA. Versions of PDO were available for Solaris, HP-UX and all versions of the OPENSTEP system. A version for working with Microsoft Component object model (then known as OLE) was also available, called D OLE. D OLE allowed you to write distributed code using PDO on any platform, which would be presented on Microsoft systems as if they were local OLE objects. At the time PDO was one of a number of distributed object systems, which was, for a time in the early 1990s, the next big thing in programming. The idea was to produce front end applications on GUI-based microcomputers that would call code running on mainframe and minicomputers for the processing and data storage. At the time Microsoft was evolving OLE into the Component Object Model or COM, and the similar distributed version, DCOM. IBM was late in the evolution of their System Object Model (SOM/DSOM) and even Sun Microsystems was promoting their Distributed Objects Everywhere (there were a host of smaller players as well). With the exception of the limited functionality in COM, most of these systems were extremely heavyweight, tended to be very large and slow, and often were very difficult to use.