Distributed pair programming (DPP) supports two programmers to work on the same task from different locations. One programmer acting as the driver controls the keyboard and mouse to actively write code or design document. The other partner as the navigator helps plan as well as identifies and prevents any syntactic or strategic deficiencies in code or design document. This paper first reviews the existing DPP tools and how to increase the compatibility of pair programmers. Then some pilot experiment results are proposed of pair programming with 53 students in Software Engineering course. Finally, the paper analyzes the compatibility problems of pair programming such as gender, time management, and active learning outside the classroom, which are resolved by the DPP, and some basic requirements of the DPP system are given.