Why oh why did Epiphany have to ditch Gecko?

Epiphany: The web broswer for the GNOME desktopIf you read my review of Ubuntu 9.10 “Karmic Koala” you probably noticed that GNOME’s Epiphany web browser has ditched it’s Gecko rendering engine for the WebKit engine. Part of the problems that one action has brought is that not only do web pages render differently under WebKit than they do under Mozilla’s Gecko engine, but every single extension for Epiphany have to be recoded to work with the new backend. As a result some of the wonderful extensions we used with Epiphany/Gecko flat don’t work anymore and I have yet to find updated code for them.

Today I was going through my news feeds and realized that while I do have the Epiphany blog on my feed list via Planet GNOME I want to subscribe to the blog itself so it’s easier to find updates to my default web browser. As I looked at the last ten posts on Epiphany’s blog I discovered the announcement that they were making the switch. They actually have a very good reason for ending Gecko support.

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.

Even I have to admit that their logic makes sense. The announcement also reveals the advantages to using WebKit including a redesigned set of API’s and the fact that WebKit directly uses GNOME technology so it makes sense that the default GNOME web browser would use GNOME tech.

Epiphany/Gecko reached it’s end of life back in July so the release of Ubuntu 9.10 naturally includes Epiphany/WebKit. While there is a package for Epiphany/Gecko available for Ubuntu 9.10 it’s a dummy package information states that it’s been made obsolete and is safe to remove. It certainly can’t be installed on my system. Epiphany-extensions is installed with Epiphany/Gecko and works without a hitch, but some of my favorite extensions are third-party extensions that are included in epiphany-extensions-more, which won’t install. When I try to install it I get a very odd error:

:~$ sudo apt-get install epiphany-extensions-more
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
epiphany-extensions-more: Depends: epiphany-extensions (< 2.27) but 2.28.0-1 is to be installed
E: Broken packages

Frick-frick-frickety-frick! This is a known issue and I hope someone is on the case although I can’t find an upstream bug to show it. Working from the Ubuntu package details I can say that while Tab Foreground seems to work, most of the extensions in the package that I want to use simply don’t work on my system. Here’s a list of extensions in the package with their status as far as I can tell.

Extensions bringing new features:
* Automatic Find As You Type – Start typing, and you will find text. Doesn’t seem to work.
* Automatic Find Links As You Type – The same, restricted to links. Doesn’t seem to work.
* Bookmark shortcuts – Use deskbar applet shortcuts in the URL bar. Works, thank the deity.
* Session Manager – Save session to a file and restore it later. Don’t use.
* Tab Links – Copy the opened URI’s to the clipboard. Don’t use.
* Universal Edit Button - A single shortcut to bring the editor for sites with editable content (wikis). Don’t use.
* Video Downloader - Automatically download or open Flash videos from popular sites, without Flash support. Doesn’t work, much to my chagrin, so I have to use my Firefox video downloading tool, which works on more sites anyway.
* View Source – View page source inside the browser. Doesn’t work, source still opens in Gedit.

Modifications of the user interface:
* Confirm Window Close - Confirm closing when several tabs are open. Don’t use.
* Hidden Menu - Hide and show the menu with a toolbar button. Don’t use since I use the GlobalMenu.
* Menubar and Toolbar beside each other. Don’t use.
* Quit menu item. Doesn’t use.
* Single Menu - All the menus merged in a single one. Don’t use.
* Tabs on treeview - Replace tabs by a treeview in a sidebar. Don’t use.
* Throbber remover - Removes the throbber from the toolbar. Don’t use.
* Urgent Content Notify - Warn the Window Manager when a page changes in the background. Works.

Modifications of the tabs behaviour:
* Close Other Tabs - Close all tabs but the current one. Don’t use.
* Colour tabs - Colorize tabs depending on the website. Don’t use.
* Close tabs with middle-click. Doesn’t work.
* Only One Close Button - Replace close buttons on the tabs by a single one in the toolbar. Don’t use.
* Restore Closed Tab. Doesn’t seem to work.
* Tab Foreground - Open new tabs in the foreground. Works, as long as you open a new tab with Ctrl-T or the New Tab button on the toolbar.
* Tab Key Tab Navigate - Use control-tab to navigate between tabs. Don’t use.
* Less Tab Label Border - Reduce the border around tab labels. Don’t use.
* Wide tabs - Expand tabs to use all available space. Don’t use, and I wish I could make tabs smaller like Firefox does to let me view more than 5 open tabs at once.

I did try downloading the source code for epiphany-extensions-more and dropping them into my profile folder (~/.gnome2/epiphany/extensions) to use them that way, but the results are the same. Hopefully we can get these extensions working, as well as getting the spell checker working better and more intuitively, because it’s making me want to either compile Epiphany/Gecko from source (which will mean I lose the WebKit improvements) or make another browser my default. I do use Chromium as my #2 browser, and it’s working pretty well for me, but I’d really prefer to see Epiphany fixed rather than switch. After all, switching won’t do a damned thing toward making Epiphany/WebKit a better browser for other users.

About these ads

2 Responses to “Why oh why did Epiphany have to ditch Gecko?”

  1. Ferk Says:

    I don’t understand why they didn’t ditch epiphany backend totally and use chromium as a base instead when they are at it.

    Currently there’s no chromium-based browser that is GPL (chromium is Apache and Google Chrome is privative), sooner or later there will be a chromium-based GPL browser that could win over Firefox in GNU/Linux, and it would be a pity if it wasn’t GNOME’s.

    • BostonPeng Says:

      That’s a good question. I’m seeing Epiph go backwards in that my “remembered” form data (username, password, as well as other user-entered data in form text fields, but not memo boxes) is getting forgotten again. I’ll have to file a bug on it because it’s really ticking me off.

      ETA: I have filed bug #483566: Login information is no longer remembered against epiphany-browser, although it could be a bug that got fixed but has come back regression. (I know there’s a word for it but both my brain and web searches return 404′s for it.)


Comments are closed.

Follow

Get every new post delivered to your Inbox.

Join 154 other followers

%d bloggers like this: