Smart phones and other portable programmable devices enable people to engage and use a wide variety of data processing programs and services in a small, portable and convenient form-factor relative to the larger areas and spaces required by office workstation, laptop computers and other conventional programmable devices providing user interfaces. Besides making phone calls, smartphones provide directions through GPS, take pictures, play music and keep track of appointments and contacts, enable multiple ways of communicating (call, text instant message (IM), email, immediate photo sharing, video calling, video conferencing), keep users actively connected to the internet, enabling constant connection to social networking services. Through miniaturized hardware that packs a processor, speakers, a camera, a GPS receiver, a Wi-Fi adapter and a high definition touch-sensitive screen into a cell-phone-sized device, a smartphone provides virtually all of the functionality of larger desk-top devices.