Although wireless technology holds great promise for delivering new realms of applications, the limitations of wireless networks and devices impose considerable constraints on application delivery. Second generation (2G) wireless networks typically provide relatively low bandwidths with true data transfer rates of less than 9600 baud (about three times slower than dial-up access). Because of the inherent limitations of size and battery power, wireless devices have less powerful CPUs and memory, smaller displays, and limited input choices. Typical displays range from the 3-line, 12-character phone displays to the relatively rich ¼ VGA interfaces provided by some hand-helds. Processors in mobile devices range from minimal microprocessors found in cellphones to the 32-bit processors that power PalmOS, Windows Pocket PC, and Symbian EPOC hand-helds. Perhaps the most significant difference between wireless and the desktop is input options, which range from the telephone keypad with soft-key support to QWERTY keypads and stylus-based entry.