Epiphany (web browser)
Encyclopedia
Epiphany is an open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 web browser
Web browser
A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...

 for the GNOME
GNOME
GNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...

 desktop environment
Desktop environment
In graphical computing, a desktop environment commonly refers to a style of graphical user interface derived from the desktop metaphor that is seen on most modern personal computers. These GUIs help the user in easily accessing, configuring, and modifying many important and frequently accessed...

. The browser is a descendant
Fork (software development)
In software engineering, a project fork happens when developers take a legal copy of source code from one software package and start independent development on it, creating a distinct piece of software...

 of Galeon
Galeon
Galeon is a web browser for GNOME based on Mozilla’s Gecko layout engine. Galeon’s self-declared mission was to deliver the web and only the web. Galeon was discontinued in September 2008....

, and was created after developer disagreements about Galeon's growing complexity. Since then Epiphany is developed as part of GNOME project and reuses most of its technologies and settings when applicable.

Galeon fork

Epiphany was originally developed as a fork
Fork (software development)
In software engineering, a project fork happens when developers take a legal copy of source code from one software package and start independent development on it, creating a distinct piece of software...

 of Galeon
Galeon
Galeon is a web browser for GNOME based on Mozilla’s Gecko layout engine. Galeon’s self-declared mission was to deliver the web and only the web. Galeon was discontinued in September 2008....

 by Marco Pesenti Gritti, who was also the initiator of Galeon. The fork occurred because of the different aims of Gritti and the rest of Galeon development team about new features. While Gritti regarded Galeon's monolithic design and the amount of user-configurable features as factors limiting Galeon's maintainability and user base expansion, the rest of Galeon developers believed that Galeon still wasn't feature complete. At the same time the GNOME project created the GNOME
GNOME
GNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...

 human interface guidelines
Human Interface Guidelines
Human interface guidelines are software development documents which offer application developers a set of recommendations. Their aim is to improve the experience for the users by making application interfaces more intuitive, learnable, and consistent. Most guides limit themselves to defining a...

, which promoted simplification of user interfaces. As Galeon was considered a power user
Power user
A power user is a user of a personal computer who has the ability to use advanced features of programs which are beyond the abilities of "normal" users, but is not necessarily capable of programming and system administration...

-oriented browser, the implementation of those guidelines was believed to be unacceptable by most developers. As a result, Gritti created a new browser based on Galeon's codebase with most non-mission-critical features stripped out. Epiphany was intended to be fully compliant with the GNOME human interface guidelines, with a very simple user interface. As such Epiphany does not have its own theme settings and uses GNOME’s settings, which are specified in the GNOME Control Center.

Gritti explains his motivations:
Galeon continued after the fork, but lost its momentum due to the remaining developers' failure to keep up with new features and changes Mozilla
Mozilla
Mozilla is a term used in a number of ways in relation to the Mozilla.org project and the Mozilla Foundation, their defunct commercial predecessor Netscape Communications Corporation, and their related application software....

 introduced. Galeon development finally stalled and the developers decided to work on a set of extensions to bring Galeon's advanced features to Epiphany.

Epiphany's early philosophy included a commitment to creating a web browser specifically for GNOME:
Gritti is no longer involved with the Epiphany project and a GNOME team lead by Xan Lopez, Christian Persch and Jean-François Rameau now direct the project.

While some believe that Epiphany should be the default web browser in Linux distributions with GNOME as the default desktop environment
Desktop environment
In graphical computing, a desktop environment commonly refers to a style of graphical user interface derived from the desktop metaphor that is seen on most modern personal computers. These GUIs help the user in easily accessing, configuring, and modifying many important and frequently accessed...

, the common practice is to distribute Firefox instead. In most minimalist distributions, Epiphany is installed with the GNOME meta-package or packages group.

Gecko-based

The first version of Epiphany was released on 24 December 2002.

Epiphany initially used the Gecko layout engine
Gecko (layout engine)
Gecko is a free and open source layout engine used in many applications developed by Mozilla Foundation and the Mozilla Corporation , as well as in many other open source software projects....

 from the Mozilla
Mozilla
Mozilla is a term used in a number of ways in relation to the Mozilla.org project and the Mozilla Foundation, their defunct commercial predecessor Netscape Communications Corporation, and their related application software....

 project to display web pages. It provided a GNOME integrated front-end to Gecko, instead of the Mozilla 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...

 interface.

The development process of Epiphany was mainly focused on numerous small usability improvements. The most notable of them was the new text entry widget, which first appeared in 1.8 stable version series. The new widget supported icons inside the text area, reducing amount of chrome needed to represent the information, and thus conforming GNOME HIG.

The second major milestone (after version 1.0) in Epiphany development was the 2.14 release: this was the first Epiphany release which followed GNOME's version numbering. It also featured network awareness with NetworkManager
NetworkManager
Network Manager is a software utility aimed at simplifying the use of computer networks on Linux-based and other Unix-like operating systems.- Overview :...

, smart bookmark
Smart bookmark
Smart Bookmarks are an extended kind of internet bookmark used in web browsers. By accepting an argument they directly give access to functions of web sites, as opposed to filling web forms at the respective web site for accessing these functions. Smart Bookmarks can be used for web searches, or...

s-related improvements and possibility to be compiled against XULRunner
XULRunner
XULRunner is a runtime environment developed by the Mozilla Foundation to provide a common back-end for XUL-based applications. It replaced the Gecko Runtime Environment, a stalled project with a similar purpose....

. The latter is specifically important: previously Epiphany could only use Firefox or Mozilla
Mozilla Application Suite
The Mozilla Application Suite is a cross-platform integrated Internet suite. Its development was initiated by Netscape Communications Corporation, before their acquisition by AOL. It is based on the source code of Netscape Communicator...

/SeaMonkey
SeaMonkey
SeaMonkey is a free and open source cross-platform Internet suite. It is the continuation of the former Mozilla Application Suite, based on the same source code...

 as a layout engine
Layout engine
A web browser engine, , is a software component that takes marked up content and formatting information and displays the formatted content on the screen. It "paints" on the content area of a window, which is displayed on a monitor or a printer...

 provider, so it could only be installed alongside with one of those browsers. The XULRunner support gave the possibility to install Epiphany as the only web browser in the system.

WebKit-based

The development process heavily suffered from multiple problems, related to the GECKO backend. To address these issues in July 2007 the Epiphany team added support for WebKit
WebKit
WebKit is a layout engine designed to allow web browsers to render web pages. WebKit powers Google Chrome and Apple Safari and by October 2011 held over 33% of the browser market share between them. It is also used as the basis for the experimental browser included with the Amazon Kindle ebook...

 as an alternative rendering engine for Epiphany. As the backend development advanced, on the Epiphany team announced that it would stop using the Gecko rendering engine and proceed using only WebKit.

The size of the development team and the complexity of porting the whole browser to a new backend caused Epiphany to re-release version 2.22 with bugfixes instead of the actual development code, so the browser remained stagnant until , when the project team announced that Epiphany 2.26 would be the final Gecko-based version. Eventually, in September 2009 the Webkit-powered Epiphany was released, as part of the release of GNOME 2.28.
More recent versions of the browser have reduced the amount of user interface chrome, including menus and control buttons, although the latter can be optionally added. Epiphany supports tabbed browsing, cookie
HTTP cookie
A cookie, also known as an HTTP cookie, web cookie, or browser cookie, is used for an origin website to send state information to a user's browser and for the browser to return the state information to the origin site...

 management, popup
Pop-up ad
Pop-up ads or pop-ups are a form of online advertising on the World Wide Web intended to attract web traffic or capture email addresses. Pop-ups are generally new web browser windows to display advertisements...

 blocking and an extensions system via the Epiphany-extensions package. The Java (IcedTea
IcedTea
IcedTea is a build and integration project for OpenJDK launched by Red Hat in June 2007. The initial goal was to make the Java OpenJDK software which Sun Microsystems released as free software in 2007 usable without requiring any other software that is not free software and hence make it possible...

) plug-in is also available.

Release history

Version Date Changes
0.5
  • Ability to drag bookmarks, smart bookmarks and topics to the toolbar.
  • Optional Go button for URL bar.
  • Help support.
0.6
  • Drag and drop of links to tab bar
    Tab (GUI)
    In the area of graphical user interfaces , a tabbed document interface is one that allows multiple documents to be contained within a single window, using tabs as a navigational widget for switching between sets of documents...

    .
  • Security preferences added.
  • The user primary language automatic detection.
  • New history dialog.
  • Default bookmarks toolbar.
  • 0.7
  • Zoom control for the toolbar.
  • Ability to reload page bypassing cache.
  • Traditional bookmarks menu.
  • Exit fullscreen button.
  • 0.8
  • Tooltips.
  • Imroved GNOME integration.
  • Fast search for bookmarks and history.
  • Drag and drop of URLs in the bookmarks toolbar.
  • 0.9
    }
    | Bugfixes only.
    |-
    ! 1.0
    |
    GNOME 2.04
    |
    • Support for Mozilla 1.6.

    |-
    ! 1.2
    |
    GNOME 2.06
    |
    • Support for Mozilla 1.7 and 1.8.
    • Lockdown mode.
    • Caret browsing.

    |-
    ! 1.4
    |
    GNOME 2.08
    |
    • Offline mode.
    • Per site Pop-up ad
      Popup
      Popup or pop-up could refer to:* Batted ball, a type of hit ball in baseball* Hidden headlamps, also called pop-up headlamps* Pop-up book, or movable books* Pop Up, a 2007 album by Yelle* Popup camper, a type of recreational vehicle...

       blocking.

    |-
    ! 1.6
    |
    GNOME 2.10
    |
    • Extensions manager.

    |-
    ! 1.8
    |
    GNOME 2.12
    |
    • Python bindings.
    • Find toolbar.
    • Favicon
      Favicon
      A favicon , also known as a shortcut icon, Web site icon, URL icon, or bookmark icon, is a file containing one small icons, most commonly 16×16 pixels, associated with a particular Web site or Web page...

       and SSL icons
      Computer icon
      A computer icon is a pictogram displayed on a computer screen and used to navigate a computer system or mobile device. The icon itself is a small picture or symbol serving as a quick, intuitive representation of a software tool, function or a data file accessible on the system. It functions as an...

       displayed in location bar.
    • Gecko 1.8 support.
    • Error messages display in content area.
    • Use of the standard GNOME printing system.

    |-
    ! 2.14
    |
    |
    • XULRunner
      XULRunner
      XULRunner is a runtime environment developed by the Mozilla Foundation to provide a common back-end for XUL-based applications. It replaced the Gecko Runtime Environment, a stalled project with a similar purpose....

       backend supported.
    • Topic suggestions in bookmarks manager.
    • Version numbering synced to GNOME
      GNOME
      GNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...

      .
    • NetworkManager
      NetworkManager
      Network Manager is a software utility aimed at simplifying the use of computer networks on Linux-based and other Unix-like operating systems.- Overview :...

       DBUS interface support.

    |-
    ! 2.16
    |
    |
    • History preserved for links, opened in new tabs.
    • Spell check support.
    • Page security info dialogue from Certificates extension.
    • New GTK+ Printing dialogs.
    • Stability improvements.

    |-
    ! 2.18
    |
    |
    • Bookmarks online storage.
    • UI for Ad Blocker.

    |-
    ! 2.20
    |
    | rowspan=4 |
    • Migration from Gecko to WebKit.
    • PDF printing.
    • Migration from gnome-vfs to GIO.

    |-
    ! 2.22
    |
    |-
    ! 2.24
    |
    |-
    ! 2.26
    |
    |-
    ! 2.28
    |
    |
    • Gecko backends removed.
    • Support for the WebInspector.
    • Python support for extensions removed.

    |-
    ! 2.30
    |
    |
    • Broken SSL certificate warning.
    • Custom page menus support.

    |-
    ! 2.32
    |
    | Bugfixes only.
    |-
    ! 3.0
    |
    |
    • Reduced the amount of user interface chrome.
    • Geolocation support.
    • Switched from text zooming to full content zooming.
    • New download manager.
    • Migration to GTK+
      GTK+
      GTK+ is a cross-platform widget toolkit for creating graphical user interfaces. It is licensed under the terms of the GNU LGPL, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the X Window System, along with Qt.The name GTK+ originates from GTK;...

       3 and GNOME 3 technologies.

    |-
    ! 3.2
    |
    |
    • Separate font settings.
    • WebKit's internal page source viewer made default.
    • Web Applications mode.

    |}

    Features

    Epiphany is based on the WebKit
    WebKit
    WebKit is a layout engine designed to allow web browsers to render web pages. WebKit powers Google Chrome and Apple Safari and by October 2011 held over 33% of the browser market share between them. It is also used as the basis for the experimental browser included with the Amazon Kindle ebook...

     web browser engine, which provides following features:
    • Support for HTML
      HTML
      HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

       4 and XHTML
      XHTML
      XHTML is a family of XML markup languages that mirror or extend versions of the widely-used Hypertext Markup Language , the language in which web pages are written....

    • Support for CSS
      CSS
      -Computing:*Cascading Style Sheets, a language used to describe the style of document presentations in web development*Central Structure Store in the PHIGS 3D API*Closed source software, software that is not distributed with source code...

       1 and 2
    • Substantial degree of implementation of HTML5 and CSS 3 features
    • Web Inspector HTML and 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....

       debugging tool
    • NSAPI
      Netscape Server Application Programming Interface
      The Netscape Server Application Programming Interface is an application programming interface for extending server software, typically web server software.-History:...

      , including Adobe Flash
      Adobe Flash
      Adobe Flash is a multimedia platform used to add animation, video, and interactivity to web pages. Flash is frequently used for advertisements, games and flash animations for broadcast...

       and IcedTea (java)
      IcedTea
      IcedTea is a build and integration project for OpenJDK launched by Red Hat in June 2007. The initial goal was to make the Java OpenJDK software which Sun Microsystems released as free software in 2007 usable without requiring any other software that is not free software and hence make it possible...

       plug-ins support

    GNOME integration

    Epiphany reuses GNOME frameworks and settings. Therefore its user interface theming is handled with GNOME default theme, the network settings with GNOME NetworkManager
    NetworkManager
    Network Manager is a software utility aimed at simplifying the use of computer networks on Linux-based and other Unix-like operating systems.- Overview :...

     configuration, printing with GNOME printing system, settings with GSettings and GNOME default applications settings are used for internet media type
    Internet media type
    An Internet media type, originally called a MIME type after MIME and sometimes a Content-type after the name of a header in several protocols whose value is such a type, is a two-part identifier for file formats on the Internet.The identifiers were originally defined in RFC 2046 for use in email...

    s handling.

    The built-in preference manager for Epiphany is designed to present user only basic browser-specific settings. All the advanced configuration is done with the stand-alone GSettings configurator tools such as GNOME's default dconf (command line) and dconf-editor (graphical).

    Epiphany follows the GNOME
    GNOME
    GNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...

     Human Interface Guidelines
    Human Interface Guidelines
    Human interface guidelines are software development documents which offer application developers a set of recommendations. Their aim is to improve the experience for the users by making application interfaces more intuitive, learnable, and consistent. Most guides limit themselves to defining a...

    .

    Bookmarks

    While most browsers feature a hierarchical folder-based bookmark system, Epiphany uses categorized bookmarks, where a single bookmark (such as "Epiphany") can exist in multiple categories (such as "Web Browsers", "GNOME", and "Computer Software"). Special categories include bookmarks that have been used frequently ("Most Frequent") and bookmarks that have not yet been categorized. Another innovative concept supported by Epiphany (though originally from Galeon
    Galeon
    Galeon is a web browser for GNOME based on Mozilla’s Gecko layout engine. Galeon’s self-declared mission was to deliver the web and only the web. Galeon was discontinued in September 2008....

    ) is “smart bookmark
    Smart bookmark
    Smart Bookmarks are an extended kind of internet bookmark used in web browsers. By accepting an argument they directly give access to functions of web sites, as opposed to filling web forms at the respective web site for accessing these functions. Smart Bookmarks can be used for web searches, or...

    s”. These take a single argument specified from the address bar or from a textbox in a toolbar. Bookmarks along with browsing history are accessed from the address bar in find-as-you-type manner.

    Web Applications mode

    Since GNOME 3.2 Epiphany allows creating application launchers for web application
    Web application
    A web application is an application that is accessed over a network such as the Internet or an intranet. The term may also mean a computer software application that is coded in a browser-supported language and reliant on a common web browser to render the application executable.Web applications are...

    s. The subsequent invocation of such launcher brings up an individual chromeless instance
    Site-specific browser
    A site-specific browser is a software application that is dedicated to accessing pages from a single source on a computer network such as the Internet or a private intranet. SSBs typically simplify the more complex functions of a web browser by excluding the menus, toolbars and browser chrome...

     of Epiphany limited to the single domain, with the off-site links opening in a normal browser. The launcher created this way is accessible from the desktop and is not limited to GNOME Shell. For instance it may be used with Unity
    Unity (user interface)
    Unity is a shell interface for the GNOME desktop environment developed by Canonical Ltd for its Ubuntu operating system. Unity debuted in the netbook edition of Ubuntu 10.10. It is designed to make more efficient use of space given the limited screen size of netbooks, including, for example, a...

    , used on Ubuntu
    Ubuntu (operating system)
    Ubuntu is a computer operating system based on the Debian Linux distribution and distributed as free and open source software. It is named after the Southern African philosophy of Ubuntu...

    . This feature facilitates the integration of desktop and the Web, which is a goal of the Epiphany developers. Similar features can be found in the Windows version of Google Chrome
    Google Chrome
    Google Chrome is a web browser developed by Google that uses the WebKit layout engine. It was first released as a beta version for Microsoft Windows on September 2, 2008, and the public stable release was on December 11, 2008. The name is derived from the graphical user interface frame, or...

    . For the same purpose 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...

     previously developed a standalone application Mozilla Prism
    Mozilla Prism
    Mozilla Prism is a product which integrates web applications with the desktop, allowing web applications to be launched from the desktop and configured independently of the default web browser. As of November 2010, Prism is listed as an inactive project at the Mozilla labs website.Prism is based...

    , which was superseded by the project Chromeless.

    Currently the web applications are managed within Epiphany's main instance: the applications can be deleted from the page, accessible with a special URI about:applications. This approach is considered a temporary solution until common GNOME-wide application management is implemented in GNOME 3.4.

    Modularity

    Epiphany is extensible with a plugin system known as Epiphany extensions. The package of the same name is distributed by the developers of Epiphany, containing official extensions. Though it adds some useful features (see the table below), it is often criticized for being too limited, specifically compared to Firefox extensions.

    Previously extensions could be written in either C
    C (programming language)
    C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

     or Python
    Python (programming language)
    Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

    , but the Python support was dropped with WebKit adoption.

    Current list of Epiphany extensions include:
    Official Epiphany extensions
    Actions Execute arbitrary commands from context menu
    Ad Blocker Ad filtering
    Ad filtering
    Ad filtering or ad blocking is removing or altering advertising content in a webpage. Advertising can exist in a variety of forms including pictures, animations, text, or pop-up windows. More advanced filters allow fine-grained control of advertisements through features such as blacklists,...

    Auto Reload Tab Reload a tab periodically
    Certificates View the page certificate
    Security certificate
    In Canadian law, a security certificate is a mechanism by which the Government of Canada can detain and deport foreign nationals and all other non-citizens living in Canada...

     and manage the certificates
    Gestures Perform actions with mouse gestures
    Greasemonkey run user scripts
    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...

     to modify web pages' behavior
    HTML5Tube View Youtube
    YouTube
    YouTube is a video-sharing website, created by three former PayPal employees in February 2005, on which users can upload, view and share videos....

     videos using WebKit's HTML5 media player
    HTML5 video
    HTML5 video is an element introduced in the HTML5 draft specification for the purpose of playing videos or movies, partially replacing the object element...

    News Feed Subscription Subscribe to a news feed offered by the webpage in your favorite news reader
    Push Scroll Drag the page on middle mouse click
    Soup Fly A tool to debug the SoupSession WebKit uses
    Tab Key Tab Navigate Use the Tab key to navigate between tabs
    Tab States Indicates new content in background tabs


    Several unofficial extensions exist, though most of them are not supported any more.

    Reception

    In reviewing the Webkit-powered Epiphany 2.28 in September 2009, Paul Ryan
    Paul Ryan
    Paul Ryan may refer to:* Paul Ryan , member of the U.S. House of Representatives* Paul Ryan , music agent for The Agency, former Cradle of Filth guitarist* Paul Ryan , comics artist...

     of Ars Technica
    Ars Technica
    Ars Technica is a technology news and information website created by Ken Fisher and Jon Stokes in 1998. It publishes news, reviews and guides on issues such as computer hardware and software, science, technology policy, and video games. Ars Technica is known for its features, long articles that go...

     said "Epiphany is quite snappy in GNOME 2.28 and scores 100/100 on the Acid3
    Acid3
    Acid3 test is a web test page from the Web Standards Project that checks a web browser's compliance with elements of various web standards, particularly the Document Object Model and JavaScript....

     test. Using WebKit will help differentiate Epiphany from Firefox, which is shipped as the default browser by most of the major Linux distributors."

    In reviewing Epiphany in July 2010 Jack Wallen described it as "efficient, but different" and noted its problem with crashes. "When I first started working with Epiphany it crashed on most sites I visited. After doing a little research (and then a little debugging) I realized the issue was with javascript. Epiphany (in its current release), for some strange reason, doesn’t like javascript. The only way around this was to disable javascript. Yes this means a lot of features won’t work on a lot of sites – but this also means those same sites will load faster and won’t be so prone to having issues (like crashing my browser)." Wallen concluded positively about the browser, "Although Epiphany hasn’t fully replaced Chrome and Firefox as my one-stop-shop browser, I now use it much more than I would have previously. [It has a] small footprint, fast startup, and clean interface."

    In March 2011 Veronica Henry reviewed Epiphany, saying "To be fair, this would be a hard sell as a primary desktop browser for most users. In fact, there isn’t even a setting to let you designate it as your default browser. But for those instance where you need to fire up a lighting-fast browser for quick surfing, Epiphany will do the trick." She further noted, "Though I still use Firefox as my primary browser, lately it seems to run at a snail’s pace. So, one of the first things I noticed about Epiphany is how quickly it launches. And subsequent page loads on my system are equally as fast." Henry criticized Epiphany for its short list of extensions, singling out the lack of Firebug as a deficiency. Epiphany does, however, support the Web Inspector offered by the Webkit engine, which has similar functionality.

    See also

    • List of web browsers
    • Comparison of web browsers
      Comparison of web browsers
      The following tables compare general and technical information for a number of web browsers. Please see the individual products' articles for further information.-Historical web browsers:...



    External links

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