5. The huge range of capabilities of the device – basic phone calls, text messages, to email, web surfing, watching tv channels and even GPS navigation ….and those actually used
4. Testing is a pain- either on the device or using simulators
3. The huge range of display output sizes and types
2. The what seems like millions of user input styles : pens, styluses, keypads, keyboards, touch screens, voice commands
1. The always evolving and growing of the insanely diverse set of users – people with different technical backgrounds across different ages, cultures, and environments ….