SoftwareCenter

Differences between revisions 35 and 36
Revision 35 as of 2009-04-01 13:25:26
Size: 7693
Editor: yttrium
Comment: resummarize
Revision 36 as of 2009-04-01 16:08:15
Size: 8047
Editor: yttrium
Comment: + OpenPrinting printer drivers
Deletions are marked like this. Additions are marked like this.
Line 121: Line 121:
 * [[http://www.linuxfoundation.org/en/OpenPrinting/Database/DriverPackages|OpenPrinting]]: “To make installing printer drivers not provided by the Linux distributions easier for users, and to make providing printer drivers easier for the printer manufacturers, we have introduced a new concept of distribution-independent printer driver packages.”
  • Launchpad entry: software-library

  • Created: 2005-08-29 by MatthewPaulThomas

  • Packages affected: aptoncd, gdebi, gnome-app-install, synaptic, system-cleaner, system-cleaner-gtk, update-manager

Summary

AppCenter is the codename for a single graphical interface for package management in Ubuntu. (The final name will be dependent on user testing of which is most understandable.) This will combining the power of Synaptic, the human-readable approach of Add/Remove Programs, and the ease of use of Update Manager. Having a single interface will make handling software easier, socially improve security, hopefully free space on the CD, and provide a prominent showcase for Ubuntu and partner software. The implementation might be based on Add/Remove Programs, Synaptic, or packagekit-gnome, whichever allows for quickest development and best performance.

The design process will involve many iterations, but this is a mockup of one possible design:

software-library.png

software-updates.png

Rationale

In Ubuntu there are at least four graphical tools promoted for software management. For installing and uninstalling programs that have a .desktop file, you can use synaptic or gnome-app-install, though the latter warns you to use Synaptic instead "for more complicated needs". For installing and uninstalling programs that don't have a .desktop file, you must use synaptic. For installing downloaded .deb packages, you use gdebi. For installing updates, you can use synaptic or update-manager, but the latter instructs you to run synaptic if it encounters conflicts. And for removing no-longer-needed software, you use system-cleaner-gtk.

This redundancy causes people to encounter multiple interfaces for the same tasks, wastes space on the Ubuntu CD, and divides development effort. And having multiple sanctioned graphical methods of installing software makes people more likely to think that unsanctioned methods (such as Ultamatix or third-party Web sites) are also safe, when they are not.

Instead, there should be one awesome tool for general software management, with an obvious name and an interface your grandmother can use.

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

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

Desired attributes

  • Queuing: browsing and selecting software while other operations are taking place.
  • Parallelism: Unpacking (and maybe even installing?) the first downloaded package while the second is downloading.
  • Reading about updates while they are installing.
  • Using PolicyKit to install/uninstall/etc, but not needing authorization to update package lists.

Use cases

  • Joel wants to install Skype. He goes to skype.com, finds the "Download for Ubuntu" button, and clicks it. He doesn't know what a repository is.

  • Melatie runs an accounting business that is far too small to have its own IT manager. She has a support contract for the Ubuntu software on the office PCs, and she knows that this doesn’t cover all the available software, so she wants to keep track of exactly what software is installed that isn’t covered.
  • Sam is a college student who has recently migrated from to Windows XP to Ubuntu because he was fed up with adult sites installing spyware on his computer. The reason he had so much trouble with spyware was that XP kept on popping up balloons in the corner of the screen to tell him about security updates, but he closed them because that was the easiest thing to do. A few weeks after he installs Ubuntu, there is an important security update to Firefox.
  • Ladina works as a developer at a molecular biology lab where she is not a sysadmin. She is having a bit of trouble with Biopython, and wants an easy way of seeing which version of python-biopython is installed and where its files are.

  • Helen is happily using Ubuntu 10.04 when 10.10 is released, and she’s not confident about upgrading. What will the upgrade do, she wonders. How much will it cost? Will she lose any of her files?

Roadmap

Version 1.0: Be awesome enough to replace Synaptic and Add/Remove Applications, and to be promoted as a primary feature of Ubuntu.

Version 2.0: Subsume Update Manager.

Version 3.0: Incorporate ratings and reviews.

Version 4.0: Subsume gdebi and system-cleaner.

Version 5.0: Subsume aptoncd.

Design

Invocation

  • direct
  • apt: links
  • codec search
  • font search

Window layout

Software Library should have three panes, like an e-mail program: the sources pane, the package/program list, and the package/program pane. There should also be a menu bar, a bar at the top containing filter/search controls, and a bar at the bottom containing summary info and an action button.

...

Braindump

  • Dynamically filtered view of programs or packages:

    Show: [Programs installable    :^]    Containing: [______________]
  • Menu choices are:
    • Programs available (default when invoked manually)
    • Programs already installed
    • Packages available
    • Packages installed
    • Security updates (search field replaced by "Updates available" text)
    • All updates
    • Changes to be made
  • Items in the list have iconic pull-down menus that look like menus, not checkboxes.
  • Recommendations and suggestions are shown as children of an item in the list (recommendations selected by default, suggestions not).
  • Multi-level undo.
  • Updates are aggregated by source package, with packages hidden inside an expander.

Implementation

Code

Data preservation and migration

Unresolved issues

  • Screenshots?
  • UserReviewsInSynaptic

  • Need to make clear which packages are
    • currently subject to CVE vulnerabilities
  • Linux's dirty little secret

  • Appnr

  • OpenPrinting: “To make installing printer drivers not provided by the Linux distributions easier for users, and to make providing printer drivers easier for the printer manufacturers, we have introduced a new concept of distribution-independent printer driver packages.”

Comments / Miscellaneous

SoftwareCenter (last edited 2019-04-28 16:57:10 by mpt)