User: Password:
Subscribe / Log in / New account


Epiphany: the minimalist GNOME browser

By Jonathan Corbet
April 2, 2012
When one talks about web browsers for desktop Linux systems, there are usually two options on the table: Firefox or Chromium. There are a number of other browsers out there, though, including Epiphany, the GNOME project's official web browser. In past years, development of Epiphany appears to have slowed considerably, and it has not drawn much in the way of attention. Recently, though, there have been indications of a new burst of activity around Epiphany, so your editor decided to take a fresh look.

According to its web page, Epiphany "provides an elegant, responsive and uncomplicated user interface that fits in perfectly with GNOME." The initial experience is indeed uncomplicated; Epiphany, when it starts up, presents a single, unadorned, white window with an empty address bar at the top. No splash screens, no welcome messages, and no home page; indeed, Epiphany seems to lack the concept of a home page entirely. Actually getting content into the browser window is a matter of typing something into the bar at the top or dragging it over from some other application.

Epiphany is meant to be a fast browser. Much of its performance will naturally be bounded by the speed of the net and by the speed of the Webkit engine on which Epiphany is based, but your editor's subjective experience is that its developers have certainly not gotten in the way. Interaction with the net feels quick in a way that it most certainly does not with some other browsers. It can be a real pleasure to watch things happen so quickly.

[Epiphany] For the purposes of simply reading web pages, the simplicity of Epiphany's design is also quite nice. There has been a clear effort to remove as much non-content junk from the screen as possible. In particular, the developers seem to have decided to leave as much vertical space as possible for web content. In these days when the designers of monitors seem to have all concluded that widescreen movie watching is the only interesting use case for their products, it is nice to get some of that vertical real estate back. More web page and less scrolling is always a good thing.

Interestingly, hovering over a link in Epiphany does not produce any sort of display showing where the link goes. That is a bit of information that browsers have provided since the beginning; its absence here is strange and a bit jarring. It is nice to have some clue of what awaits at the far end of a link, and there is no real reason not to provide it.

Many of the keyboard and mouse shortcuts that one would expect are there, so moving to Epiphany is not a huge shock. That said, there are a few things missing. Your editor misses moving through a page's history with shift and the mouse scrollwheel; that lack is made worse by Epiphany's failure to implement the "forward" and "back" buttons (buttons 8 and 9) found on some mice. The address bar pulls up options from the history like other browsers, but the tab key, which selects an item in Firefox, just causes them all to disappear with Epiphany. One must, instead, use the arrow keys, taking the hand out of home position and slowing the whole process. But these complaints are minor; the basic operation of the browser is mostly as one would expect.

All the minimalism does come with a bit of a cost, though. The ability to put a small number of frequently-used bookmarks into a toolbar over the window itself can be quite useful, but it is missing from Epiphany. Even the bookmarks themselves are not directly accessible; instead, they are found in a second-level menu behind a button with a gear-shaped icon. That button provides access to a number of other standard functions - open a tab, print the page, view page source, etc. Some interesting things are missing, though: this menu lacks any option to set preferences, access help, or even to quit the application.

This is a GNOME application we're talking about, so your editor was entirely prepared to believe that the Epiphany developers had concluded that a simple application like a web browser has no knobs that a user might actually want to tweak if they knew what was good for them. That turns out not to be the case, though; Epiphany does allow for the tweaking of a certain number of preferences, including the download location, font sizes (though the useful ability to set a minimum font size is missing), JavaScript and cookie behavior, and so on. How this window is obtained is, sadly, an indication of where GNOME is going.

GNOME 3 users know that the top of the screen is occupied by a mostly empty black bar; toward the left end an icon and name for the currently-focused application appears. Thus far, that icon has been mostly a decorative feature. But, it seems, the GNOME developers intend it to be for an application menu. So, to get at Epiphany's preferences window, help browser, history browser, etc., or to tell it to quit, one must move out of the application and to that icon (labeled "Web," not "Epiphany") to request it from the global application menu. That icon is detached from the window(s) it relates to; indeed, it is likely, in multi-monitor setups, to be on an entirely different screen. But running up mileage on the pointer to get to that menu is the distraction-free computing paradigm of the future, it seems.

It would, of course, be purely gratuitous for your editor to point out that getting at the global application menu is especially challenging in a focus-follows-mouse setting, so he would not dream of doing that.

There are a few other settings available to those who are willing to wander into the dconf registry. If you do not want Google to be the recipient of any non-URL text typed into the location bar, for example, you'll need to go into dconf to change the search URL. There's a surprising number of options for configuring Epiphany to run in a locked-down kiosk mode. Happily, the minimum font size option - useful for those of us who want text at the smallest easily-readable size, but no smaller - can also be found there.

There is an extension mechanism for Epiphany, but, seemingly, no way to obtain extensions from the net. Instead, the few available extensions are assumed to be available on the local system, usually packaged by the distributor. The options are limited but they do include useful tools like Adblock and Greasemonkey. There is also a "subscribe to RSS feed" extension, but it appears to only work with locally-running feed reader applications. In general, it would appear that the Epiphany developers don't expect to see vast numbers of extensions as one might find for other browsers.

Epiphany's developers seem to have a number of plans for the near future. The blank initial page may eventually be replaced by an "overview" that includes bookmarks and recent history; it seems intended to at least partially mirror GNOME Shell's overview screen. The planned Queues feature looks useful; it will let users move those pages they plan to read out of their bookmarks and/or open tabs. A port to the WebKit2 API is also in the works; that will allow Epiphany to run different tabs in different processes. And, of course, there is a data synchronization feature that will allow users to store history, bookmarks, and more in a central location.

In summary: the renewed effort has turned Epiphany into a quick and focused tool that can be quite pleasurable to use if you are willing to accept its limitations. It sometimes seems like the problem of writing a workable free web browser has been solved for some time, but there is value in continued innovation and experimentation in this area. Many of us spend a lot of time dinking around working on the web; better tools for that work can only be welcome. For some people, Epiphany, in its current or future form, may well be that better tool.

Comments (56 posted)

Brief items

Quotes of the week

I've seen programs that end up swapping bytes two, three, even four times as layers of software grapple over byte order. In fact, byte-swapping is the surest indicator the programmer doesn't understand how byte order works.
-- Rob Pike

Try to imagine yourself in the IPMC, being asked to vote for the release of [Apache OpenOffice] 3.4. You want to make sure the release follows Apache policies and guidelines. You want to protect the ASF. You want to ensure that users, including developers using our source code packages, get the greatest benefit from the release. But you are faced with a 10 million line code project, larger and more complex than anything you've faced before at Apache.

What do you do? Where do you start?

Honestly, I have absolutely no idea.

-- Rob Weir

Regular ls output, tuned as it was for 9600 baud terminals or so, is really too verbose for modern media such as twitter and cell phones. This new output format, enabled by the -j switch (or --format=jam, but you don't want to type all that on a cell phone!), brings ls into the 21st century with an appropriate level of conciseness.
-- Joey Hess

Comments (15 posted)

Leo 4.10 released

Leo is an interesting combination of text editor, integrated development environment, project management tool, music player, and more. The 4.10 release is now available; it includes a lot of new commands, better abbreviation capabilities, and more.

Full Story (comments: 10)

libam7xxx 0.1.2

The libam7xxx project aims to write a user-space driver for USB-connected handheld projectors; the 0.1.2 release is now available. It currently supports the Acer C110 and Philips PicoPix PPX 1020 devices.

Comments (none posted)

netsniff-ng 0.5.6 released

Netsniff-ng is a toolkit for the analysis and generation of network traffic. The 0.5.6 release is essentially a rewrite from scratch that turns it into a set of tools for traffic capture and analysis, packet generation, route tracing, and more. "flowtop is a top-like connection tracking tool that can run on an end host or router. It is able to present TCP or UDP flows that have been collected by the kernel space netfilter framework. Next to reverse DNS data, connection states and ports, geographical information about the connection end points are supplied."

Comments (none posted)

StarPU 1.0.0 released

StarPU is a set of GCC extensions and associated runtime system intended to facilitate the programming of heterogeneous systems - computers with a programmable graphics processing unit, for example. "StarPU typically makes it much easier for high performance libraries or compiler environments to exploit heterogeneous multicore machines possibly equipped with GPGPUs or Cell processors: rather than handling low-level issues, programmers may concentrate on algorithmic concerns." The 1.0.0 release is now available; it has support for NVIDIA GPUs, processors implementing OpenCL, and Cell processors.

Full Story (comments: 2)

Qt5 Alpha released

The first alpha release of the Qt5 toolkit is available, showing the direction that Qt is taking. A lot of the work appears to be under-the-hood restructuring, but there's a number of new features as well. "There was one basic vision driving a lot of the Qt 5 work: 'Qt 5 should be the foundation for a new way of developing applications. While offering all of the power of native Qt using C++, the focus should shift to a model, where C++ is mainly used to implement modular backend functionality for Qt Quick.'" (Thanks to Paul Wise).

Comments (13 posted)

Udev and systemd to merge

Kay Sievers has sent out an announcement that the udev and systemd projects will be merging into a single source tree. "Today, ‘Init’ needs to be fully hotplug-capable; udev device management and knowledge about device lifecycles is an integral part of systemd and not an isolated logic. Due to this, and to minimize our administrative workload, as well as to minimize duplication of code, and to resolve cyclic build dependencies in the core OS, we have decided to merge the two projects." What the developers will not do is remove the ability to build and run udev on a system that is not using systemd.

Full Story (comments: 79)

Newsletters and articles

Development newsletters from the last week

Comments (none posted)

Grinberg: Linux on an 8-bit micro?

On his blog, Dmitry Grinberg writes about getting Linux to run on an 8-bit microcontroller. In order to do so, he wrote an ARM emulator for the ATmega1284p. The results: "uARM is certainly no speed demon. It takes about 2 hours to boot to bash prompt ("init=/bin/bash" kernel command line). Then 4 more hours to boot up the entire Ubuntu ("exec init" and then login). Starting X takes a lot longer. The effective emulated CPU speed is about 6.5KHz, which is on par with what you'd expect emulating a 32-bit CPU & MMU on a measly 8-bit micro. Curiously enough, once booted, the system is somewhat usable. You can type a command and get a reply within a minute. That is to say that you can, in fact, use it. I used it to day to format an SD card, for example. This is definitely not the fastest, but I think it may be the cheapest, slowest, simplest to hand assemble, lowest part count, and lowest-end Linux PC. The board is hand-soldered using wires, there is not even a requirement for a printed circuit board."

Comments (32 posted)

Can Willow Garage’s “Linux for Robots” Spur Internet-Scale Growth? (Xconomy)

Xconomy looks at Willow Garage and its open source software for robots. "Called the Robot Operating System, or ROS, it’s a collection of algorithms that handle standard tasks required of every mobile robot—things like making sense of a visual scene, planning a path around obstacles. Unlike PR2, ROS is completely free, and is already being adapted by hundreds of robotics labs and companies around the world. It’s spreading so fast that [CEO Steve] Cousins says Willow Garage is considering creating a non-profit foundation, similar to the Apache Software Foundation, that could organize the developer community, collect donations, and act as an independent steward and champion for the software." LWN covered a talk by Willow Garage's Tully Foote from SCALE 10x in January.

Comments (3 posted)

Russell: Sources of Randomness for Userspace

On his blog, Rusty Russell digs into sources of randomness for user-space programs (other than just reading /dev/urandom). "There are three obvious classes of randomness: things about the particular machine we’re on, things about the particular boot of the machine we’re on, and things which will vary every time we ask." He goes on to look at examples in each category and give a rough guess of the number of bits of entropy each would produce.

Comments (46 posted)

Page editor: Jonathan Corbet
Next page: Announcements>>

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds