The photon is an attractive physical system for representing a quantum bit. Single photons can be detected with high quantum efficiency for a wide range of wavelengths, using a variety of technologies. Three of the most experimentally accessible devices for manipulating photon states are mirrors, phase shifters and beam splitters. Arbitrary unitary transforms can be applied to quantum information, encoded with single photons in the dual-rail representation, using phase shifters and beam splitters. We have gained some valuable insight into the nature of the architecture and system design of a quantum computer, from studying this optical quantum computer.