Browser toolbar

A browser toolbar is a toolbar that resides within a browser's window. All major web browsers provide support to browser toolbar development as a way to extend the browser's GUI and functionality. Browser toolbars are considered to be a particular kind of browser extensions that present a toolbar. Browser toolbars are specific to each browser, which means that a toolbar working on a browser does not work on another one. All browser toolbars must be installed in the corresponding browser before they can be used and require updates when new versions are released.

Many high-profile browser toolbars released over the years have been fraught with problems, either intentionally as malware or injected with computer viruses or due to poor or conflicting programming when considering multiple toolbars being included on the single browser.

Adverse impact
During the 2000s, there was a proliferation of browser add-ons produced and released by a variety of software companies, both large and small, which were designed to extend the browsing experience for the end user. Due to this popularity, and the ease with which users could have these installed, there was additionally an adoption by malware, adware, and other privacy-invasive tracking tools. The popularity of browser toolbars has since declined.

Many unscrupulous companies use software bundling to force users downloading one program to also install a browser toolbar, some of which invade the user's privacy by tracking their web history and search history online. Many antivirus companies refer to these programs as grayware or potentially unwanted programs (PUPs).

Developing a toolbar
The programming language and development tools behind a browser toolbar vary from one browser to another.

In Internet Explorer 5 or later, toolbars may be created as browser extensions written in C# or C++. More specifically, it is possible to create up to three different kinds of toolbars (custom explorer bars, tool bands and desk bands ) and to combine them with browser helper objects in order to provide added functionality.

In Firefox, toolbars can be created as add-ons that contribute to the GUI by extending the browser with XUL (support for XUL was removed in Firefox version 57). The logic behind the toolbar is written in JavaScript running under expanded privileges. Mozilla Jetpack can be used to simplify the development of add-ons for Firefox.

In Safari 5 or later toolbars can be created as extensions that add bars and buttons. The logic behind the toolbar is written in JavaScript with access to a special JavaScript API to interact with the Safari application and web content.

In Google Chrome 4 or later, toolbars can be created as extensions that add browser actions to the browser window. The logic behind the toolbar is written in JavaScript with access to a special JavaScript API to interact with the Chrome application and web content. The privileges under which a Chrome extension runs are governed by a set of permissions.

In Opera 11 or later, toolbars can be created as extensions that add buttons to the browser window. The logic behind the toolbar is written in JavaScript with access to a special JavaScript API to interact with the Opera application and web content.

In Firefox, Chrome, Safari and Opera toolbar styling is done though CSS.

Native vs. injected toolbars
Some major browsers (Internet Explorer and Firefox) enable the creation of native toolbars i.e., toolbars which are directly inserted in the browser window. Examples of native toolbars are Google Toolbar and Stumbleupon Toolbar. Native toolbars use browser-specific code to create the same toolbar for each different browser version.

Some toolbar developers use a different approach and make the browser extension inject a JavaScript file in every web page visited by the user. All major browsers support injected toolbars. The code in this file inserts the toolbar as a part of the DOM in every web page. Injected toolbars use essentially the same JavaScript code to draw the toolbar for each different browser version.

Each approach has advantages and disadvantages for the different stakeholders.

From the user's perspective:
 * Native toolbars present faster load times, since injected toolbars must wait for the DOM to be created in order to insert the toolbar in it.
 * Injected toolbars require less frequent updates because part of their code is dynamically downloaded in the JavaScript file that draws the toolbar.

From the developer's perspective:
 * Injected toolbars allow for shorter development times since the JavaScript code that creates the toolbar may be written once for all browsers.
 * Injected toolbars allow for an easier toolbar update policy, since changes that are made in the injected JavaScript code do not require releasing a new toolbar version.

From the toolbar owner's perspective:
 * Injected toolbars consume requests to download the JavaScript code that inserts the toolbar in every page, while native toolbars consume no such requests.

Cross-browser toolbar development
Another way to simplify the task of developing a toolbar for different browsers is to rely on a cross-browser extension development framework. Some of the most important frameworks are listed below:
 * Toolbar Studio supports IE, Firefox. This is an IDE that allows to develop toolbars via a visual editor.
 * Neobars supports Chrome, Firefox, IE, Safari and Opera. This is an online web constructor for cross-browser extensions. Multiple widgets like Weather, RSS, YouTube, Twitter and Facebook components are available. The platform is free to use.
 * Add-ons Framework supports IE, Firefox, Chrome, Safari, Opera. This SDK allows to build browser add-ons using common JavaScript API.
 * Kynetx supports IE, Firefox, Safari, and Chrome, but extensions are dependent on the Kynetx extension to work. In addition, Kynetx apps are built using a proprietary Kynetx Rules Language. There is no cost to use the Kynetx platform.
 * CrossRider supports IE, Firefox, Chrome and Safari. CrossRider is JavaScript and jQuery-based. Crossrider also provides auto-update mechanism for code and full stats with country / browser breakdown. Crossrider have launched an online real-time IDE for developing cross browser extensions without the need to download an SDK. It is free to use.
 * KangoExtensions supports IE, Firefox, Chrome, Safari and Opera. Kango is only free for open-source non-profitable projects.
 * Conduit supports IE, Firefox, Safari, and Chrome. It enables you creating a branded, customised toolbar that offers users a direct interface or “Conduit” to the most valuable and important segments and links of your Blog or website. Conduit is free to use. Since Conduit basically lets you link from a toolbar a portion of your web page, it inherently lacks from the flexibility of other cross-browser extension development frameworks.
 * Widdit's toolbar supports IE, Firefox, Safari, and Chrome. The Widdit platform allows publishers to create a free, customised branded toolbar using a drag and drop online wizard. Through the admin, publishers can add or remove applications and features in real time and share the toolbar with different communities.
 * ExtensionMaker supports Firefox, Opera and Chrome. The Extension Maker is a desktop-based tool that allows to create stylish and powerful browser extensions using a drag and drop.

Removing a browser toolbar
Most of the larger toolbar providers have a toolbar uninstaller or directions for how to remove their toolbars. This process varies by browser type, version, OS, and toolbar provider.

Some toolbar providers do not give detailed instructions on how to remove their toolbars. Many 2nd tier providers and software bundled browser toolbars can be difficult to remove without a 3rd party toolbar removal utility.

List
The following is a list of web browser toolbar articles on Wikipedia:
 * Alexa Toolbar
 * AOL Toolbar
 * Bing Bar
 * Data Toolbar
 * Google Toolbar
 * Mirar Toolbar
 * Windows Live Toolbar
 * Yahoo! Toolbar