Advanced mobile communications and portable computation are now combined in handheld devices called "smartphones", which are also capable of running third-party software. The number of smartphone ...