The authors discuss the problems in creating the next generation of widely deployed ubiquitous computing systems and articulate current technical and sociological challenges to inspire researchers in the field. They discuss significant research challenges that have yet to be addressed. Central to documenting these challenges is recognizing the context within which we are operating, so they first describe the technical and social changes of the 1990s that directly affected ubiquitous computing then.