Ubuntu is currently developing a centralised “App Store” to simplify the adding/removing/updating/configuring of software within Ubuntu.

InlineRepresentation808fb385-0132-499a-a296-0e3ef1ce49ac[8]

It’s already easy! Isn’t it…?

Lets start off with a  quote: –

If Linux has an Achilles heel, from the point of view of a Windows user, it’s installing new software. Be prepared to enter a new world in which Windows Update is a model of simplicity by comparison, and in which you may feel as if you need a Ph.D. in physics merely to install new applications or updates.
Preston Gralla, “Living free with Linux: 2 weeks without Windows”, Computerworld

Is adding software really that difficult in Ubuntu?

Let’s take a quick overview…

How To Install Software. Repeatedly.

As of Ubuntu 9.04 there are four major graphical tools used for installing and removing software. These are as follows:

  1. Add/remove Applications
  2. Synaptic Package Manager
  3. Update Manager
  4. Software Sources

Looking at these in more detail we soon learn that they all serve the same purpose…

Add/Remove Applications.

Ubuntu AddRemove Applications Applet

This is used to add/remove applications from enabled repositories by simply checking/un-checking boxes. It provides an easy-to-browse interface using ‘type’ categories (Internet, Office, etc). It also provides a popularity rating based on number of downloads, as well as brief descriptions of the selected application.

Despite being an easy way to install new software, you can only remove some software through it if it was installed via it. Add/Remove actually tells you to use the following tool “for more complicated needs.”…

Synaptic Package Manager

ubuntu-synaptic-package-manager

Synaptic is a more advanced package management tool than ‘Add/Remove’, but also allows the user to install, upgrade or to remove software packages, libraries, dependencies, etc  ” including those that can’t be added/removed through add/remove.

To install a package the user must search for the program he wants and mark it for installation. Changes are not applied instantly, the user must first mark all changes and then apply them.

Update Manager

ubuntu-update-manager-198-updates Update Manager does what it says on the tin and updates installed packages. Although you can also upgrade through Synaptic, Update Manager actually notifies you when updates are available however will refer yo to use Synaptic if it encounters any problems. You can check/uncheck softwares to be upgraded.

Software Sources

screenshot-software-sources1

Software Sources allows you to add/remove and enable/remove extra repositories from which the above two tools look for their software. It also from here in which you configure ‘Update Manager’ settings, allowing you to specify which software receives updates, how often updates are looked for and whether or not to look for distribution upgrades. (!)

Then you also have…

Gdebi which is used to install downloaded .deb files, and Computer Janitor is used to clean up unused/removed software.

The Ubuntu team feel that most of these tools: –

…increases the amount of interface people have to learn, wastes space on the Ubuntu CD, and fragments development effort.

and as such

…there should be one obvious mechanism for installing, removing, and updating software in Ubuntu, with a self-evident name and an interface a grandmother can use. There should be a coordinated system for developers and enthusiasts to improve the usefulness of descriptions and other metadata for software packages.

Useless Information, Awkward Installation

Although both Synaptic and Add/Remove include application descriptions and meta-data, many of these are of little help to casual users.

Some applications are placed in the wrong categories with either half written, badly written, full of technical jargon or just totally irrelevant descriptions. This leads to many great applications being underused because users just don’t know what they are ” or that they even exist!

The Ubuntu team feel this problem is exemplified greatly on “…software project homepages and vendor Web sites that either provide command-line installation instructions (dulling users to malicious terminal commands from other sources) or .tar.gz downloads that are difficult to install and near-impossible to update.”

This is even more annoying when the software is already packaged for Ubuntu and is inside the repos, yet no-mention is made of this on the website. Ubuntu are seeking to encourage software developers and vendors to place links to their pre-packaged software in the AppCentre rather than providing a source and command-line instructions.

The Plan

The plan is to completely replace Synaptic, Software Sources, Gdebi, and (if appropriate) Update Manager with a centralised ‘App Centre’. (‘App Centre’ is the current code name and therefore is subject to change.)

This ‘App Centre’ aims to combine the ”human-readable” approach of Add/Remove, the power of Synaptic and the ease of Update manager all within one single interface. It’s hoped this “one stop” approach will make handling software easier, improve visibility and prominence of applications, potentially free space on the Ubuntu CD and, above all else, be better for end users.

The first steps towards this will be visible in Ubuntu 9.10!

Wait?! It’ll start in Karmic?!!

The team behind it have set out a preliminary road map for the development of an Ubuntu ‘App Centre’ that stretch over the next four releases. (9.10 ”> 11.04 ) with the full replacement the current Package Management tools by App Centre being introduced during 10.04 and refinement/new features being added to it after that.

Goals for ‘App Centre’ in Ubuntu 9.10

  1. Include in Ubuntu 9.10 a simple and fun interface for finding, installing, and removing software. This will likely involve:
    • A new name.
    • A highly graphical “main entrance” or “front page”, that allows browsing software by category and subcategory, and perhaps includes featured and/or popular applications.
    • Fast and error-tolerant search.
    • Attractive, informative, and easy-to-understand presentation of individual software packages within the interface (with this presentation also being used for apt: URL links to graphical applications).
    • Interactive demonstration of how to launch the software you’ve just installed.
    • The ability to continue browsing available software, and queue up installation/removal requests, while other changes are being made.
    • Better security than the current installation mechanism (i.e. use of PolicyKit instead of gksudo).
  2. Increase use of apt: links by Ubuntu enthusiasts, software projects, and ISVs, replacing terminal commands or standalone downloads. This will likely involve:
    • A redirector Web service (e.g. redirecting from http://apt.ubuntu.com/package-name to apt:package-name), with helpful handling of error cases, to better cater for people who are not running Ubuntu when they follow the link (and to better cater for forums and other CMSes that do not allow direct apt: links).
    • Prominent and highly understandable information on ubuntu.com about how to get your software (whether Free or non-Free) packaged for Ubuntu.
    • An apt: evangelism campaign for projects that already have their software packaged in the Ubuntu repositories.
  3. Fine-tune the interface presented when software updates are available. This may involve:
    • When updates are presented automatically, collapsing the list of updates by default, concentrating instead on the existence of updates and the choice to install them now or later.
    • Presentation of the new better descriptions of security updates.
  4. Establish a system within Launchpad for registered users to suggest a better description, category, keywords, and/or screenshot for a software package, and for the package maintainer to incorporate those changes into a new version of the package, so that end users can find the software more easily later. InlineRepresentation64c36c30008941bb

Designs

Below are some ‘mock-up’s taken from the ‘App Centre’ wiki page which show the first glimpses (subject to user approval)  at what the unified centre may look like.

1.0-available-home 1.0-available-category

1.0-available-application 1.0-in-progress

Conclusion

I’m incredibly excited by the thought of a user-friendly package management system. Although the current system is useful and ‘gets the job done’, it certainly takes a little while to get used to and i’m sure there are a lot of helpful options tucked away in Synaptic that I’m not using because of the disjointed ‘cross tool’ nature of package maintaining in Ubuntu.

Given the current popularity of ‘App Store’s’ for smart phones, modelling a system for adding software that takes the benefits of such an approach is, in my view, a really good idea. Introducing user ratings, users maintaining app descriptions, screenshots etc brings the social aspect of the Ubuntu right to the desktop: Ubuntu users helping each other.

I’m also enthused by the propositions to integrate PPA adding and launchpad accounts, meaning it’ll be easier to test new software or grab updates to applications not maintained by the default repositories. The current set up of having to manually edit your software sources list or copy > paste it into Software Sources THEN manually add the GPG key is all needlessly longwinded.

The Ubuntu ‘App Centre’ has the makings of being the single greatest evolution for the Ubuntu Desktop so far.

How about you? Do you like this idea, or prefer things as they are? Perhaps you can think of an even better way to manage packages!

First there is the Add/Remove Applications program, which is designed to allow you to Add and Remove Applications. Second, there is the Synaptic Package Manager, which allows you to Manage Packages (in a manner that is uniquely synaptic, apparently) or Applications as some might call them, by allowing you to Add and Remove them. Finally there is Software Sources, which, if Wine’s installation instructions are any indication, provides Sources of Software, filling a glaring gap in Ubuntu Linux by allowing you to Add and Remove Applications.
” Ash Pringle, “The New Year Linux resolution: Day 5”, zMogo

installer karmic