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.
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
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 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)
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 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 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)
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)
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
Comments (none posted)
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)
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)
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>>