Mobile computing allows users to access network services from anywhere using computers while on the move. The architecture of mobile computing includes programming languages like Java, operating systems like Symbian OS and Windows CE, middleware components, and protocols like GSM, UMTS, Bluetooth, and 802.11. Future devices may include pen-like computers that project both monitors and keyboards onto surfaces, bracelet-sized computers, and systems like the "Spider computer" that projects keyboards and images onto walls.