Extension (Mozilla)
Encyclopedia
]
Add-ons are installable enhancements to the Mozilla Foundation
Mozilla Foundation
The Mozilla Foundation is a non-profit organization that exists to support and provide leadership for the open source Mozilla project. The organization sets the policies that govern development, operates key infrastructure and controls trademarks and other intellectual property...

's projects, and projects based on them. Add-ons allow the user to add or augment application features, use themes
Theme (computing)
In computing, a theme is a preset package containing graphical appearance details, used to customize the look and feel of an operating system, widget set or window manager....

 to their liking, and handle new types of content.

Extensions

Extensions can be used to modify the behavior of existing features to the application or add entirely new features. Extensions are especially popular with Firefox
Mozilla Firefox
Mozilla Firefox is a free and open source web browser descended from the Mozilla Application Suite and managed by Mozilla Corporation. , Firefox is the second most widely used browser, with approximately 25% of worldwide usage share of web browsers...

, because Mozilla developers intend for the browser to be a fairly minimalistic application in order to reduce software bloat
Software bloat
Software bloat is a process whereby successive versions of a computer program include an increasing proportion of unnecessary features that are not used by end users, or generally use more system resources than necessary, while offering little or no benefit to its users.-Causes:Software developers...

 and bugs, while retaining a high degree of extensibility
Extensibility
In software engineering, extensibility is a system design principle where the implementation takes into consideration future growth. It is a systemic measure of the ability to extend a system and the level of effort required to implement the extension...

, so that individual users can add the features that they prefer.

Extension technologies

  • CSS
    Cascading Style Sheets
    Cascading Style Sheets is a style sheet language used to describe the presentation semantics of a document written in a markup language...

     (Cascading Style Sheets)
  • DOM
    Document Object Model
    The Document Object Model is a cross-platform and language-independent convention for representing and interacting with objects in HTML, XHTML and XML documents. Aspects of the DOM may be addressed and manipulated within the syntax of the programming language in use...

     (Document Object Model) – Used to change XUL
    XUL
    In computer programming, XUL , the XML User Interface Language, is an XML user interface markup language developed by the Mozilla project. XUL operates in Mozilla cross-platform applications such as Firefox...

     in real-time or to edit HTML
    HTML
    HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

     that is currently loaded
  • 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....

     – The primary language of Mozilla browsers
  • XPCOM
    XPCOM
    XPCOM is a cross-platform component model from Mozilla. It is similar to Microsoft COM and CORBA. It has multiple language bindings and IDL descriptions so programmers can plug their custom functionality into the framework and connect it with other components.-The model:XPCOM is one of the main...

     (Cross-Platform Component Object Model)
  • XPConnect
    XPConnect
    XPConnect is a technology which enables simple interoperation between XPCOM and JavaScript.-Object connection:XPConnect allows JavaScript objects to transparently access and manipulate XPCOM objects. It also enables JavaScript objects to present XPCOM compliant interfaces to be called by XPCOM...

  • XPI (Cross-Platform Installer)
  • XUL
    XUL
    In computer programming, XUL , the XML User Interface Language, is an XML user interface markup language developed by the Mozilla project. XUL operates in Mozilla cross-platform applications such as Firefox...

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

     User Interface Language) – Used to define the UI
    User interface
    The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...

     (User Interface) and interaction with user.
  • Mozilla Jetpack
    Mozilla Jetpack
    Jetpack is a project that develops tools and frameworks to ease development of Firefox add-ons. The project has produced the Add-on SDK, a set of APIs, a runtime, and a command-line tool for creating and running add-ons, and the Add-on Builder, a Web-based integrated development environment which...

     – a development kit aiming to lower the learning curve and development time for making add-ons.

Adding features

Extensions are generally used to add functions to the application. Examples of functions which an extension might add include RSS
RSS (file format)
RSS is a family of web feed formats used to publish frequently updated works—such as blog entries, news headlines, audio, and video—in a standardized format...

 readers, bookmark organizers, toolbar
Toolbar
In a graphical user interface, on a computer monitor, a toolbar is a GUI widget on which on-screen buttons, icons, menus, or other input or output elements are placed. Toolbars are seen in office suites, graphics editors, and web browsers...

s, website-specific client programs, FTP
File Transfer Protocol
File Transfer Protocol is a standard network protocol used to transfer files from one host to another host over a TCP-based network, such as the Internet. FTP is built on a client-server architecture and utilizes separate control and data connections between the client and server...

, e-mail, mouse gesture
Mouse gesture
In computing, a pointing device gesture or mouse gesture is a way of combining pointing device movements and clicks which the software recognizes as a specific command. Pointing device gestures can provide quick access to common functions of a program. They can also be useful for people who have...

s, proxy server
Proxy server
In computer networks, a proxy server is a server that acts as an intermediary for requests from clients seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource available from a different server...

 switching, or developer tools
Web development
Web development is a broad term for the work involved in developing a web site for the Internet or an intranet . This can include web design, web content development, client liaison, client-side/server-side scripting, web server and network security configuration, and e-commerce development...

. Many Firefox extensions implement features formerly part of the Mozilla Suite, such as the ChatZilla
ChatZilla
ChatZilla is an IRC client for Mozilla-based browsers such as Firefox, introduced in 2000. It is cross-platform open source software which has been noted for its consistent appearance across platforms, CSS appearance customization and scripting....

 IRC client and a calendar.
Modifying how the user views web pages

Many extensions can change the content of a webpage as it is rendered. For example, Adblock
Adblock
Adblock Plus is a content-filtering extension for Mozilla Firefox and Google Chrome web browsers. ABP, a forked version of Adblock, allows users to prevent page elements, such as advertisements, from being downloaded and displayed.-How it works:Like Mozilla's built-in image blocker, Adblock...

 extensions can prevent the browser from loading images which are advertisements. Another popular extension, Greasemonkey
Greasemonkey
Greasemonkey is a Mozilla Firefox extension that allows users to install scripts that make on-the-fly changes to HTML web page content on the DOMContentLoaded event, which happens immediately after it is loaded in the browser .As Greasemonkey scripts are persistent, the changes made to the web...

, allows the user to install scripts
Scripting language
A scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...

 which modify a targeted subset of webpages on the fly
On the fly
-Colloquial usage:In colloquial use, on the fly means something created when needed. The phrase is used to mean:# something that was not planned ahead# changes that are made during the execution of same activity: ex tempore, impromptu.-Automotive usage:...

 in a manner which is the programmatic complement to user style sheets.
Other uses

Extensions also exist for frivolous, humorous or satirical purposes. Some allude to historical features of the Firefox browser, for example restoring the "delicious delicacies" placeholder text removed in Firefox 0.9, or generating random browser names to allude to the Firefox name changes.

Plugins

Common plugins include Acrobat Reader, Flash Player, Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

, Quicktime
QuickTime
QuickTime is an extensible proprietary multimedia framework developed by Apple Inc., capable of handling various formats of digital video, picture, sound, panoramic images, and interactivity. The classic version of QuickTime is available for Windows XP and later, as well as Mac OS X Leopard and...

, RealPlayer
RealPlayer
RealPlayer is a cross-platform media player by RealNetworks that plays a number of multimedia formats including MP3, MPEG-4, QuickTime, Windows Media, and multiple versions of proprietary RealAudio and RealVideo formats.-History:...

, Shockwave, and Windows Media Player
Windows Media Player
Windows Media Player is a media player and media library application developed by Microsoft that is used for playing audio, video and viewing images on personal computers running the Microsoft Windows operating system, as well as on Pocket PC and Windows Mobile-based devices...

.

Compatibility and updates

Add-ons contain files with xml metadata
Metadata
The term metadata is an ambiguous term which is used for two fundamentally different concepts . Although the expression "data about data" is often used, it does not apply to both in the same way. Structural metadata, the design and specification of data structures, cannot be about data, because at...

 utilized by the mechanism which controls add-on installation. Among other things, this file identifies maximum and minimum versions of a Mozilla project application with which the add-on may be used. If an attempt is made to install the add-on on a version outside of this range, it will install but will be disabled. Add-ons will often work outside of their compatibility range, and indeed some advanced users edit the metadata file to allow the released version of the add-on to run on their install. It is even possible to override the compatibility check using various extensions.

The success of a formal compatibility check is no guarantee the add-on will work, however.

The add-on manager periodically checks for updates to installed add-ons, although checks for updates can be manually initiated by the user. By default, the update service will look for updates at Mozilla Add-ons
Mozilla Add-ons
Mozilla Add-ons is the official Mozilla Foundation website to act as a repository for add-ons for Mozilla software, including Mozilla Firefox, Mozilla Thunderbird, SeaMonkey, and Mozilla Sunbird. These add-ons include extensions, themes, dictionaries, search bar "search engines," and plugins...

, but if the developer includes provisions to check elsewhere, the service will do so.

External links

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