Global roaming and high-quality wireless communication, is now becoming a reality. This is mainly due to recent technological advances in wireless communications which consist of a wide range of technologies and applications to fulfill the particular needs of end-users in different deployment scenarios (Bluetooth, Wi-Fi, WiMAX, and 3G/4G cellular systems). In such a heterogeneous wireless environment, one of the key ingredients to provide efficient ubiquitous computing is the design of intelligent handoff algorithms which select the optimal target network. This paper presents a novel approach for the design and implementation of a multi-criteria vertical handoff decision algorithm for heterogeneous wireless networks to achieve seamless mobility while maximizing end-users' satisfaction. A weighting scheme is first proposed for the system parameters and consequently, two important modules are proposed. The first module estimates the necessity of handoffs and the other module selects the best network for future connection using a FTOPSIS ranking algorithm. Performance of our scheme is illustrated by an exemplary deployment scenario and also by simulating a practical heterogeneous wireless environment for a single user scenario.