What are (web) widgets?

Widgets or web widgets are small programs that can be placed in web pages including blogs and wikis. A common widget that most of us have seen on the web is the Google advertisements widget. Widgets that display daily weather, time, event or birthday countdowns, news headings, and game scores are also popular and useful. A widget can be a simple one that shows your favorite images or a more complex one that gathers news from around the world and presents headlines that are important to you. Visitor counters or an image that displays the number of visitors to a web-page is the precursor of the modern widgets.

A collection of widgets. Image by razoraz

Widget is known by a variety of other names such as gadget, badge, module, webjit, capsule and snippet. While all these names refer to the same thing, they may have subtle differences in their functionality or a proprietary flavor. For example, a gadget is often used to refer to a widget that runs in a proprietary environment.


Why should I know about them and what are some potential applications?

In the age of MySpace and Facebook, it has become very easy for someone with little or no knowledge of programming to create web pages and thus share information. While adding text and images on these sites is fairly straightforward, widgets allow users to add interactive and dynamic content. Based on the software engineering principle of code re-use, developers can share their programs easily with others by turning them into widgets. In addition, most of the widgets allow customization to meet one’s needs. Let’s say I develop a widget that lists news headlines that contains the term “Tufts.” Someone else may be able to reuse the same widget to get news items that contain “Jumbos” or “Boston.” The ability to customize, combined with the ease to share, has made widgets not only popular but also useful in many domains in a short span of time.

The gaming industry uses the technology to develop many online game widgets that players enjoy and share. Since widgets don’t require installation, a person can start playing these games quickly and invite or challenge their friends. Widgets have made it easy for advertisers to distribute their ads to content providers ranging from formal news sites to casual bloggers. Advertisers can deliver ads based on site content, making them relevant to web-site visitors.

Education technologists have created flashcard and other sophisticated widgets that help students in learning difficult subjects. Widgets that display reading lists and reviews about books, lectures and courses are also becoming common among students. Learning management systems, such as Blackboard, are also supporting the ability to create and share widgets. The technology seems to have the potential to foster collaborative problem solving on the web. Students and scholars may be able to develop widgets that work together to solve complex problems.


How do they work?

The core of a widget is the snippet of code that web browsers such as Internet Explorer and Firefox have to display and execute. They are often developed using DHTML, JavaScript, Adobe Flash or Java, but can be developed in any programming language that supports web development. All the code that makes a widget may be downloaded and run on a user’s computer, or part of it may be run on the server sending the output to the user. Creating efficient widgets can be a challenging engineering feat, but there are several resources available to create useful widgets.


Where do I get started?

A Wikipedia or Google search for “widget” will lead you to useful information and resources to get started on the widgets. Microsoft Popfly (http://www.popfly.com/), Widgetbox (http://www.widgetbox.com/), Yahoo Pipes (http://pipes.yahoo.com/pipes/), Zembly (http://zembly.com/) and Sproutbuilder (http://www.sproutbuilder.com) are some of the popular sites that provide user-friendly browser-based tools to build widgets. Google Web Toolkit (GWT), Yahoo Interface Library (YUI), EXT-JS, and dojo are popular frameworks among developers and geeks who desire higher control and customizability in widgets. If you are ready to roll up your sleeves and start creating widgets, sites like iGoogle (http://www.google.com/ig), Netvibes (http://www.netvibes.com/), and Pageflakes (http://www.pageflakes.com/) allow users to assemble web pages using widgets.

Anoop Kumar, Information Systems Architect, UIT Academic Technology

Share →

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop us a note so we can take care of it!

Visit our friends!

A few highly recommended friends...