Software:Browser toolbar

From HandWiki
Short description: Toolbar residing within a browser window

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.

Controversy

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

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).[3][4][5][6]

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[7]) 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.[8] Mozilla Jetpack[9] can be used to simplify the development of add-ons for Firefox.

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

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

In Opera 11 or later,[20] toolbars can be created as extensions[21] that add buttons[22] to the browser window. The logic behind the toolbar is written in JavaScript with access to a special JavaScript API[23] 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[24] and Stumbleupon Toolbar.[25] 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[26] 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[27] 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[28] 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[29] supports IE, Firefox, Chrome, Safari and Opera. Kango is only free for open-source non-profitable projects.
  • Conduit[30] 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[31] 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[32] 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.[33][34][35] 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.[36]

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

References

  1. "Toolbars WAR". Videohelp.host.sk. Archived from the original on 2013-05-13. https://web.archive.org/web/20130513061912/http://videohelp.host.sk/archive/toolbars/. Retrieved 2014-02-26. 
  2. Larry Seltzer (2009-02-10). "Enough with the Browser Toolbars Already". eWeek. http://www.eweek.com/c/a/Security/Enough-With-the-Browser-Toolbars-Already/. Retrieved 2014-02-26. 
  3. Vincentas (11 July 2013). "Grayware in SpyWareLoop.com". Spyware Loop. Archived from the original on 15 July 2014. https://web.archive.org/web/20140715193841/http://www.spywareloop.com/news/grayware. Retrieved 28 July 2013. 
  4. "Threat Encyclopedia – Generic Grayware". Trend Micro. http://about-threats.trendmicro.com/us/archive/grayware/GENERIC_GRAYWARE. Retrieved 27 November 2012. 
  5. "Rating the best anti-malware solutions". Arstechnica. 2009-12-15. https://arstechnica.com/security/2009/12/av-comparatives-picks-eight-antipua-winners/. Retrieved 28 January 2014. 
  6. "PUP Criteria". Malwarebytes. http://www.malwarebytes.org/pup/. Retrieved 13 February 2015. 
  7. "Different kinds of Internet Explorer toolbars". Msdn.microsoft.com. 11 January 2008. http://msdn.microsoft.com/en-us/library/bb776819(v=vs.85).aspx. Retrieved 2014-02-26. 
  8. Javascript running under expanded privileges
  9. "Mozilla Jetpack". Wiki.mozilla.org. 2014-02-05. https://wiki.mozilla.org/Jetpack. Retrieved 2014-02-26. 
  10. "Safari Release 5" (Press release). Prnewswire.com. Retrieved 2014-02-26.
  11. "Safari Extension Developer Guide". Developer.apple.com. https://developer.apple.com/library/safari/#documentation/Tools/Conceptual/SafariExtensionGuide/Introduction/Introduction.html. Retrieved 2014-02-26. 
  12. "Safari extension bars". Developer.apple.com. https://developer.apple.com/library/safari/#documentation/Tools/Conceptual/SafariExtensionGuide/AddingExtensionToolbars/AddingExtensionToolbars.html#//apple_ref/doc/uid/TP40009977-CH5-SW2. Retrieved 2014-02-26. 
  13. "Safari extension buttons". Developer.apple.com. https://developer.apple.com/library/safari/#documentation/Tools/Conceptual/SafariExtensionGuide/AddingButtonstotheMainSafariToolbar/AddingButtonstotheMainSafariToolbar.html#//apple_ref/doc/uid/TP40009977-CH3-SW1. Retrieved 2014-02-26. 
  14. "Special JavaScript API from Safari's Extension Reference Guide". Developer.apple.com. https://developer.apple.com/library/safari/#documentation/UserExperience/Reference/SafariExtensionsReference/_index.html#//apple_ref/doc/uid/TP40009800. Retrieved 2014-02-26. 
  15. Baum, Nick (2010-01-25). "Google Chrome Release 4". Chrome.blogspot.com.es. http://chrome.blogspot.com.es/2010/01/over-1500-new-features-for-google.html. Retrieved 2014-02-26. 
  16. Google Chrome Extensions
  17. Browser Actions in Google Chrome
  18. Special JavaScript API from Google Chrome's Extension Reference Guide
  19. Google Chrome Extension Permissions
  20. "Opera Release 11". Opera.com. http://www.opera.com/browser/features/. Retrieved 2014-02-26. 
  21. "Opera Extensions". Dev.opera.com. 2011-06-21. http://dev.opera.com/addons/extensions/. Retrieved 2014-02-26. 
  22. Software, Opera. "Browser Buttons in Opera". Dev.opera.com. Archived from the original on 2012-01-13. https://web.archive.org/web/20120113062755/http://dev.opera.com/articles/view/extensions-api-browser-toolbar/. Retrieved 2014-02-26. 
  23. "Special JavaScript API from Opera's Extension Reference Guide". Dev.opera.com. 2012-08-24. Archived from the original on 2012-03-04. https://web.archive.org/web/20120304154114/http://dev.opera.com/articles/tags/extensions%20API. Retrieved 2014-02-26. 
  24. "Google Toolbar". Archived from the original on July 25, 2008. https://web.archive.org/web/20080725181422/http://www.google.com/toolbar. Retrieved 2014-02-26. 
  25. "Stumbleupon Toolbar". Stumbleupon.com. http://www.stumbleupon.com/addon/. Retrieved 2014-02-26. 
  26. "Neobars". Macte! Labs. http://neobars.com. Retrieved 2015-02-01. 
  27. Phil Windley and Q Wade Billings. "Kynetx". Kynetx. http://kynetx.com/. Retrieved 2014-02-26. 
  28. "CrossRider". CrossRider. http://crossrider.com/developers. Retrieved 2014-02-26. 
  29. "KangoExtensions". KangoExtensions. http://kangoextensions.com/. Retrieved 2014-02-26. 
  30. "Conduit". Toolbar.conduit.com. Archived from the original on 2012-07-15. https://archive.today/20120715022119/http://toolbar.conduit.com/make-toolbar.aspx. Retrieved 2014-02-26. 
  31. "Widdit". Widdit. 2012-10-13. http://widdit.com. Retrieved 2014-02-26. 
  32. "ExtensionMaker". ToolbarDev. http://extensionmaker.com. 
  33. Toolbar. "Removing a Google Toolbar". https://support.google.com/toolbar/bin/answer.py?hl=en&answer=9231. Retrieved 2014-02-26. 
  34. Removing a Yahoo Toolbar
  35. "Removing a Bing Toolbar". Onlinehelp.microsoft.com. http://onlinehelp.microsoft.com/en-us/bing/ff808335.aspx. Retrieved 2014-02-26. 
  36. "Universal Toolbar Removal Utility". Skipity.com. http://www.skipity.com/how-to-remove-toolbar/. Retrieved 2014-02-26.