Jump to content

Software widget: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
Tags: Reverted Visual edit Mobile edit Mobile web edit
 
(31 intermediate revisions by 16 users not shown)
Line 1: Line 1:
{{Short description|Part of a larger software application which has a stand-alone UI and simplified features}}
{{Short description|Part of a larger software application which has a stand-alone UI and simplified features}}
{{More citations needed|date=February 2024}}
[[Image|A]] '''software widget''' is a relatively simple and easy-to-use [[software application]] or [[software component|component]] made for one or more different [[software platform]]s.

A '''software widget''' is a relatively simple and easy-to-use [[software application]] or [[software component|component]] made for one or more different [[software platform]]s.


A [[Desk accessories|desk accessory]] or [[applet]] is an example of a simple, [[Standalone program|stand-alone]] user interface, in contrast with a more complex application such as a spreadsheet or word processor. These widgets are typical examples of [[Application posture|transient and auxiliary applications]] that don't monopolize the [[End-user (computer science)|user]]'s attention.
A [[Desk accessories|desk accessory]] or [[applet]] is an example of a simple, [[Standalone program|stand-alone]] user interface, in contrast with a more complex application such as a spreadsheet or word processor. These widgets are typical examples of [[Application posture|transient and auxiliary applications]] that don't monopolize the [[End-user (computer science)|user]]'s attention.
Line 21: Line 23:
}}</ref>
}}</ref>


===Primary types===
=== GUI widgets ===
{{Main|Graphical control element}}
A [[Graphical control element]] (GUI widget) is part of a [[graphical user interface]] (GUI) 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 (such as a [[dialog box]] for users to customize their [[computer screen]] appearances). A [[Widget toolkit]] is a set of [[computer programming|programming]] tools that help [[software developer|developers]] reuse GUI widgets to build a user interface.
A [[graphical control element]] (GUI widget) is part of a [[graphical user interface]] (GUI) that allows a [[computer user]] to control 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 (such as a [[dialog box]] for users to customize their [[computer screen]] appearances). A [[widget toolkit]] is a set of [[computer programming|programming]] tools that help [[software developer|developers]] reuse GUI widgets to build a user interface.


[[Graphical user interface builder]]s, such as e.g. [[Glade Interface Designer]], facilitate the authoring of GUIs.
A [[#Desktop widgets|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 widgets|mobile widget]] is the comparable equivalent for mobile devices (i.e. [[smart phone]]s).


==== Types of GUI widgets ====
A [[web widget]] is a portable application installed and executed, typically by non-expert [[webmaster]]s on [[HTML]]-based [[web page]]s, to offer site visitors shopping, [[internet advertising|advertisements]], [[Internet video|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 a [[social networking service]], with the user interface or the entire application hosted by the network service. [[Social networking service]]s such as [[Facebook]] and [[Myspace]] host these applications and provide them underlying platform services (such as display and storage of user-provided photos and other content, profile information about [[end user]]s and communications features with other users) through special-purpose [[application programming interface]]s.<ref>{{cite news|access-date=2008-05-07|url=https://www.washingtonpost.com/wp-dyn/content/article/2007/11/02/AR2007110201894_pf.html|title=Widgets Become Coins of the Social Realm |work=[[The Washington Post]]|date=2007-11-03|author=Rampell, Catherine|author-link=Catherine Rampell|page=D01 }}</ref><ref>{{cite web |url=http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2008/07/23/BU7C11TAES.DTL |title=Developers compete at Facebook conference |access-date=2008-08-14 |last=Ustinova |first=Anastasia |date=2008-07-23 |work=San Francisco Chronicle }}</ref><ref>{{cite web |url=https://www.facebook.com/press/releases.php?p=48242 |title=Facebook Expands Power of Platform Across the Web and Around the World |access-date=2008-08-14 |date=2008-07-23 |publisher=Facebook }}</ref> 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 (primarily [[Internet marketing|advertising]] by the widget applications and sale of [[electronic commerce]] goods and services within the widgets) have been relatively unsuccessful.

===Types of GUI widgets===
*[[Disclosure widget]]s are specific types of GUI widgets that may be hidden or expanded by computer users.
*[[Disclosure widget]]s 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.<ref>Blattner, Glinert, Jorge and Ormsby, 'Metawidgets: towards a theory of multimodal interface design'. Appears in ''Computer Software and Applications Conference, 1992. COMPSAC '92. Proceedings, Sixteenth Annual International'' {{ISBN|0-8186-3000-0}}.</ref>
*A metawidget is a GUI widget for controlling the operation of other widgets within a GUI.<ref>Blattner, Glinert, Jorge and Ormsby, 'Metawidgets: towards a theory of multimodal interface design'. Appears in ''Computer Software and Applications Conference, 1992. COMPSAC '92. Proceedings, Sixteenth Annual International'' {{ISBN|0-8186-3000-0}}.</ref>

== Widget engine ==
[[File:Free and open-source-software display servers and UI toolkits.svg|thumb|Example of placement of widgets in case of a Linux-based [[software architecture|architecture]]. See the location of [[Unity (user interface)|Ubuntu Unity]] widgets, [[KDE Plasma Workspaces|KDE Plasma]] widgets and [[Desktop widget]]s at the top [[Abstraction layer|layer]].]]

A widget engine is the [[software platform]] on which desktop or web widgets [[Execution (computing)|run]]. The widget model in widget engines is attractive because of ease of development. Most of these widgets can be created with a few images and about 10 to several hundred lines of [[XML]]/[[JavaScript]]/[[VBScript]] [[source code]]. A single host software system, [[Web widget|such as a web browser]], runs all the loaded widgets. This allows several desktop widgets to be built sharing resources and code.

Widget engines are not to be confused with [[widget toolkit]]s. Toolkits are used by [[GUI]] programmers, who combine several [[GUI widget|widget]]s (reusable [[component (software)|components]]) 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 ===
{{Main|Graphical control element}}
A graphical control element (often called ''GUI widget'') represents a part of a [[graphical user interface]] (GUI) which the user can use to interact with the program the GUI belongs to. Graphical control elements are implemented like [[subroutine]]s. [[Widget toolkit]]s and software frameworks, like e.g. [[GTK+]] or [[Qt (software)|Qt]], contain them in [[software library|software libraries]] so that programmers can use them to build GUIs for their programs.

[[Graphical user interface builder]]s, such as e.g. [[Glade Interface Designer]], facilitate the authoring of GUIs.


=== Desktop widgets ===
=== Desktop widgets ===
[[File:wikiwidget.png|thumb|right|The [[Wikipedia:Wikipedia Widget|Wikipedia Widget]], in [[Dashboard (Mac OS)|Dashboard]] running under [[Mac OS X v10.4]]<ref name=":0" />]]
[[File:wikiwidget.png|thumb|right|The [[Wikipedia:Wikipedia Widget|Wikipedia Widget]], in [[Dashboard (Mac OS)|Dashboard]] running under [[Mac OS X v10.4]]<ref name=":0" />]]
[[File:Kdebeta2 plasma.png|thumb|right|Early developer version of [[Plasma (KDE)|Plasma]] Desktop with Plasmoids]]
[[File:Kdebeta2 plasma.png|thumb|right|Early developer version of [[KDE Plasma|Plasma]] Desktop with Plasmoids]]

Desktop widgets (commonly just called 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]].
Desktop widgets (commonly just called widgets) are interactive virtual tools for a [[desktop environment]] 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:
Examples of widget engines include:
* [[Dashboard (Mac OS)|Dashboard]] widgets of [[Apple Macintosh]]
* [[Dashboard (Mac OS)|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.
* [[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 (KDE)|Plasma]] widgets (available for [[KDE]] since version 4) and the widget engine used by [[GNOME Shell]] (available for [[GNOME]] since version 3). Both are active and under development.
* Various implementations for [[Linux]], including [[KDE Plasma|Plasma]] widgets (available for [[KDE]] since version 4) and the widget engine used by [[GNOME Shell]] (available for [[GNOME]] since version 3). Both are active and under development.
* [[Google Desktop]] running Google Gadgets - No longer supported, discontinued, some security issues re: data sharing.
* [[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]], [[macOS]] - No longer supported by Yahoo. Still functioning on Windows; since [[OS X El Capitan|OS X 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.
* [[Yahoo! Widgets]] for [[Windows XP]], [[Windows Vista]], [[Windows 7]], [[Windows 8]], [[Windows 10]], [[macOS]] - No longer supported by Yahoo. Still functioning on Windows; since [[OS X El Capitan|OS X 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.
Line 68: Line 51:
* Homescreen widgets in [[Android (operating system)|Android]]
* Homescreen widgets in [[Android (operating system)|Android]]
Originally, [[desk accessories]] were developed to provide a small degree of [[computer multitasking|multitasking]] in [[operating system]]s that could only held one main application at a time, but when real [[multitasking operating system|multitasking OSes]] became available, these were replaced by normal applications.
Originally, [[desk accessories]] were developed to provide a small degree of [[computer multitasking|multitasking]] in [[operating system]]s that could only held one main application at a time, but when real [[multitasking operating system|multitasking OSes]] became available, these were replaced by normal applications.

=== Widget draft standard ===
On 9 November 2006, the Web Application Formats Working Group in [[World Wide Web Consortium|W3C]] released the first public [[W3C recommendation|working draft]] of Widgets 1.0.<ref>{{Cite web |title=Widgets 1.0 |url=http://www.w3.org/TR/widgets/ |publisher=World Wide Web Consortium}}</ref> The intention is to standardise some aspects of widgets. The [[Opera browser]] is the first client side widget engine [[Tor (anonymity network)|to]] adopt this draft W3C standard.<ref>{{Cite web |title=Web Specifications Supported in Opera 9 |url=http://www.opera.com/docs/specs/opera9/#wml |publisher=Opera ASA}}</ref> Apache Wookie (Incubating) 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 ===
=== 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 Platform, Micro Edition|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.
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 [[Java Platform, Micro Edition|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 (programming)|AJAX]]-based native widget platforms are also available for mobile devices.
Several [[Ajax (programming)|AJAX]]-based native widget platforms are also available for mobile devices.
Line 79: Line 59:
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.
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 (operating system)|Android]], of all mobile operating systems, has supported mobile widgets natively [[Android version history#1.5 Cupcake|since April 30, 2009]].
[[Android (operating system)|Android]] has supported mobile widgets natively since [[Android version history#Android 1.5 Cupcake|Android 1.5 Cupcake]], released on April 27, 2009. Some of the most popular widgets on the Android operating system include DashClock, Google Keep and HD Widgets.<ref name=":0">[http://thedroidreview.com/top-10-best-android-widgets-ever-even-in-2015-1160/ Top 10 Best Android Widgets Ever] Retrieved March 22, 2015.</ref>


The [[iOS]] operating system also supports mobile widgets. Alongside, [[HarmonyOS]] that supports widgets in what it's called 'Service Cards', that also includes installation-free apps and widgets.
Some of the most popular widgets on the Android operating system include DashClock, Google Keep and HD Widgets.<ref name=":0">[http://thedroidreview.com/top-10-best-android-widgets-ever-even-in-2015-1160/ Top 10 Best Android Widgets Ever] Retrieved March 22, 2015.</ref>

The [[iOS]] operating system also supports mobile widgets.


=== Web widgets ===
=== Web widgets ===
{{Main|Web widget}}
{{Main|Web widget}}
A [[web widget]] is a portable application installed and executed, typically by non-expert [[webmaster]]s on [[HTML]]-based [[web page]]s, to offer site visitors shopping, [[internet advertising|advertisements]], [[Internet video|videos]], or other simple functionality from third party widget publishers.

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 [[Snippet (programming)|code snippets]].
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 [[Snippet (programming)|code snippets]].


Web widgets have unleashed some commercial interest, due their perceived potential as a marketing channel, mainly because they provide interactivity and [[Word of mouth#Word of mouth marketing .28WOMM.29|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 (the leading online game company from 2000 - 2001) 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.
Web widgets have unleashed some commercial interest, due their perceived potential as a marketing channel, mainly because they provide interactivity and [[viral marketing|viral distribution]] through social networks. The first known web widget, Trivia Blitz, was introduced in 1997.{{Citation needed|reason=fantastic claims but no pages on Trivia Blitz or Uproar|date=March 2023}} It was a game applet offered by Uproar.com (the leading online game company from 2000 - 2001) 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.

==== Types of web widgets ====

*A "widget application" is a third party web widget developed for a [[social networking service]], with the user interface or the entire application hosted by the network service. [[Social networking service]]s such as [[Facebook]] and [[Myspace]] host these applications and provide them underlying platform services (such as display and storage of user-provided photos and other content, profile information about [[end user]]s and communications features with other users) through special-purpose [[application programming interface]]s.<ref>{{cite news|access-date=2008-05-07|url=https://www.washingtonpost.com/wp-dyn/content/article/2007/11/02/AR2007110201894_pf.html|title=Widgets Become Coins of the Social Realm |newspaper=[[The Washington Post]]|date=2007-11-03|author=Rampell, Catherine|author-link=Catherine Rampell|page=D01 }}</ref><ref>{{cite web |url=http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2008/07/23/BU7C11TAES.DTL |title=Developers compete at Facebook conference |access-date=2008-08-14 |last=Ustinova |first=Anastasia |date=2008-07-23 |work=San Francisco Chronicle }}</ref><ref>{{cite web |url=https://www.facebook.com/press/releases.php?p=48242 |title=Facebook Expands Power of Platform Across the Web and Around the World |access-date=2008-08-14 |date=2008-07-23 |publisher=Facebook }}</ref> 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 (primarily [[Internet marketing|advertising]] by the widget applications and sale of [[electronic commerce]] goods and services within the widgets) have been relatively unsuccessful.

==== Widget draft standard ====
On 9 November 2006, the Web Application Formats Working Group in [[World Wide Web Consortium|W3C]] released the first public [[W3C recommendation|working draft]] of Widgets 1.0.<ref>{{Cite web |title=Widgets 1.0 |url=http://www.w3.org/TR/widgets/ |publisher=World Wide Web Consortium}}</ref> The intention is to standardise some aspects of widgets. The [[Opera browser]] is the first client side widget engine [[Tor (anonymity network)|to]] adopt this draft W3C standard.<ref>{{Cite web |title=Web Specifications Supported in Opera 9 |url=http://www.opera.com/docs/specs/opera9/#wml |publisher=Opera ASA}}</ref> Apache Wookie (Incubating) 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.


=== TV set widgets ===
=== TV set widgets ===
Widgets are also available for TVs.[[Yahoo! Widget Engine]] is announced as a component of the next generation TV sets.
Widgets are also available for TVs.[[Yahoo! Widget Engine]] is announced as a component of the next generation TV sets.


== Widget engine ==
==Information flow of desktop widgets==
[[File:Free and open-source-software display servers and UI toolkits.svg|thumb|Example of placement of widgets in case of a Linux-based [[software architecture|architecture]]. See the location of [[Unity (user interface)|Ubuntu Unity]] widgets, [[KDE Plasma Workspaces|KDE Plasma]] widgets and [[Desktop widget]]s at the top [[Abstraction layer|layer]].]]
A desktop widget is a small footprint application, which resides on the user's desktop using little desktop real estate and computer resources, such as HDD and RAM. Its purpose is to provide relevant information to the user in a non-intrusive manner and using few resources. Basically, desktop widgets enable the user to view on demand, encapsulated information from predetermined data sources. Ideally, a desktop widget must present personalized content, based on the user's preferences. It is supposed to provide the most important information that a user requires on a daily basis. Most of the desktop widgets are available as free downloads from the developers’ websites.


A widget engine is the [[software platform]] on which desktop or web widgets [[Execution (computing)|run]]. The widget model in widget engines is attractive because of ease of development. Most of these widgets can be created with a few images and about 10 to several hundred lines of [[XML]]/[[JavaScript]]/[[VBScript]] [[source code]]. A single host software system, [[Web widget|such as a web browser]], runs all the loaded widgets. This allows several desktop widgets to be built sharing resources and code.
==References==

{{Reflist}}
Widget engines are not to be confused with [[widget toolkit]]s. Toolkits are used by [[GUI]] programmers, who combine several [[GUI widget|widget]]s (reusable [[component (software)|components]]) 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.


==See also==
==See also==
Line 104: Line 92:
* [[Android (operating system)]]
* [[Android (operating system)]]
* [[Chumby]]
* [[Chumby]]
* [[Desk Accessory]]
* [[Desk accessory]]
* [[GUI widget]]
* [[GUI widget]]
* [[Widget toolkit]]
* [[Widget toolkit]]

==References==
{{Reflist}}


{{Widget engine}}
{{Widget engine}}

Latest revision as of 05:47, 4 September 2024

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 (GUI "widgets") 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

[edit]

Because the term, and the coding practice, has been extant since at least the 1980s, it has been applied in a number of contexts.[1]

GUI widgets

[edit]

A graphical control element (GUI widget) is part of a graphical user interface (GUI) that allows a computer user to control 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 (such as a dialog box for users to customize their computer screen appearances). A widget toolkit is a set of programming tools that help developers reuse GUI widgets to build a user interface.

Graphical user interface builders, such as e.g. Glade Interface Designer, facilitate the authoring of GUIs.

Types of GUI widgets

[edit]
  • 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.[2]

Desktop widgets

[edit]
The Wikipedia Widget, in Dashboard running under Mac OS X v10.4[3]
Early developer version of Plasma Desktop with Plasmoids

Desktop widgets (commonly just called widgets) are interactive virtual tools for a desktop environment 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:

Originally, desk accessories were developed to provide a small degree of multitasking in operating systems that could only held one main application at a time, but when real multitasking OSes became available, these were replaced by normal applications.

Mobile widgets

[edit]

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 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 has supported mobile widgets natively since Android 1.5 Cupcake, released on April 27, 2009. Some of the most popular widgets on the Android operating system include DashClock, Google Keep and HD Widgets.[3]

The iOS operating system also supports mobile widgets. Alongside, HarmonyOS that supports widgets in what it's called 'Service Cards', that also includes installation-free apps and widgets.

Web widgets

[edit]

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.

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.[citation needed] It was a game applet offered by Uproar.com (the leading online game company from 2000 - 2001) 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.

Types of web widgets

[edit]
  • A "widget application" is a third party web widget developed for a social networking service, with the user interface or the entire application hosted by the network service. Social networking services such as Facebook and Myspace host these applications and provide them underlying platform services (such as display and storage of user-provided photos and other content, profile information about end users and communications features with other users) through special-purpose application programming interfaces.[5][6][7] 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 (primarily advertising by the widget applications and sale of electronic commerce goods and services within the widgets) have been relatively unsuccessful.

Widget draft standard

[edit]

On 9 November 2006, the Web Application Formats Working Group in W3C released the first public working draft of Widgets 1.0.[8] 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.[9] Apache Wookie (Incubating) 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.

TV set widgets

[edit]

Widgets are also available for TVs.Yahoo! Widget Engine is announced as a component of the next generation TV sets.

Widget engine

[edit]
Example of placement of widgets in case of a Linux-based architecture. See the location of Ubuntu Unity widgets, KDE Plasma widgets and Desktop widgets at the top layer.

A widget engine is the software platform on which desktop or web widgets run. The widget model in widget engines is attractive because of ease of development. Most of these widgets can be created with a few images and about 10 to several hundred lines of XML/JavaScript/VBScript source code. A single host software system, such as a web browser, runs all the loaded widgets. This allows several desktop widgets to be built sharing resources and code.

Widget engines are not to be confused with widget toolkits. Toolkits are used by GUI programmers, who combine several widgets (reusable components) 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.

See also

[edit]

References

[edit]
  1. ^ Ralph R. Swick, Mark S. Ackerman (1988). "The X Toolkit: More Bricks for Building User-Interfaces, or, Widgets for Hire". USENIX Winter. pp. 221–228. Archived from the original on 2007-09-27. Retrieved 2007-01-03.
  2. ^ Blattner, Glinert, Jorge and Ormsby, 'Metawidgets: towards a theory of multimodal interface design'. Appears in Computer Software and Applications Conference, 1992. COMPSAC '92. Proceedings, Sixteenth Annual International ISBN 0-8186-3000-0.
  3. ^ a b Top 10 Best Android Widgets Ever Retrieved March 22, 2015.
  4. ^ Teigene, Arnstein (24 April 2012). "Increased focus on Opera extensions and ending support for Unite applications and Widgets". Archived from the original on 26 April 2012. Retrieved 12 June 2014.
  5. ^ Rampell, Catherine (2007-11-03). "Widgets Become Coins of the Social Realm". The Washington Post. p. D01. Retrieved 2008-05-07.
  6. ^ Ustinova, Anastasia (2008-07-23). "Developers compete at Facebook conference". San Francisco Chronicle. Retrieved 2008-08-14.
  7. ^ "Facebook Expands Power of Platform Across the Web and Around the World". Facebook. 2008-07-23. Retrieved 2008-08-14.
  8. ^ "Widgets 1.0". World Wide Web Consortium.
  9. ^ "Web Specifications Supported in Opera 9". Opera ASA.