Unlike desktop machines which all have large screens and pointer mechanisms, mobile devices come in a wide range of shapes and sizes and have a variety of input mechanisms. As much as possible, we would like to write applications that run well on any kind of mobile device. There is a definite difference between simply running on a device and running well.
Usability is a vital concern for mobile devices where environments vary and expectations for ease of use are very high. eSWT and Mobile Extensions attempts to normalize devices so that the application programmer does not have to do a lot of work to handle the differences among devices. It does this in two ways: implicitly, by providing a device’s native look and feel that a user is familiar with, and explicitly by providing mechanisms that abstract input and output through the actual device hardware.
Implicit normalization automatically provides some level of device adaptation by giving applications indirect access to a device’s native widgets. Since eSWT widgets are implemented using a platform’s native widgets, eSWT widgets appear and behave similarly to widgets in native applications. The end-user can recognize and interact with these widgets as they’re use to. The programmer gains these benefits simply by using eSWT widgets.
Explicit normalization is provided via specific mechanisms that a programmer is encouraged to use. These generally fall into two categories: organizing output on a display and handling different input mechanisms.
Parent topic: Using widgets on devices: XPD621