Software widget
A software widget is a relatively simple and easy-to-use software application or component made for one or more different software platforms.
A desk accessory or applet is an example of a simple, stand-alone user interface, in contrast with a more complex application such as a spreadsheet or word processor. These widgets are typical examples of transient and auxiliary applications that don't monopolize the user's attention.
On the other hand, graphical control elements are examples of reusable modular components that are used together to build a more complex application, allowing programmers to build user interfaces by combining simple, smaller components.
Classification
Because the term, and the coding practice, has been extant since at least the 1980s, it has been applied in a number of contexts.Primary types
A Graphical control element is part of a graphical user interface that allows a computer user to control and change the appearance of elements for operating a software application. In this context a widget may refer to a generic GUI element such as a check box, to an instance of that element, or to a customized collection of such elements used for a specific function or application. A Widget toolkit is a set of programming tools that help developers reuse GUI widgets to build a user interface.A desktop widget is a specialized GUI widget intended to run on a computer desktop for computer users to control simple utility functions such as clocks, messaging services, and calendars. A mobile widget is the comparable equivalent for mobile devices.
A web widget is a portable application installed and executed, typically by non-expert webmasters on HTML-based web pages, to offer site visitors shopping, advertisements, videos, or other simple functionality from third party widget publishers.
Types of web widgets
- A "widget application" is a third party web widget developed for an online social network platform, with the user interface or the entire application hosted by the network service. Social network companies such as Facebook and Myspace host these applications and provide them underlying platform services through special-purpose application programming interfaces. The term is used fairly loosely, in that many such applications are more complex internally and in operation than the simple applets that are called "widgets" in other contexts. The relationship between platform and developer is mutually beneficial, with the social network offering hardware and software infrastructure, and access to the social network's end user base, and with application publishers ranging from amateur developers to organized companies such as RockYou! and slide.com providing content and features that make the social network services more useful for their members. At present, there is no fee or payment between developers and social network platforms, and attempts to realize revenue from widgets have been relatively unsuccessful.
Types of GUI widgets
- Disclosure widgets are specific types of GUI widgets that may be hidden or expanded by computer users.
- A metawidget is a GUI widget for controlling the operation of other widgets within a GUI.
Widget engine
Widget engines are not to be confused with widget toolkits. Toolkits are used by GUI programmers, who combine several widgets to form a single application. A widget in a toolkit provides a single, low level interaction, and is prepared to communicate with other widgets in the toolkit. On the other hand, widget engines such as desktop widgets and web widgets are intended for end users. Desktop and web widgets are stand-alone, task-oriented applications which can be composed of several related interactions on its own.
Types
GUI widgets
A graphical control element represents a part of a graphical user interface which the user can use to interact with the program the GUI belongs to. Graphical control elements are implemented like subroutines. Widget toolkits and software frameworks, like e.g. GTK+ or Qt, contain them in software libraries so that programmers can use them to build GUIs for their programs.Graphical user interface builders, such as e.g. Glade Interface Designer, facilitate the authoring of GUIs.
Desktop widgets
Desktop widgets are interactive virtual tools that provide single-purpose services such as showing the user the latest news, the current weather, the time, a calendar, a dictionary, a map program, a calculator, desktop notes, photo viewers, or even a language translator, among other things. Widgets can provide or augment the graphical shell.Examples of widget engines include:
- Dashboard widgets of Apple Macintosh
- Microsoft gadgets in Windows Vista, Windows 7, and in the Windows Live system - No longer supported, use now discouraged by Microsoft.
- Various implementations for Linux, including Plasma widgets and the widget engine used by GNOME Shell. Both are active and under development.
- Google Desktop running Google Gadgets - No longer supported, discontinued, some security issues re: data sharing.
- Yahoo! Widgets for Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10, Mac OSX - No longer supported by Yahoo but still functioning on Windows, Since Mac OSX 10.11 El Capitan the Yahoo widget dock is non-functioning but the majority of widgets still operate as expected and are accessible instead from the menu.
- XWidgets - for Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10 and Android - Last updated in: 2 March 2015.
- Kludgets - for Windows - Allows Mac dashboard widgets to operate on Windows. Open Source, not actively developed.
- Opera Widgets on all platforms using the Opera browser's rendering engine. Opera Widgets were discontinued since the version 12 of the browser.
- Screenlets for Linux and other Unix-like operating systems - This engine runs on X11 and is under sporadic development
- Homescreen widgets in Maemo
- Homescreen widgets in Android
Widget draft standard
On 9 November 2006, the Web Application Formats Working Group in W3C released the first public working draft of Widgets 1.0. The intention is to standardise some aspects of widgets. The Opera browser is the first client side widget engine to adopt this draft W3C standard. Apache Wookie is the first server side widget engine to adopt this W3C standard. Wookie is a server that manages widget instances and allows them to be embedded in web applications in addition to being provided for client devices such as Opera.Mobile widgets
Most mobile widgets are like desktop widgets, but for a mobile phone. Mobile widgets can maximize screen space use and may be especially useful in placing live data-rich applications on the device idle-screen/home-screen/"phone-top". Several Java ME-based mobile widget engines exist, but the lack of standards-based APIs for Java to control the mobile device home-screen makes it harder for these engines to expose widgets on the phone-top.Several AJAX-based native widget platforms are also available for mobile devices.
The growing pervasiveness of mobile widgets is easily understood. While widgets are a convenience in the online world, they can be looked at as near-essential in the mobile world. The reason: the mobile device is small and the interface is often challenging. Wading through large amounts of information in a mobile environment is not just a nuisance; it is a near impossibility.
Android, of all mobile operating systems, has supported mobile widgets natively since April 30, 2009.
Some of the most popular widgets on the Android operating system include DashClock, Google Keep and HD Widgets.
Web widgets
Web browsers can also be used as widget engine infrastructures. The web is an environment well suited to distribution of widgets, as it doesn't require explicit interaction from the user to install new code snippets.Web widgets have unleashed some commercial interest, due their perceived potential as a marketing channel, mainly because they provide interactivity and viral distribution through social networks. The first known web widget, Trivia Blitz, was introduced in 1997. It was a game applet offered by Uproar.com that appeared on over 35,000 websites ranging from GeoCities personal pages to CNN and Tower Records. When Uproar.com was acquired by Vivendi Universal in 2001, the widget was discontinued.