There are various definitions of how people view widgets. For our purposes, we define widgets as standalone Web applications that use browser technologies such as HTML, Ajax, JavaScript and CSS. Widgets represent a repackaging of Web content that can be more appealing or easier to use than the browser. A widget can actively present information on the "idle" screen, or be easily executed in an application menu, or as an icon on the "idle" screen. Like an application, a widget is downloaded, and is then available without subsequent downloads. Widgets can also use and access APIs.
There are various browsers that have built-in widget support such as Access Netfront, Opera Mobile, Symbian S60, and Obigo. There are also many popular standalone widget frameworks. Additionally, there exist handset-specific and platform frameworks for widgets.
Widget requirements are being standardized by the W3C Webapps group. One example is "Widgets 1.0: Requirements," which standardizes packaging. The following table summarizes the items typically found in a widget framework.
Item | Details |
|---|
SDK | Widget emulator, device API simulators, JavaScript debuggers, CSS and DOM inspectors, XHRT/HTTP loggers/debuggers. |
| Administrative Tools | Certification/signing; capabilities for widget polling, notification, updates, revocation. |
| Widget Client | Widget runtime. Separate executable or part of browser. |
Web Sites | Public- or operator-hosted Web sites that contain a library of widgets for that framework |