Widget
A widget (or control) is a graphical interface component that a computer user interacts with, such as a window or a text box. Widgets are sometimes qualified as virtual to distinguish them from their physical counterparts, e.g. virtual buttons that can be clicked with a mouse cursor, vs. physical buttons that can be pressed with a finger. Widgets are often packaged together in widget toolkits. Programmers use widgets to build graphical user interfaces (GUIs).
Alternatively, a widget is a small specialised desktop application that provides easy access to frequently used functions or provides some visual information. Early examples of widgets were desk accessories on Mac OS. Typical widgets include news aggregators, clocks, calculators, calendars, desktop notes and weather forecasts.
Originally, desk accessories were developed to provide a small degree of multitasking, but when real multitasking OSes became available, these were replaced by normal applications. However, the widget model is attractive because of ease of development. Most widgets can be created with a few images and from less than ten to several hundred lines of XML/JavaScript/VBScript, depending on their complexity.
On Windows, support for widgets is mainly provided by Konfabulator, Samurize, DesktopX, Kapsules, AveDesk, and similar widget engines. Native support for widgets is included in Mac OS X v10.4 (via Dashboard). Support for widgets seems to have been removed in the upcoming Windows Vista by the latest developer builds.