By Jake Edge
September 8, 2010
As part of the discussion that is currently raging in the Fedora community
about its target audience, specifically with regard to its update policy,
Máirín Duffy came up with some user
archetypes to put faces to the different kinds of users Fedora might
target. But that much-commented-on blog posting also had a "bonus" section that
pointed out how confusing the update interface can be for users who aren't
technically savvy (i.e. "Caroline Casual-User"). She suggested one way
that Fedora could potentially reduce the confusion and, as it turns out,
Richard Hughes had already been working on a similar
idea called app-install for the past few months. App-install could
help alleviate much of the confusion that casual users have when faced with
updates—no matter how many or few there are.
The problems that Duffy identified mostly centered around what gets
presented to users in the PackageKit GUI. She has an annotated version of
the interface that points out all of the confusing information that is
displayed. Even folks who are relatively new to Linux, but have some amount
of technical background, will probably find her notations to be somewhat
silly ("A streamer? Are we having a party? With "G's"?" for
GStreamer for example). But that is part of her point—there are many
things that technical users quickly recognize and at least partially
understand that will completely go over the heads of casual users.
One could argue that targeting these casual users does not make sense for
Fedora—many do—but Duffy's vision is that Fedora should reduce the
complexity to a "platform update", at least for some users. That update would contain
all of the different pieces that might normally be distributed on a
package-by-package basis. That way, a casual user sees just one update,
presumably fairly infrequently, that encompasses all of the underlying
package thrash that seems to occur frequently with Fedora.
As she readily admits in the posting, it may not be quite that simple.
In fact, she identified three groups of packages ("base platform", "core
desktop", and "applications") that could have bundled updates. Each of
those bundles might have updates released on different schedules, and each
would be rolled into the monthly platform update.
There are some other considerations as well, though, particularly security
fixes. Security updates come rather frequently for Fedora and most
distributions that keep up with upstream vulnerabilities. Her plan for
those is a bit vague, but the central idea is to produce less churn, less
frequently, so that system breakage (i.e. base platform and to a lesser
extent core desktop) is rare. That would also help reduce one problem that
casual users suffer from: they are forced to make decisions about updates
based on long lists of strange package names with largely incomprehensible
reasons for the update.
While app-install is not a complete solution to what Duffy is proposing, it
is a step down that path. The basic idea is that casual users want
"applications" rather than packages. Application is defined to only
include programs that are shipped with desktop files and include an
icon—probably exactly what less-technical users expect. In addition,
the applications are listed by the name users are used to, rather than by a
package name that can be different for each distribution (i.e. Firefox
vs. mozilla-firefox)—and sometimes changes between releases of the same
distribution.
It is not a coincidence that app-install seeks to standardize these names
across distributions. It is specifically geared to be a cross-distribution
tool and Fedora's Hughes was joined by two other distribution hackers,
SUSE's Roderick Greening and
Sebastian Heinlein of Ubuntu, to create the specification and tools. At its
core,
app-install is a data format that contains the information needed to
display applications in friendlier, localized way. The data gets stored in
a SQLite database file that can be distributed along with a tarball of the
application icons.
Hughes has created two demonstration applications, an installer and an
updater, that use the app-install data. This allows applications to be
listed with their icons and descriptions extracted from the desktop files.
Version
2 of the app-install schema, which is currently under development, will
add the ability to display application ratings and screen shots to help
users have a better understanding of what the application is and does
before installing it. It is a vision that is clearly influenced by things
like the Android Market and Ubuntu Software Center.
The app-install data is extracted from the desktop files of the
applications, which, as the README file notes,
has "nice translations gently massaged and QA'd by upstream".
By extracting the data into a SQLite file, and pulling out just the icons
needed, much less disk space is used while still providing icons and
descriptions for all of the applications that a distribution ships.
There are currently tools available to extract the needed metadata from
Ubuntu and Fedora packages, and it should be fairly easy to add the ability
to extract it from other distributions.
Hughes announced app-install in a fedora-devel posting on September 7 and
there were immediate questions about the benefits to Fedora from a
cross-distribution implementation. Hughes had a ready answer to that:
Fedora is *not* a
big enough ecosystem to drive fully localized and feature rich user
experiences. Working with other distros mean we can work as one big
team and share the burden of translation, bug-fixes and writing new
common code. I certainly don't want to write software for Fedora, but
rather write software for Linux, and then write the small amount of
Fedora interface code.
There were also questions about using Hughes's definition of an
application, but the clear focus of the app-install project is for casual
users: "If you know what an epoch is, it's probably not for
you", he said in the announcement. But by the same token,
PackageKit (and yum or apt-get) will continue to exist, "so panic
not". The idea behind app-install should be seen as a potential
broadening of the reach for distributions, so that they can attract more
"consumer"-style users.
One could certainly imagine integrating some of Duffy's ideas into this
framework, with an app-install-based installer possibly replacing the
applications bundle she described, while
adding functionality to support the core desktop and base
platform bundles. It is far from clear that Fedora will adopt an update
strategy along the lines that she described, but it is clear that
there are likely to be changes to Fedora's update policies. The ideas
described by Duffy, as well as Jon
Masters and others, along with the code from the app-install folks may
just find a place as part of those changes.
It would also seem likely that, unlike some other cross-distribution
initiatives, the app-install code will actually be used in multiple
places. Hughes notes that Heinlein is driving many of the changes in the Ubuntu
Software Center, so that as app-install matures it will find its way into
that code. One would guess that having Greening involved means
that openSUSE is looking at using it as well.
Because it doesn't really change anything for existing users—they'll
still have the tools they've always used—but adds a "simplicity
layer" for new users, there should be relatively little resistance to the
app-install idea. There is a burden for distributions to maintain the
app-install data, but it's something that could be automated pretty
easily. Since it arguably updates Linux into the world of "Apps", which is
certainly a popular paradigm at the moment, its adoption by at least some
consumer-oriented distributions is not terribly far-fetched.
(
Log in to post comments)