Widget engine
Encyclopedia
In computer software, a widget engine is a software service available to users for running and displaying applet
Applet
In computing, an applet is any small application that performs one specific task that runs within the scope of a larger program, often as a plug-in. An applet typically also refers to Java applets, i.e., programs written in the Java programming language that are included in a web page...

s on a graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

, such as that of the desktop
Desktop metaphor
The desktop metaphor is an interface metaphor which is a set of unifying concepts used by graphical user interfaces to help users more easily interact with the computer. The desktop metaphor treats the monitor of a computer as if it is the user's desktop, upon which objects such as documents and...

.

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
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

/JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

/VBScript
VBScript
VBScript is an Active Scripting language developed by Microsoft that is modeled on Visual Basic. It is designed as a “lightweight” language with a fast interpreter for use in a wide variety of Microsoft environments...

 source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

. A single host software system, such as a web browser
Web widget
In computing a web widget is a software widget for the web. It's a small application that can be installed and executed within a web page by an end user. They are derived from the idea of code reuse. Other terms used to describe web widgets include: portlet, gadget, badge, module, webjit, capsule,...

, runs all the loaded widgets. This allows several desktop widgets to be built sharing resources and code.

The term widget engine is not to be confused with that of a widget toolkit
Widget toolkit
In computing, a widget toolkit, widget library, or GUI toolkit is a set of widgets for use in designing applications with graphical user interfaces...

. Toolkits are used by GUI
Gui
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...

 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. Each widget serves only a purpose that is usually addressed by the effort of one GUI widget in a full-scale application.

Desktop widgets

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
Desktop notes
Desktop notes are computer applications that allow putting Post-it note-like windows on the screen, with reminders, short notes and other clippings...

, photo viewers, or even a language translator, among other things.
Examples of widget engines include:
  • Dashboard widgets of Apple Macintosh
  • Microsoft gadgets
    Microsoft Gadgets
    Microsoft Gadgets are lightweight single-purpose applications, or software widgets, that can sit on a Microsoft Windows user's computer desktop, or are hosted on a web page...

     in Windows Vista
    Windows Vista
    Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...

     and in the Windows Live
    Windows Live
    Windows Live is the collective brand name for a set of services and software products from Microsoft, part of their software plus services platform. A majority of these services are Web applications, accessible from a browser, but there are also client-side binary applications that require...

     system
  • Plasmoids are widgets in Plasma
    Plasma (KDE)
    Plasma Workspaces is the umbrella term for all graphical environments provided by KDE.Three Plasma sub-projects are currently being developed: Plasma Desktop for traditional desktop PCs and notebooks, Plasma Netbook for netbooks, and Plasma Active for Tablet PCs, Nokia N900 style smartphones and...

    , the workspace for the KDE
    KDE
    KDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Microsoft Windows, Solaris and Mac OS X systems...

     desktop environment.
  • Portlets in Google Desktop
    Google Desktop
    Google Desktop is desktop search software made by Google for Linux, Mac OS X, and Microsoft Windows. The program allows text searches of a user's e-mails, computer files, music, photos, chats, Web pages viewed, and other "Google Gadgets"....

  • Yahoo! Widgets
  • gdesklets
    GDesklets
    gDesklets is a GNOME program which provides the architecture for small applets to be placed on top of the user's desktop. It is comparable to other desktop widget programs...

    , adesklets
    Adesklets
    adesklets is a lightweight X11 program which provides the architecture for small applets to be placed on top of the user's desktop. The applets placed on the desktop are meant to be quick ways for the user to retrieve information and not get in the way of normal activity. More formally, it could...

    , and Screenlets
    Screenlets
    Screenlets is the name of both a set of independently-developed widget applications and the widget engine which runs them. The engine runs primarily on X11-based compositing window managers, most notably with Compiz on Linux.- Development :...

     in Linux
  • Opera widgets
    Opera (web browser)
    Opera is a web browser and Internet suite developed by Opera Software with over 200 million users worldwide. The browser handles common Internet-related tasks such as displaying web sites, sending and receiving e-mail messages, managing contacts, chatting on IRC, downloading files via BitTorrent,...

     on all platforms (desktop, mobile TVs, gaming consoles) using the Opera browser's rendering engine.
  • Homescreen widgets in Maemo
    Maemo
    Maemo is a software platform developed by the Maemo community for smartphones and Internet tablets. It is based on the Debian Linux distribution, but has no relation to it...


Originally, desk accessories were developed to provide a small degree of multitasking
Computer multitasking
In computing, multitasking is a method where multiple tasks, also known as processes, share common processing resources such as a CPU. In the case of a computer with a single CPU, only one task is said to be running at any point in time, meaning that the CPU is actively executing instructions for...

, but when real multitasking OSes became available, these were replaced by normal applications.

Widget draft standard

On 9 November 2006, the Web Application Formats Working Group in W3C
World Wide Web Consortium
The World Wide Web Consortium is the main international standards organization for the World Wide Web .Founded and headed by Tim Berners-Lee, the consortium is made up of member organizations which maintain full-time staff for the purpose of working together in the development of standards for the...

 released the first public working draft
W3C recommendation
A W3C Recommendation is the final stage of a ratification process of the World Wide Web Consortium working group concerning a technical standard. This designation signifies that a document has been subjected to a public and W3C-member organization's review. It aims to standardise the Web technology...

 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 (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

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
Java Platform, Micro Edition
Java Platform, Micro Edition, or Java ME, is a Java platform designed for embedded systems . Target devices range from industrial controls to mobile phones and set-top boxes...

-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
Ajax (programming)
Ajax is a group of interrelated web development methods used on the client-side to create asynchronous web applications...

-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 isn't just a nuisance; it's a near impossibility.

One of the biggest challenges of widget development is writing multiple sets of computer code so that a widget will be compatible with multiple operating systems and types of devices.

Companies considering new mobile widgets should evaluate and then deploy applications according to four criteria: the
business model, distribution model, server-side application framework and the run-time environment.

Many solutions are growing for mobile widgets. Among them the BONDI initiative whitin OMTP is trying to defragment these solution allowing the same widget to be run on different mobile phones allowing secure access to mobile phone capabilities.

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
Snippet (programming)
Snippet is a programming term for a small region of re-usable source code, machine code or text. Ordinarily, these are formally-defined operative units to incorporate into larger programming modules...

.

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 (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.

TV set widgets

Widgets are also available for TV's.Yahoo! Widget Engine
Yahoo! Widget Engine
Yahoo! Widgets is a free application platform for Mac OS X and Microsoft Windows. The software was previously called Konfabulator, but after being acquired by computer services company Yahoo! it was rebranded. The name Konfabulator was subsequently reinstated as the name of the underlying rendering...

 is announced as a component of the next generation TV sets.

Information flow of desktop widgets

A desktop widget is a small footprint application, which resides on the user’s desktop using little desktop space 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 day to day basis. Most of the desktop widgets are available as free downloads from the vendors’ Web sites.

See also

  • Android (operating system)
  • Chumby
    Chumby
    The Chumby is a consumer electronics product made by Chumby Industries, Inc.. It is an embedded computer which provides Internet and LAN access via a Wi-Fi connection. Through this connection, the Chumby runs various software widgets....

  • Desk Accessory
    Desk Accessory
    A desk accessory is a small helper-type application that can be run concurrently with any other application on the system. Early examples, such as SideKick and Macintosh desk accessories, used special programming models to provide a small degree of multitasking on a system that initially did not...

  • GUI widget
  • Widget toolkit
    Widget toolkit
    In computing, a widget toolkit, widget library, or GUI toolkit is a set of widgets for use in designing applications with graphical user interfaces...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK