On 9th January, 2007, Apple officially launched the iPhone, and the world of user interface design shifted. While tablet PCs had been around for a while, the iPhone was the first device to give so many people a portable touchscreen, and people loved it. Just over a year later, Google and the Open Handset Alliance announced Android which in many ways is the direct competitor to iPhone.
What is it about touchscreen phones that we love? The answer is simple—feedback. Touchscreens offer a way to directly manipulate on-screen objects, which in the past had to be driven through a keyboard, mouse, joystick, or other input device. The touchscreen model of direct manipulation has a large impact on the way we think about our user interfaces as developers, and changes the expectations a user has for the application. Touchscreen devices require us to stop thinking in terms of forms, and start thinking about object-oriented user interfaces.
Android is used as the primary operating system for a rapidly expanding range of consumer electronics, including:
-
Smartphones
-
Netbooks
-
Tablets
-
Some desktop systems
While all of these devices have different purposes and specifications, all of them run Android. This is unlike many other operating environments which are almost always have a special purpose. The services and the APIs they provide to developers generally reflect their target hardware. Android on the other hand makes the assumption that a single application may be required to run on many different types of devices, with very different hardware capabilities and specifications, and makes it as easy as possible for developers to handle the differences between these devices simply and elegantly.