This chapter describes the preparatory work that has been done prior to the implementation phase. An object model of shared objects was created first. The next step was to design a communication architecture that allows the distribution of those objects. Finally, decisions have been made about the tools and language that should be used to implement the application.