What is a widget?
In computing, a widget is an element of a graphical user interface that displays information or provides a specific way for a user to interact with the operating system (OS) or an application.
Widgets include the following:
- pull-down menus;
- selection boxes;
- progress indicators;
- on-off checkmarks;
- scroll bars;
- window edges that let you resize the window;
- toggle buttons; and
- devices for displaying information and inviting, accepting and responding to user actions.
More generally, the term widget is used to mean to any discrete object, usually of a mechanical nature and relatively small size. The term commonly is used to refer to gadgets that don't have a name or where someone can't remember the name.
According to Eric Raymond, compiler of The New Hacker's Dictionary: "Legend has it that the original widgets were holders for buggy whips," but this was possibly written tongue-in-cheek.
Widgets on smartphones
On both Apple iOS and Android devices, widgets present specific data that resides in an application running in the device. Each widget on an iPhone or other smartphone display presents selected bits of information that reside in the associated applications.
For example, a user might wish to see baseball scores for only one team. The widget extracts the selected data from the app and displays it on the screen. Or a user might not want to read a detailed weather forecast, but would rather see only the key data points, such as the temperature and forecast. Weather data is compiled in a weather app and regularly updated. The weather widget is programmed to display only the specific data the user wants.
Widgets in computing
In computing, the term widget was first used in Unix-based OSes and the X Window System. In object-oriented programming, each type of widget is defined as a class or a subclass under a broad generic widget class and is always associated with a particular window. In the AIX Enhanced X-Window toolkit, a widget is the fundamental data type.
Most, if not all, application development languages, such as Java and Tool Command Language, come with a library of widgets that a programmer can incorporate and modify. Using Microsoft Visual Basic, a widget can be implemented as or part of an ActiveX control.
Widgets in programming
In programming, widget also means the small program that is written to describe what a particular widget looks like, how it behaves and how it responds to user actions. Most OSes have a set of ready-to-tailor widgets that programmers can incorporate in an application, specifying how it is to behave. Developers can also create new widgets as they are needed.
How do widgets add value?
On websites, widgets can facilitate an interactive user experience. By making it easy to navigate a website, widgets increase site traffic and capture customer data that can be used for product development and customer service purposes. Data gleaned from user interactions with widgets on websites is analyzed to improve business planning and decision-making.
Widgets encourage website visitors to stay on a webpage, rather than switch to another site, which helps increase click-through rates, expose users to other parts of a company's website and product offerings, and improve search engine performance and rankings.
Other ways developers can add widgets to engage customers include the following:
- adding a live chat function to interact with customers in real time;
- conducting surveys to collect user preference data;
- launching a call-to-action widget that uses pop-ups or other techniques to attract customers' attention and invite them to sign up for a free newsletter or watch a video.
Find out how the world is shifting to an assembly culture with bigger widgets.