This document discusses the evolution of mobile computing and pervasive computing. It describes how mobile computing involved distributed systems with mobile clients, and key constraints of mobility like unpredictable networks and limited resources. Pervasive computing builds on this by integrating computing capability throughout the environment so it is seamlessly used in everyday life. Research in pervasive computing also considers effective use of smart spaces, invisibility of computing technology, localized scalability, and masking uneven conditions.