Saturday, August 8, 2009

Epiphany

For the past few days, I've switched from Firefox to Epiphany as my main web browser.

Epiphany is a Gecko-based* browser with an interface designed according to the GNOME Human Interface Guidelines. It has the basic features you expect from a web browser: bookmarks, tabbed browsing, search via the location bar. Essentially, Epiphany is a stripped-down version of Firefox. It supports the Netscape plugin architecture, so any plugins you installed via Firefox will just work. And since it's Gecko under the hood, websites should look identical to those in Firefox.

Out of the box, there is some strangeness with Epiphany. For example, the default screen layout has two toolbars, one of which has only the location bar, the other featuring the back/forward/stop/bookmark buttons. But you can right click on any active toolbar button and choose "Customize toolbars", then start dragging the buttons into a more auspicious arrangement.

Also, GNOME uses Ctrl+PageUp and Ctrl+PageDown by default to navigate tabbed interfaces. This is inherently evil because it requires use of the right hand, which, when using a browser, should normally be positioned on the mouse. Normally I'd remap the key bindings (in GNOME, you can go to System -> Preferences -> Appearance and check the "editable menu shortcut keys" entry under the Interface tab), but GNOME won't let you rebind anything to Ctrl+Tab, since that's used to tab out of a multiline textbox. Fortunately, there is a plugin that ships with Epiphany that allows you to use Ctrl+Tab to navigate between tabs.

Javascript alerts are problematic -- they are window-specific rather than tab-specific, and you can't even close the window when one is active. This is an issue that Opera solved, and Chrome uses that solution; solving it in a way that fits in with GNOME will require some thought.

Favicons are another issue. By default, Epiphany only loads favicons for websites that use the <link rel="icon"> syntax, but most websites simply include a /favicon.ico file in the root directory. (GNOME's one of the few sites that use the former method.) There's a plugin to fix this, but the version included in Ubuntu does not work.

The final issue is unsolved via plugins, as far as I can tell. Your browsing session is not restored when you close the application normally. If the application closes due to a SIGKILL or SIGTERM or a crash, it will offer to reload your tabs the next time. Otherwise, it'll start a new session every time.

What are the benefits, if I'm willing to deal with the awkwardness?


  • Desktop integration. You specify your preferred applications in GNOME, and Epiphany will open downloaded documents with those.

  • Desktop integration. Epiphany looks exactly like I expect an application to look. Proper font sizes, for example (Firefox menu fonts are about 60% too large). And using GNOME's standard alert balloons rather than a hacked-up, application-specific toast alert that renders choppily.

  • Desktop integration. Epiphany doesn't have its own "view page source" function; it dumps a copy of the page in /tmp and opens your preferred graphical text editor on it.

  • The awesome bar looks nicer. This is probably the result of using proper font sizes.

  • Speed. Firefox is slow at starting. Epiphany is much faster.

  • Smarter behavior when closing tabs. Firefox is inconsistent with this; sometimes it'll return me to the last viewed tab, whereas others, it will choose to select the next adjacent tab. Epiphany always returns me to the last viewed tab.



All considered, Epiphany shows a lot of promise. If you normally use GNOME, you should try it out.

* With GNOME 2.28, Epiphany will use Webkit, but as of this writing, the latest released version, 2.26, uses Gecko.

No comments: