The use of cellular data networks is increasingly popular due to the widespread deployment of 3G technologies and the rapid adoption of smartphones, such as iPhone and GPhone. Besides email and web browsing, a variety of network applications are now available, rendering smartphones potentially useful substitutes for their desktop counterparts. Nevertheless, the performance of smartphone applications in the wild is still poorly understood due to a lack of systematic measurement methodology. We identify and study important factors that impact user-perceived performance of network applications on smartphones. We develop a systematic methodology for comparing this performance along several key dimensions such as carrier networks, device capabilities, and server configurations. To ensure a fair and representative comparison, we conduct controlled experiments, informed by data collected through 3GTest, a cross-platform measurement tool we designed, executed by more than 30,000 users from all over the world. Our work is an essential step towards understanding the performance of smartphone applications from the perspective of users, application developers, cellular network operators, and smartphone vendors. Our analysis culminates with a set of recommendations that can lead to better application design and infrastructure support for smartphone users.