The Future of Epiphany

1:21 pm Announcements

Attention! Ceci n’est pas un poisson d’avril!

Over the last few months, the Epiphany development team has been discussing the future of the Gnome web browser. We feel that we haven’t been living up to the full potential of a well-integrated Gnome application, due to both internal and external constraints.

The Epiphany user interface is built on top of an abstraction layer above the web rendering engine, enabling us to support multiple back-ends. Currently Epiphany supports the Mozilla browser engine (Gecko), and the WebKit engine.

The Epiphany dependency on Gecko creates a number of problems for us. The Gecko release cycle is very long (e.g. Gecko 1.8 was released with Firefox 1.5 in 2005; 1.8.1 with Firefox 2.0 in 2006 and 1.9 will be released sometime this year with Firefox 3.0), prone to delays and not synchronised with the unvarying 6-month Gnome release cycle. Furthermore, it and the feature work on Gecko are mostly driven by the Firefox browser, our main competitor on the Gnome desktop. Also the embedding API of Gecko (GtkMozEmbed) has been unmaintained and stagnant for a long time. Finally, the current plans for “Mozilla 2.0” bring much uncertainty to us, as well as much work to account for their proposed big API changes.

We are a small team, with only one maintainer and a hand-full of regular contributors. Maintaining the abstraction layer, and the Gecko back-end require lot of effort and time. Much time alone is spent on keeping up with Gecko API changes, and we have not had much contributions to the Gecko back-end in a long time.

Therefore we have decided to radically change the future of Epiphany in the upcoming 2.24 development cycle. We will drop the abstraction layer, making the code more maintainable, allowing faster development and enabling us to take advantage of the features of the back-end directly.

Furthermore, we will choose only one web engine back-end to support and concentrate our efforts on it instead of spreading our efforts to multiple back-ends and restricting us to the common features all back-ends support.

This single back-end will be WebKit.

We see several advantages in WebKit. These include:

  • The WebKit APIs. The API has been designed from the ground up, and feels like any other GObject based API. A two-way GObject bindings to the web page’s DOM, and to JavaScript is in development; this will allow us and our Extensions to access the DOM directly, which hasn’t been possible before in Epiphany in either C or Python.
  • WebKit uses Gnome technologies directly. Similarly to Gecko, it uses Cairo for graphics, and Pango for the rendering. On top of that, it uses libsoup for the network layer, and GStreamer for the <video> and <audio> tag support in HTML5.
  • Starting in time for Gnome 2.24, WebKit/GTK+ will implement a 6-month release cycle synchronised with the Gnome release schedule.
  • We feel that WebKit has the momentum, and can bring more developers to both Epiphany directly and the Gnome platform by extension. WebKit/GTK+ already has more people working on it than are working on either GtkMozEmbed or the Epiphany gecko back-end.
  • WebKit is a better match for other uses in Gnome, e.g. as a HTML widget in Yelp, in Devhelp, and as an editor in Evolution replacing GtkHTML.

We will propose WebKit as an approved external dependency for Gnome.

In case that we are unable to complete this development in time for 2.24.0, we will delay the new Epiphany to 2.26. For this end, we will maintain the gnome-2-22 branch in a state that allows us to potentially make the 2.24.0 release off of that branch.

13 Responses

  1. Sezaru Says:

    GREAT!!!
    This will look awesome, in my opinion using webkit will make epiphany be more popular in gnome/xfce (and kde why not) desktops, i already just use epiphany in my xfce desktop, and simply kick ass, can wait to see using epiuphany with a fully implemented webkit =D
    Thanks a lot for this great news!

    ps: sorry about my english.

  2. Eetu Says:

    Are you sure this is not a (all too serious, IMHO) April Fools joke?

  3. Nekohay’blog » Blog Archive » Epiphany passe à Webkit exclusivement Says:

    […] ici et là. Ce n’est pas un poisson d’avril. Les temps à venir seront décidément […]

  4. Wim Says:

    Really great! Now I’m able to move my webdeveloping to Ubuntu, because I can test in Epiphany for Safari. (IE runs virtually in VirtualBox)

    I’m really happy with this!

  5. dr88dr88 Says:

    best decision ever. I am now really looking forward to the new version. It was really a big disappointment that there is no webkit backend in the new version of ubuntu.

  6. dr88dr88 Says:

    Only it is a disappointment that it is today april 1.

  7. Bjorn Tipling Says:

    This is great news. I am so happy about this. I love using Epiphany, and I’m tired of using gecko based browers.

  8. Daerd Says:

    > Ceci n’est pas un poisson d’avril!

    I’m glad that you cleared that out! This is such a good move that I’d kill someone who’ll make it a joke. >:)

    Seriously, though?

  9. Epiphany abandonnera Gecko pour Webkit | BeFox Says:

    […] partenaire Libre à un autre qui l’est beaucoup moins. Plus d’informations sur le blog d’Epiphany (En). Tags : Gecko, Open Source « Articles […]

  10. bochechq Says:

    Best news ever!

    /me is gonna love even more Epiphany 🙂

  11. Epiphany se cambia a WebKit « Lv1z Lab Says:

    […] los encargados del progreso de Epiphany, han anunciado que para la nueva version, que vendria siendo la 2.24, el motor usado sera WebKit y Gecko sera […]

  12. Epiphany quiere a Webkit | Venraiker Says:

    […] 1 de abril se anunció en el blog de Epiphany que se pasaba del motor de Gecko a Webkit, muchos se pensaron en un primer momento (yo […]

  13. Rodrigo Says:

    I know is very soon to ask but, when it is going to be released a stable version of epiphany.webkit?

    This is a very great news, i’m really tired of firefox-gecko.

Leave a Comment

Your comment

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.